From aeeb35c787fdf2fc18bb63289a0694ca0bd1a81a Mon Sep 17 00:00:00 2001 From: Harnish Chavda <118714680+harnish-elastic@users.noreply.github.com> Date: Thu, 22 Aug 2024 12:56:39 +0530 Subject: [PATCH 01/33] [O11y][Prometheus] Revert changes of TSDB performance and storage reduction (#10766) * Revert changes of TSDB performance and storage reduction * update changelog.yml * elastic-package check * Update packages/prometheus/changelog.yml Co-authored-by: Agi K Thomas <101976829+agithomas@users.noreply.github.com> * address review comments * generate system tests * address review comments --------- Co-authored-by: Agi K Thomas <101976829+agithomas@users.noreply.github.com> --- packages/prometheus/changelog.yml | 5 + .../elasticsearch/ingest_pipeline/default.yml | 14 ++ .../data_stream/collector/fields/fields.yml | 5 +- .../data_stream/collector/sample_event.json | 71 +++++++-- .../elasticsearch/ingest_pipeline/default.yml | 4 + .../data_stream/query/fields/fields.yml | 5 +- .../data_stream/query/sample_event.json | 58 ++++++-- .../elasticsearch/ingest_pipeline/default.yml | 4 +- .../remote_write/fields/fields.yml | 5 +- packages/prometheus/docs/README.md | 138 +++++++++++++----- packages/prometheus/manifest.yml | 2 +- 11 files changed, 238 insertions(+), 73 deletions(-) create mode 100644 packages/prometheus/data_stream/collector/elasticsearch/ingest_pipeline/default.yml diff --git a/packages/prometheus/changelog.yml b/packages/prometheus/changelog.yml index 99d2bb36271..ea6d0bc00bd 100644 --- a/packages/prometheus/changelog.yml +++ b/packages/prometheus/changelog.yml @@ -1,4 +1,9 @@ # newer versions go on top +- version: "1.18.1" + changes: + - description: Add a dimension field with a fingerprint value applied over Prometheus label values to avoid document drop. + type: bugfix + link: https://github.com/elastic/integrations/pull/10766 - version: "1.18.0" changes: - description: ECS version updated to 8.11.0. Update the kibana constraint to ^8.14.0. Modified the field definitions to remove ECS fields made redundant by the ecs@mappings component template. diff --git a/packages/prometheus/data_stream/collector/elasticsearch/ingest_pipeline/default.yml b/packages/prometheus/data_stream/collector/elasticsearch/ingest_pipeline/default.yml new file mode 100644 index 00000000000..f66d3178675 --- /dev/null +++ b/packages/prometheus/data_stream/collector/elasticsearch/ingest_pipeline/default.yml @@ -0,0 +1,14 @@ +--- +description: Pipeline for processing Prometheus collector metrics. +processors: + - fingerprint: + fields: ["prometheus.labels"] + target_field: "prometheus.labels_fingerprint" + ignore_missing: true +on_failure: + - set: + field: event.kind + value: pipeline_error + - append: + field: error.message + value: '{{{ _ingest.on_failure_message }}}' \ No newline at end of file diff --git a/packages/prometheus/data_stream/collector/fields/fields.yml b/packages/prometheus/data_stream/collector/fields/fields.yml index 4311cfb1f91..b44f4a6f28c 100644 --- a/packages/prometheus/data_stream/collector/fields/fields.yml +++ b/packages/prometheus/data_stream/collector/fields/fields.yml @@ -5,7 +5,10 @@ type: keyword dimension: true description: | - Prometheus metric labels + Prometheus metric labels. + - name: labels_fingerprint + type: keyword + description: Autogenerated ID representing the fingerprint of labels object and includes query name. - name: prometheus.metrics.* type: object object_type: double diff --git a/packages/prometheus/data_stream/collector/sample_event.json b/packages/prometheus/data_stream/collector/sample_event.json index c0517b600ea..7153f3e1c3e 100644 --- a/packages/prometheus/data_stream/collector/sample_event.json +++ b/packages/prometheus/data_stream/collector/sample_event.json @@ -1,43 +1,82 @@ { - "@timestamp": "2022-09-21T13:53:53.737Z", + "@timestamp": "2024-08-20T08:38:11.185Z", + "agent": { + "ephemeral_id": "b9fad797-a22c-47be-b2f4-44c0a89b6c25", + "id": "9822f27e-ae7c-4cee-98af-094356f8bf91", + "name": "elastic-agent-35087", + "type": "metricbeat", + "version": "8.14.0" + }, "data_stream": { "dataset": "prometheus.collector", - "namespace": "default", + "namespace": "52976", "type": "metrics" }, "ecs": { - "version": "8.11.0" + "version": "8.0.0" }, "elastic_agent": { - "id": "68e3d23a-08cd-4477-924b-25f491194aba", - "snapshot": true, - "version": "8.4.0" + "id": "9822f27e-ae7c-4cee-98af-094356f8bf91", + "snapshot": false, + "version": "8.14.0" }, "event": { "agent_id_status": "verified", "dataset": "prometheus.collector", - "duration": 10509824, - "ingested": "2022-09-21T13:53:54Z", + "duration": 1958134070, + "ingested": "2024-08-20T08:38:13Z", "module": "prometheus" }, - "host": {}, + "host": { + "architecture": "x86_64", + "containerized": true, + "hostname": "elastic-agent-35087", + "id": "345c85cf1fe945e2b19719b370c09a48", + "ip": [ + "192.168.241.8", + "192.168.242.2" + ], + "mac": [ + "02-42-C0-A8-F1-08", + "02-42-C0-A8-F2-02" + ], + "name": "elastic-agent-35087", + "os": { + "codename": "focal", + "family": "debian", + "kernel": "5.4.0-189-generic", + "name": "Ubuntu", + "platform": "ubuntu", + "type": "linux", + "version": "20.04.6 LTS (Focal Fossa)" + } + }, "metricset": { "name": "collector", "period": 10000 }, "prometheus": { "labels": { - "instance": "prometheus-server-server:80", - "job": "prometheus", - "quantile": "0.5", - "scrape_job": "kubernetes-services" + "dialer_name": "alertmanager", + "instance": "svc-prometheus:9090", + "job": "prometheus" + }, + "labels_fingerprint": "jn10I8M3W8CSQq1v0nbhVyegvgQ=", + "net_conntrack_dialer_conn_attempted_total": { + "counter": 0, + "rate": 0 + }, + "net_conntrack_dialer_conn_closed_total": { + "counter": 0, + "rate": 0 }, - "prometheus_target_sync_length_seconds": { - "value": 0.000103602 + "net_conntrack_dialer_conn_established_total": { + "counter": 0, + "rate": 0 } }, "service": { - "address": "http://prometheus-server-server:80/metrics", + "address": "http://svc-prometheus:9090/metrics", "type": "prometheus" } } \ No newline at end of file diff --git a/packages/prometheus/data_stream/query/elasticsearch/ingest_pipeline/default.yml b/packages/prometheus/data_stream/query/elasticsearch/ingest_pipeline/default.yml index 8da5588e974..4be76fe0ec4 100644 --- a/packages/prometheus/data_stream/query/elasticsearch/ingest_pipeline/default.yml +++ b/packages/prometheus/data_stream/query/elasticsearch/ingest_pipeline/default.yml @@ -8,6 +8,10 @@ processors: field: "prometheus.labels.query_name" value: "{{_ingest._key}}" description: Add query_name as a label to cover cases, when query returns a single value with no labels + - fingerprint: + fields: ["prometheus.labels"] + target_field: "prometheus.labels_fingerprint" + ignore_missing: true on_failure: - set: field: event.kind diff --git a/packages/prometheus/data_stream/query/fields/fields.yml b/packages/prometheus/data_stream/query/fields/fields.yml index 4c55309af12..24c80d6f77e 100644 --- a/packages/prometheus/data_stream/query/fields/fields.yml +++ b/packages/prometheus/data_stream/query/fields/fields.yml @@ -5,7 +5,10 @@ type: keyword dimension: true description: | - Prometheus metric labels + Prometheus metric labels. + - name: labels_fingerprint + type: keyword + description: Autogenerated ID representing the fingerprint of labels object and includes query name. - name: prometheus.query.* type: object object_type: double diff --git a/packages/prometheus/data_stream/query/sample_event.json b/packages/prometheus/data_stream/query/sample_event.json index 0c95e1dd107..a9886d7888d 100644 --- a/packages/prometheus/data_stream/query/sample_event.json +++ b/packages/prometheus/data_stream/query/sample_event.json @@ -1,45 +1,71 @@ { - "@timestamp": "2022-09-21T14:06:49.000Z", + "@timestamp": "2024-08-20T08:39:07.000Z", "agent": { - "ephemeral_id": "63ab98c3-c4ae-4a30-84f9-9a2d7f459728", - "id": "68e3d23a-08cd-4477-924b-25f491194aba", - "name": "kind-control-plane", + "ephemeral_id": "cc18c40d-dcb8-4192-aede-e988d68c376c", + "id": "842b000b-c1bd-4608-bbd8-2a1849afc2f5", + "name": "elastic-agent-31805", "type": "metricbeat", - "version": "8.4.0" + "version": "8.14.0" }, "data_stream": { "dataset": "prometheus.query", - "namespace": "default", + "namespace": "54564", "type": "metrics" }, "ecs": { - "version": "8.11.0" + "version": "8.0.0" }, "elastic_agent": { - "id": "68e3d23a-08cd-4477-924b-25f491194aba", - "snapshot": true, - "version": "8.4.0" + "id": "842b000b-c1bd-4608-bbd8-2a1849afc2f5", + "snapshot": false, + "version": "8.14.0" }, "event": { "agent_id_status": "verified", "dataset": "prometheus.query", - "duration": 1153570, - "ingested": "2022-09-21T14:06:50Z", + "duration": 6078736, + "ingested": "2024-08-20T08:39:10Z", "module": "prometheus" }, - "host": {}, + "host": { + "architecture": "x86_64", + "containerized": true, + "hostname": "elastic-agent-31805", + "id": "345c85cf1fe945e2b19719b370c09a48", + "ip": [ + "192.168.241.8", + "192.168.242.2" + ], + "mac": [ + "02-42-C0-A8-F1-08", + "02-42-C0-A8-F2-02" + ], + "name": "elastic-agent-31805", + "os": { + "codename": "focal", + "family": "debian", + "kernel": "5.4.0-189-generic", + "name": "Ubuntu", + "platform": "ubuntu", + "type": "linux", + "version": "20.04.6 LTS (Focal Fossa)" + } + }, "metricset": { "name": "query", "period": 10000 }, "prometheus": { - "labels": {}, + "labels": { + "query_name": "scalar" + }, + "labels_fingerprint": "uE8iX47vrW1H38mLYMD73p8/CcA=", "query": { - "instant_vector": 0.7838951248394681 + "scalar": 100 } }, "service": { - "address": "http://prometheus-server-server:80", + "address": "http://svc-prometheus:9090", "type": "prometheus" } } \ No newline at end of file diff --git a/packages/prometheus/data_stream/remote_write/elasticsearch/ingest_pipeline/default.yml b/packages/prometheus/data_stream/remote_write/elasticsearch/ingest_pipeline/default.yml index 5fc1f8b4738..1cf77307100 100644 --- a/packages/prometheus/data_stream/remote_write/elasticsearch/ingest_pipeline/default.yml +++ b/packages/prometheus/data_stream/remote_write/elasticsearch/ingest_pipeline/default.yml @@ -23,8 +23,8 @@ processors: value: ["{{_ingest._key}}"] description: Add all keys of the 'prometheus' object to the earlier created field, it includes all metric names and key "labels" - fingerprint: - fields: ["prometheus.labels.metrics_names"] - target_field: "prometheus.metrics_names_fingerprint" + fields: ["prometheus.labels"] + target_field: "prometheus.labels_fingerprint" ignore_missing: true - remove: field: "prometheus.labels.metrics_names" diff --git a/packages/prometheus/data_stream/remote_write/fields/fields.yml b/packages/prometheus/data_stream/remote_write/fields/fields.yml index 04bac4803d4..bb4fb9eb19e 100644 --- a/packages/prometheus/data_stream/remote_write/fields/fields.yml +++ b/packages/prometheus/data_stream/remote_write/fields/fields.yml @@ -5,7 +5,10 @@ type: keyword dimension: true description: | - Prometheus metric labels + Prometheus metric labels. + - name: labels_fingerprint + type: keyword + description: Autogenerated ID representing the fingerprint of labels object and includes query name. - name: metrics_names_fingerprint type: keyword dimension: true diff --git a/packages/prometheus/docs/README.md b/packages/prometheus/docs/README.md index 111d50799ca..2c9affe1ed8 100644 --- a/packages/prometheus/docs/README.md +++ b/packages/prometheus/docs/README.md @@ -131,45 +131,84 @@ An example event for `collector` looks as following: ```json { - "@timestamp": "2022-09-21T13:53:53.737Z", + "@timestamp": "2024-08-20T08:38:11.185Z", + "agent": { + "ephemeral_id": "b9fad797-a22c-47be-b2f4-44c0a89b6c25", + "id": "9822f27e-ae7c-4cee-98af-094356f8bf91", + "name": "elastic-agent-35087", + "type": "metricbeat", + "version": "8.14.0" + }, "data_stream": { "dataset": "prometheus.collector", - "namespace": "default", + "namespace": "52976", "type": "metrics" }, "ecs": { - "version": "8.11.0" + "version": "8.0.0" }, "elastic_agent": { - "id": "68e3d23a-08cd-4477-924b-25f491194aba", - "snapshot": true, - "version": "8.4.0" + "id": "9822f27e-ae7c-4cee-98af-094356f8bf91", + "snapshot": false, + "version": "8.14.0" }, "event": { "agent_id_status": "verified", "dataset": "prometheus.collector", - "duration": 10509824, - "ingested": "2022-09-21T13:53:54Z", + "duration": 1958134070, + "ingested": "2024-08-20T08:38:13Z", "module": "prometheus" }, - "host": {}, + "host": { + "architecture": "x86_64", + "containerized": true, + "hostname": "elastic-agent-35087", + "id": "345c85cf1fe945e2b19719b370c09a48", + "ip": [ + "192.168.241.8", + "192.168.242.2" + ], + "mac": [ + "02-42-C0-A8-F1-08", + "02-42-C0-A8-F2-02" + ], + "name": "elastic-agent-35087", + "os": { + "codename": "focal", + "family": "debian", + "kernel": "5.4.0-189-generic", + "name": "Ubuntu", + "platform": "ubuntu", + "type": "linux", + "version": "20.04.6 LTS (Focal Fossa)" + } + }, "metricset": { "name": "collector", "period": 10000 }, "prometheus": { "labels": { - "instance": "prometheus-server-server:80", - "job": "prometheus", - "quantile": "0.5", - "scrape_job": "kubernetes-services" + "dialer_name": "alertmanager", + "instance": "svc-prometheus:9090", + "job": "prometheus" + }, + "labels_fingerprint": "jn10I8M3W8CSQq1v0nbhVyegvgQ=", + "net_conntrack_dialer_conn_attempted_total": { + "counter": 0, + "rate": 0 + }, + "net_conntrack_dialer_conn_closed_total": { + "counter": 0, + "rate": 0 }, - "prometheus_target_sync_length_seconds": { - "value": 0.000103602 + "net_conntrack_dialer_conn_established_total": { + "counter": 0, + "rate": 0 } }, "service": { - "address": "http://prometheus-server-server:80/metrics", + "address": "http://svc-prometheus:9090/metrics", "type": "prometheus" } } @@ -206,7 +245,8 @@ Please refer to the following [document](https://www.elastic.co/guide/en/ecs/cur | prometheus.\*.histogram | Prometheus histogram metric | object | | | prometheus.\*.rate | Prometheus rated counter metric | object | gauge | | prometheus.\*.value | Prometheus gauge metric | object | gauge | -| prometheus.labels.\* | Prometheus metric labels | keyword | | +| prometheus.labels.\* | Prometheus metric labels. | keyword | | +| prometheus.labels_fingerprint | Autogenerated ID representing the fingerprint of labels object and includes query name. | keyword | | | prometheus.metrics.\* | Prometheus metric | object | gauge | | service.address | Address where data about this service was collected from. This should be a URI, network address (ipv4:port or [ipv6]:port) or a resource path (sockets). | keyword | | @@ -401,7 +441,8 @@ Please refer to the following [document](https://www.elastic.co/guide/en/ecs/cur | prometheus.\*.histogram | Prometheus histogram metric | object | | | prometheus.\*.rate | Prometheus rated counter metric | object | gauge | | prometheus.\*.value | Prometheus gauge metric | object | gauge | -| prometheus.labels.\* | Prometheus metric labels | keyword | | +| prometheus.labels.\* | Prometheus metric labels. | keyword | | +| prometheus.labels_fingerprint | Autogenerated ID representing the fingerprint of labels object and includes query name. | keyword | | | prometheus.metrics.\* | Prometheus metric | object | gauge | | prometheus.metrics_names_fingerprint | Autogenerated ID representing the fingerprint of the list of metrics names | keyword | | @@ -532,47 +573,73 @@ An example event for `query` looks as following: ```json { - "@timestamp": "2022-09-21T14:06:49.000Z", + "@timestamp": "2024-08-20T08:39:07.000Z", "agent": { - "ephemeral_id": "63ab98c3-c4ae-4a30-84f9-9a2d7f459728", - "id": "68e3d23a-08cd-4477-924b-25f491194aba", - "name": "kind-control-plane", + "ephemeral_id": "cc18c40d-dcb8-4192-aede-e988d68c376c", + "id": "842b000b-c1bd-4608-bbd8-2a1849afc2f5", + "name": "elastic-agent-31805", "type": "metricbeat", - "version": "8.4.0" + "version": "8.14.0" }, "data_stream": { "dataset": "prometheus.query", - "namespace": "default", + "namespace": "54564", "type": "metrics" }, "ecs": { - "version": "8.11.0" + "version": "8.0.0" }, "elastic_agent": { - "id": "68e3d23a-08cd-4477-924b-25f491194aba", - "snapshot": true, - "version": "8.4.0" + "id": "842b000b-c1bd-4608-bbd8-2a1849afc2f5", + "snapshot": false, + "version": "8.14.0" }, "event": { "agent_id_status": "verified", "dataset": "prometheus.query", - "duration": 1153570, - "ingested": "2022-09-21T14:06:50Z", + "duration": 6078736, + "ingested": "2024-08-20T08:39:10Z", "module": "prometheus" }, - "host": {}, + "host": { + "architecture": "x86_64", + "containerized": true, + "hostname": "elastic-agent-31805", + "id": "345c85cf1fe945e2b19719b370c09a48", + "ip": [ + "192.168.241.8", + "192.168.242.2" + ], + "mac": [ + "02-42-C0-A8-F1-08", + "02-42-C0-A8-F2-02" + ], + "name": "elastic-agent-31805", + "os": { + "codename": "focal", + "family": "debian", + "kernel": "5.4.0-189-generic", + "name": "Ubuntu", + "platform": "ubuntu", + "type": "linux", + "version": "20.04.6 LTS (Focal Fossa)" + } + }, "metricset": { "name": "query", "period": 10000 }, "prometheus": { - "labels": {}, + "labels": { + "query_name": "scalar" + }, + "labels_fingerprint": "uE8iX47vrW1H38mLYMD73p8/CcA=", "query": { - "instant_vector": 0.7838951248394681 + "scalar": 100 } }, "service": { - "address": "http://prometheus-server-server:80", + "address": "http://svc-prometheus:9090", "type": "prometheus" } } @@ -605,7 +672,8 @@ Please refer to the following [document](https://www.elastic.co/guide/en/ecs/cur | host.name | Name of the host. It can contain what `hostname` returns on Unix systems, the fully qualified domain name, or a name specified by the user. The sender decides which value to use. | keyword | | | host.os.build | OS build information. | keyword | | | host.os.codename | OS codename, if any. | keyword | | -| prometheus.labels.\* | Prometheus metric labels | keyword | | +| prometheus.labels.\* | Prometheus metric labels. | keyword | | +| prometheus.labels_fingerprint | Autogenerated ID representing the fingerprint of labels object and includes query name. | keyword | | | prometheus.query.\* | Prometheus value resulted from PromQL | object | gauge | | service.address | Address where data about this service was collected from. This should be a URI, network address (ipv4:port or [ipv6]:port) or a resource path (sockets). | keyword | | diff --git a/packages/prometheus/manifest.yml b/packages/prometheus/manifest.yml index 81c9042108d..073a5e6888a 100644 --- a/packages/prometheus/manifest.yml +++ b/packages/prometheus/manifest.yml @@ -1,7 +1,7 @@ format_version: 2.10.0 name: prometheus title: Prometheus -version: 1.18.0 +version: 1.18.1 description: Collect metrics from Prometheus servers with Elastic Agent. type: integration categories: From 19c6a25bcfa01c460cb82a8b552c9558f3c0c5c8 Mon Sep 17 00:00:00 2001 From: Dan Kortschak Date: Thu, 22 Aug 2024 20:38:25 +0930 Subject: [PATCH 02/33] proofpoint_tap: set default search period to one day (#10796) --- packages/proofpoint_tap/changelog.yml | 5 + ...-3ad578f0-b5a6-11ec-a9d0-e94ed15a14b9.json | 217 ++++++++--- ...-770903b0-b5aa-11ec-a9d0-e94ed15a14b9.json | 217 ++++++++--- ...-9899aae0-b5ad-11ec-a9d0-e94ed15a14b9.json | 338 +++++++++++++----- ...-ee5bc100-b5c8-11ec-a9d0-e94ed15a14b9.json | 294 ++++++++++----- ...-00dd5660-af9b-11ec-bf43-c372803d141d.json | 15 +- ...-717803c0-b130-11ec-8e58-3fc548a48fe4.json | 15 +- ...ofpoint_tap-security-solution-default.json | 14 + packages/proofpoint_tap/manifest.yml | 2 +- 9 files changed, 813 insertions(+), 304 deletions(-) create mode 100644 packages/proofpoint_tap/kibana/tag/proofpoint_tap-security-solution-default.json diff --git a/packages/proofpoint_tap/changelog.yml b/packages/proofpoint_tap/changelog.yml index edcb4a22309..418611a6986 100644 --- a/packages/proofpoint_tap/changelog.yml +++ b/packages/proofpoint_tap/changelog.yml @@ -1,4 +1,9 @@ # newer versions go on top +- version: "1.23.0" + changes: + - description: Set default search period to one day. + type: enhancement + link: https://github.com/elastic/integrations/pull/10796 - version: "1.22.0" changes: - description: Update the kibana constraint to ^8.13.0. Modified the field definitions to remove ECS fields made redundant by the ecs@mappings component template. diff --git a/packages/proofpoint_tap/kibana/dashboard/proofpoint_tap-3ad578f0-b5a6-11ec-a9d0-e94ed15a14b9.json b/packages/proofpoint_tap/kibana/dashboard/proofpoint_tap-3ad578f0-b5a6-11ec-a9d0-e94ed15a14b9.json index 1121fef50bf..6278be503ce 100644 --- a/packages/proofpoint_tap/kibana/dashboard/proofpoint_tap-3ad578f0-b5a6-11ec-a9d0-e94ed15a14b9.json +++ b/packages/proofpoint_tap/kibana/dashboard/proofpoint_tap-3ad578f0-b5a6-11ec-a9d0-e94ed15a14b9.json @@ -1,7 +1,6 @@ { "attributes": { "description": "", - "hits": 0, "kibanaSavedObjectMeta": { "searchSourceJSON": { "filter": [ @@ -36,6 +35,8 @@ "optionsJSON": { "hidePanelTitles": false, "syncColors": false, + "syncCursor": true, + "syncTooltips": false, "useMargins": true }, "panelsJSON": [ @@ -52,8 +53,7 @@ }, "panelIndex": "aa104adb-fbc4-4019-9fda-9f1ca4886d64", "panelRefName": "panel_aa104adb-fbc4-4019-9fda-9f1ca4886d64", - "type": "search", - "version": "7.17.0" + "type": "search" }, { "embeddableConfig": { @@ -73,7 +73,7 @@ ], "state": { "datasourceStates": { - "indexpattern": { + "formBased": { "layers": { "4ff0e011-970a-4b60-9158-962f4e89fbbe": { "columnOrder": [ @@ -87,7 +87,7 @@ "label": "Total Clicks", "operationType": "count", "scale": "ratio", - "sourceField": "Records" + "sourceField": "___records___" } }, "incompleteColumns": {} @@ -103,12 +103,15 @@ "visualization": { "accessor": "dc762ac8-6645-45a7-ba44-b3fbd0309338", "layerId": "4ff0e011-970a-4b60-9158-962f4e89fbbe", - "layerType": "data" + "layerType": "data", + "size": "xl", + "textAlign": "center", + "titlePosition": "bottom" } }, "title": "Count of Clicks [Logs Proofpoint TAP]", "type": "lens", - "visualizationType": "lnsMetric" + "visualizationType": "lnsLegacyMetric" }, "enhancements": {}, "hidePanelTitles": false @@ -122,8 +125,7 @@ }, "panelIndex": "39f0263c-ab86-416a-8048-83d13edbdbab", "title": "Count of Clicks [Logs Proofpoint TAP]", - "type": "lens", - "version": "7.17.0" + "type": "lens" }, { "embeddableConfig": { @@ -143,7 +145,7 @@ ], "state": { "datasourceStates": { - "indexpattern": { + "formBased": { "layers": { "09466534-a461-4fbb-850b-fba8df6b7c37": { "columnOrder": [ @@ -174,7 +176,7 @@ "label": "Part of count()", "operationType": "count", "scale": "ratio", - "sourceField": "Records" + "sourceField": "___records___" }, "caef084e-7dca-43d6-8538-a2806796463e": { "customLabel": true, @@ -210,15 +212,18 @@ "layers": [ { "categoryDisplay": "default", - "groups": [ - "caef084e-7dca-43d6-8538-a2806796463e" - ], "layerId": "09466534-a461-4fbb-850b-fba8df6b7c37", "layerType": "data", "legendDisplay": "default", - "metric": "8c76f7ef-0d3f-4558-8835-17fa53443a49", + "legendSize": "auto", + "metrics": [ + "8c76f7ef-0d3f-4558-8835-17fa53443a49" + ], "nestedLegend": false, - "numberDisplay": "percent" + "numberDisplay": "percent", + "primaryGroups": [ + "caef084e-7dca-43d6-8538-a2806796463e" + ] } ], "shape": "pie" @@ -240,8 +245,7 @@ }, "panelIndex": "d6f150e5-a82f-453c-867a-3c0f40ba826b", "title": "Distribution of Blocked Clicks by Classification [Logs Proofpoint TAP]", - "type": "lens", - "version": "7.17.0" + "type": "lens" }, { "embeddableConfig": { @@ -261,7 +265,7 @@ ], "state": { "datasourceStates": { - "indexpattern": { + "formBased": { "layers": { "062ab937-584b-4266-b89a-e0965350fd15": { "columnOrder": [ @@ -295,7 +299,7 @@ "label": "Count", "operationType": "count", "scale": "ratio", - "sourceField": "Records" + "sourceField": "___records___" } }, "incompleteColumns": {} @@ -320,7 +324,9 @@ } ], "layerId": "062ab937-584b-4266-b89a-e0965350fd15", - "layerType": "data" + "layerType": "data", + "rowHeight": "single", + "rowHeightLines": 1 } }, "title": "Top 10 Malicious URL [Logs Proofpoint TAP]", @@ -337,8 +343,7 @@ "y": 15 }, "panelIndex": "b921de2f-edd5-4539-bb51-c94c5ddf4541", - "type": "lens", - "version": "7.17.0" + "type": "lens" }, { "embeddableConfig": { @@ -358,7 +363,7 @@ ], "state": { "datasourceStates": { - "indexpattern": { + "formBased": { "layers": { "ec2f7bac-2077-4709-9d52-3ae3c0a582de": { "columnOrder": [ @@ -392,7 +397,7 @@ "label": "Count", "operationType": "count", "scale": "ratio", - "sourceField": "Records" + "sourceField": "___records___" } }, "incompleteColumns": {} @@ -417,7 +422,9 @@ } ], "layerId": "ec2f7bac-2077-4709-9d52-3ae3c0a582de", - "layerType": "data" + "layerType": "data", + "rowHeight": "single", + "rowHeightLines": 1 } }, "title": "Top 10 Recipient [Logs Proofpoint TAP]", @@ -434,8 +441,7 @@ "y": 15 }, "panelIndex": "4240bdb9-8306-43fe-8b7a-815e70e28fec", - "type": "lens", - "version": "7.17.0" + "type": "lens" }, { "embeddableConfig": { @@ -455,7 +461,7 @@ ], "state": { "datasourceStates": { - "indexpattern": { + "formBased": { "layers": { "f7d425df-4f7d-4e18-993d-b8a10cdffe22": { "columnOrder": [ @@ -489,7 +495,7 @@ "label": "Count", "operationType": "count", "scale": "ratio", - "sourceField": "Records" + "sourceField": "___records___" } }, "incompleteColumns": {} @@ -506,15 +512,18 @@ "layers": [ { "categoryDisplay": "default", - "groups": [ - "967f19a8-3944-4a64-a05f-037bcf1f238c" - ], "layerId": "f7d425df-4f7d-4e18-993d-b8a10cdffe22", "layerType": "data", "legendDisplay": "default", - "metric": "ea922d0b-14cf-4625-b038-71d6a627f340", + "legendSize": "auto", + "metrics": [ + "ea922d0b-14cf-4625-b038-71d6a627f340" + ], "nestedLegend": false, - "numberDisplay": "percent" + "numberDisplay": "percent", + "primaryGroups": [ + "967f19a8-3944-4a64-a05f-037bcf1f238c" + ] } ], "shape": "pie" @@ -534,8 +543,7 @@ "y": 30 }, "panelIndex": "37d32a2d-1d55-4da8-a1f0-4d5ad81c0f89", - "type": "lens", - "version": "7.17.0" + "type": "lens" }, { "embeddableConfig": { @@ -555,7 +563,7 @@ ], "state": { "datasourceStates": { - "indexpattern": { + "formBased": { "layers": { "4080ef48-91f4-4339-a059-fa6a9d0fcce8": { "columnOrder": [ @@ -589,7 +597,7 @@ "label": "Count", "operationType": "count", "scale": "ratio", - "sourceField": "Records" + "sourceField": "___records___" } }, "incompleteColumns": {} @@ -614,7 +622,9 @@ } ], "layerId": "4080ef48-91f4-4339-a059-fa6a9d0fcce8", - "layerType": "data" + "layerType": "data", + "rowHeight": "single", + "rowHeightLines": 1 } }, "title": "Top 10 Click IP [Logs Proofpoint TAP]", @@ -631,17 +641,114 @@ "y": 30 }, "panelIndex": "3afffe1a-ab24-4a60-bb83-1973840a6b89", - "type": "lens", - "version": "7.17.0" + "type": "lens" }, { "embeddableConfig": { "attributes": { "description": "", - "layerListJSON": "[{\"alpha\":1,\"id\":\"1d744b4f-b6df-4195-bfea-8e64340b7da1\",\"includeInFitToBounds\":true,\"label\":null,\"maxZoom\":24,\"minZoom\":0,\"sourceDescriptor\":{\"isAutoSelect\":true,\"type\":\"EMS_TMS\"},\"style\":{\"type\":\"TILE\"},\"type\":\"VECTOR_TILE\",\"visible\":true},{\"alpha\":0.75,\"id\":\"48984da5-6c09-4c75-86d5-b9c1791d120d\",\"includeInFitToBounds\":true,\"label\":\"Clicks\",\"maxZoom\":24,\"minZoom\":0,\"sourceDescriptor\":{\"applyForceRefresh\":true,\"applyGlobalQuery\":true,\"applyGlobalTime\":true,\"geoField\":\"destination.geo.location\",\"id\":\"35e48033-3f9a-4228-98be-980fff6c70a1\",\"metrics\":[{\"label\":\"Count\",\"type\":\"count\"}],\"requestType\":\"heatmap\",\"resolution\":\"COARSE\",\"type\":\"ES_GEO_GRID\",\"indexPatternId\":\"logs-*\"},\"style\":{\"colorRampName\":\"theclassic\",\"type\":\"HEATMAP\"},\"type\":\"HEATMAP\",\"visible\":true}]", - "mapStateJSON": "{\"zoom\":1.14,\"center\":{\"lon\":18.18583,\"lat\":51.78838},\"timeFilters\":{\"from\":\"now-1y/d\",\"to\":\"now\"},\"refreshConfig\":{\"isPaused\":true,\"interval\":0},\"query\":{\"language\":\"kuery\",\"query\":\"\"},\"filters\":[],\"settings\":{\"autoFitToDataBounds\":false,\"backgroundColor\":\"#ffffff\",\"disableInteractive\":false,\"disableTooltipControl\":false,\"hideToolbarOverlay\":false,\"hideLayerControl\":false,\"hideViewControl\":false,\"initialLocation\":\"LAST_SAVED_LOCATION\",\"fixedLocation\":{\"lat\":0,\"lon\":0,\"zoom\":2},\"browserLocation\":{\"zoom\":2},\"maxZoom\":24,\"minZoom\":0,\"showScaleControl\":false,\"showSpatialFilters\":true,\"showTimesliderToggleButton\":true,\"spatialFiltersAlpa\":0.3,\"spatialFiltersFillColor\":\"#DA8B45\",\"spatialFiltersLineColor\":\"#DA8B45\"}}", + "layerListJSON": [ + { + "alpha": 1, + "id": "1d744b4f-b6df-4195-bfea-8e64340b7da1", + "includeInFitToBounds": true, + "label": null, + "maxZoom": 24, + "minZoom": 0, + "sourceDescriptor": { + "isAutoSelect": true, + "lightModeDefault": "road_map", + "type": "EMS_TMS" + }, + "style": { + "type": "TILE" + }, + "type": "EMS_VECTOR_TILE", + "visible": true + }, + { + "alpha": 0.75, + "id": "48984da5-6c09-4c75-86d5-b9c1791d120d", + "includeInFitToBounds": true, + "label": "Clicks", + "maxZoom": 24, + "minZoom": 0, + "sourceDescriptor": { + "applyForceRefresh": true, + "applyGlobalQuery": true, + "applyGlobalTime": true, + "geoField": "destination.geo.location", + "id": "35e48033-3f9a-4228-98be-980fff6c70a1", + "indexPatternRefName": "layer_1_source_index_pattern", + "metrics": [ + { + "label": "Count", + "type": "count" + } + ], + "requestType": "heatmap", + "resolution": "COARSE", + "type": "ES_GEO_GRID" + }, + "style": { + "colorRampName": "theclassic", + "type": "HEATMAP" + }, + "type": "HEATMAP", + "visible": true + } + ], + "mapStateJSON": { + "center": { + "lat": 51.78838, + "lon": 18.18583 + }, + "filters": [], + "query": { + "language": "kuery", + "query": "" + }, + "refreshConfig": { + "interval": 0, + "isPaused": true + }, + "settings": { + "autoFitToDataBounds": false, + "backgroundColor": "#ffffff", + "browserLocation": { + "zoom": 2 + }, + "disableInteractive": false, + "disableTooltipControl": false, + "fixedLocation": { + "lat": 0, + "lon": 0, + "zoom": 2 + }, + "hideLayerControl": false, + "hideToolbarOverlay": false, + "hideViewControl": false, + "initialLocation": "LAST_SAVED_LOCATION", + "maxZoom": 24, + "minZoom": 0, + "showScaleControl": false, + "showSpatialFilters": true, + "showTimesliderToggleButton": true, + "spatialFiltersAlpa": 0.3, + "spatialFiltersFillColor": "#DA8B45", + "spatialFiltersLineColor": "#DA8B45" + }, + "timeFilters": { + "from": "now-1y/d", + "to": "now" + }, + "zoom": 1.14 + }, "title": "Clicks on URL by Region [Logs Proofpoint TAP]", - "uiStateJSON": "{\"isLayerTOCOpen\":true,\"openTOCDetails\":[]}" + "uiStateJSON": { + "isLayerTOCOpen": true, + "openTOCDetails": [] + } }, "enhancements": {}, "hiddenLayers": [], @@ -667,25 +774,23 @@ "y": 45 }, "panelIndex": "2e6e0f5d-6968-46c7-9ccf-d0324b2e467f", - "type": "map", - "version": "7.17.0" + "type": "map" } ], "refreshInterval": { "pause": true, "value": 0 }, - "timeFrom": "now-1y/d", + "timeFrom": "now-1d", "timeRestore": true, "timeTo": "now", "title": "[Logs Proofpoint TAP] Blocked Clicks", "version": 1 }, - "coreMigrationVersion": "7.17.0", + "coreMigrationVersion": "8.8.0", + "created_at": "2024-08-14T21:57:43.474Z", "id": "proofpoint_tap-3ad578f0-b5a6-11ec-a9d0-e94ed15a14b9", - "migrationVersion": { - "dashboard": "7.17.0" - }, + "managed": false, "references": [ { "id": "logs-*", @@ -761,7 +866,13 @@ "id": "logs-*", "name": "2e6e0f5d-6968-46c7-9ccf-d0324b2e467f:layer_1_source_index_pattern", "type": "index-pattern" + }, + { + "id": "proofpoint_tap-security-solution-default", + "name": "tag-ref-security-solution-default", + "type": "tag" } ], - "type": "dashboard" + "type": "dashboard", + "typeMigrationVersion": "8.9.0" } \ No newline at end of file diff --git a/packages/proofpoint_tap/kibana/dashboard/proofpoint_tap-770903b0-b5aa-11ec-a9d0-e94ed15a14b9.json b/packages/proofpoint_tap/kibana/dashboard/proofpoint_tap-770903b0-b5aa-11ec-a9d0-e94ed15a14b9.json index 81785a12998..e44cf48235f 100644 --- a/packages/proofpoint_tap/kibana/dashboard/proofpoint_tap-770903b0-b5aa-11ec-a9d0-e94ed15a14b9.json +++ b/packages/proofpoint_tap/kibana/dashboard/proofpoint_tap-770903b0-b5aa-11ec-a9d0-e94ed15a14b9.json @@ -1,7 +1,6 @@ { "attributes": { "description": "", - "hits": 0, "kibanaSavedObjectMeta": { "searchSourceJSON": { "filter": [ @@ -36,6 +35,8 @@ "optionsJSON": { "hidePanelTitles": false, "syncColors": false, + "syncCursor": true, + "syncTooltips": false, "useMargins": true }, "panelsJSON": [ @@ -52,8 +53,7 @@ }, "panelIndex": "7fe02808-920c-4356-a052-d449b2e57ed5", "panelRefName": "panel_7fe02808-920c-4356-a052-d449b2e57ed5", - "type": "search", - "version": "7.17.0" + "type": "search" }, { "embeddableConfig": { @@ -73,7 +73,7 @@ ], "state": { "datasourceStates": { - "indexpattern": { + "formBased": { "layers": { "4ff0e011-970a-4b60-9158-962f4e89fbbe": { "columnOrder": [ @@ -87,7 +87,7 @@ "label": "Total Clicks", "operationType": "count", "scale": "ratio", - "sourceField": "Records" + "sourceField": "___records___" } }, "incompleteColumns": {} @@ -103,12 +103,15 @@ "visualization": { "accessor": "dc762ac8-6645-45a7-ba44-b3fbd0309338", "layerId": "4ff0e011-970a-4b60-9158-962f4e89fbbe", - "layerType": "data" + "layerType": "data", + "size": "xl", + "textAlign": "center", + "titlePosition": "bottom" } }, "title": "Count of Clicks [Logs Proofpoint TAP]", "type": "lens", - "visualizationType": "lnsMetric" + "visualizationType": "lnsLegacyMetric" }, "enhancements": {} }, @@ -120,8 +123,7 @@ "y": 0 }, "panelIndex": "2d93f439-bff8-4e48-b469-fca11e18ba81", - "type": "lens", - "version": "7.17.0" + "type": "lens" }, { "embeddableConfig": { @@ -141,7 +143,7 @@ ], "state": { "datasourceStates": { - "indexpattern": { + "formBased": { "layers": { "1c93261b-da1f-4d85-aaaf-3457bdcc6ff4": { "columnOrder": [ @@ -156,7 +158,7 @@ "label": "Count", "operationType": "count", "scale": "ratio", - "sourceField": "Records" + "sourceField": "___records___" }, "f13e79eb-00ed-4e68-98b5-b5c927055fec": { "customLabel": true, @@ -192,15 +194,18 @@ "layers": [ { "categoryDisplay": "default", - "groups": [ - "f13e79eb-00ed-4e68-98b5-b5c927055fec" - ], "layerId": "1c93261b-da1f-4d85-aaaf-3457bdcc6ff4", "layerType": "data", "legendDisplay": "default", - "metric": "0466e119-38e8-4d0a-a48f-9b2e7a89d213", + "legendSize": "auto", + "metrics": [ + "0466e119-38e8-4d0a-a48f-9b2e7a89d213" + ], "nestedLegend": false, - "numberDisplay": "percent" + "numberDisplay": "percent", + "primaryGroups": [ + "f13e79eb-00ed-4e68-98b5-b5c927055fec" + ] } ], "shape": "pie" @@ -220,8 +225,7 @@ "y": 0 }, "panelIndex": "05a16b7a-9e32-4398-b547-b44ba5dd1572", - "type": "lens", - "version": "7.17.0" + "type": "lens" }, { "embeddableConfig": { @@ -241,7 +245,7 @@ ], "state": { "datasourceStates": { - "indexpattern": { + "formBased": { "layers": { "c4191f86-9c54-4a06-a3dd-842b3ef7c241": { "columnOrder": [ @@ -256,7 +260,7 @@ "label": "Count", "operationType": "count", "scale": "ratio", - "sourceField": "Records" + "sourceField": "___records___" }, "a3e04efb-2f37-464b-a6f2-23c0e19d790d": { "customLabel": true, @@ -292,15 +296,18 @@ "layers": [ { "categoryDisplay": "default", - "groups": [ - "a3e04efb-2f37-464b-a6f2-23c0e19d790d" - ], "layerId": "c4191f86-9c54-4a06-a3dd-842b3ef7c241", "layerType": "data", "legendDisplay": "default", - "metric": "40a5f8c4-9eb3-4dcf-8520-acdb820944df", + "legendSize": "auto", + "metrics": [ + "40a5f8c4-9eb3-4dcf-8520-acdb820944df" + ], "nestedLegend": false, - "numberDisplay": "percent" + "numberDisplay": "percent", + "primaryGroups": [ + "a3e04efb-2f37-464b-a6f2-23c0e19d790d" + ] } ], "shape": "pie" @@ -320,8 +327,7 @@ "y": 15 }, "panelIndex": "771e46d7-ce5c-4c0d-81b2-841e283abf2c", - "type": "lens", - "version": "7.17.0" + "type": "lens" }, { "embeddableConfig": { @@ -341,7 +347,7 @@ ], "state": { "datasourceStates": { - "indexpattern": { + "formBased": { "layers": { "062ab937-584b-4266-b89a-e0965350fd15": { "columnOrder": [ @@ -375,7 +381,7 @@ "label": "Count", "operationType": "count", "scale": "ratio", - "sourceField": "Records" + "sourceField": "___records___" } }, "incompleteColumns": {} @@ -400,7 +406,9 @@ } ], "layerId": "062ab937-584b-4266-b89a-e0965350fd15", - "layerType": "data" + "layerType": "data", + "rowHeight": "single", + "rowHeightLines": 1 } }, "title": "Top 10 Malicious URL [Logs Proofpoint TAP]", @@ -417,8 +425,7 @@ "y": 30 }, "panelIndex": "08dc3a8e-380f-4998-b83f-2791b6b8a4a5", - "type": "lens", - "version": "7.17.0" + "type": "lens" }, { "embeddableConfig": { @@ -438,7 +445,7 @@ ], "state": { "datasourceStates": { - "indexpattern": { + "formBased": { "layers": { "ec2f7bac-2077-4709-9d52-3ae3c0a582de": { "columnOrder": [ @@ -472,7 +479,7 @@ "label": "Count", "operationType": "count", "scale": "ratio", - "sourceField": "Records" + "sourceField": "___records___" } }, "incompleteColumns": {} @@ -497,7 +504,9 @@ } ], "layerId": "ec2f7bac-2077-4709-9d52-3ae3c0a582de", - "layerType": "data" + "layerType": "data", + "rowHeight": "single", + "rowHeightLines": 1 } }, "title": "Top 10 Recipient [Logs Proofpoint TAP]", @@ -514,8 +523,7 @@ "y": 15 }, "panelIndex": "85ab74a3-eb94-47f2-9592-6654f540d9d5", - "type": "lens", - "version": "7.17.0" + "type": "lens" }, { "embeddableConfig": { @@ -535,7 +543,7 @@ ], "state": { "datasourceStates": { - "indexpattern": { + "formBased": { "layers": { "4080ef48-91f4-4339-a059-fa6a9d0fcce8": { "columnOrder": [ @@ -569,7 +577,7 @@ "label": "Count", "operationType": "count", "scale": "ratio", - "sourceField": "Records" + "sourceField": "___records___" } }, "incompleteColumns": {} @@ -594,7 +602,9 @@ } ], "layerId": "4080ef48-91f4-4339-a059-fa6a9d0fcce8", - "layerType": "data" + "layerType": "data", + "rowHeight": "single", + "rowHeightLines": 1 } }, "title": "Top 10 Click IP [Logs Proofpoint TAP]", @@ -611,17 +621,114 @@ "y": 30 }, "panelIndex": "bae14c77-2488-49e8-87e1-f60be58b1ad9", - "type": "lens", - "version": "7.17.0" + "type": "lens" }, { "embeddableConfig": { "attributes": { "description": "", - "layerListJSON": "[{\"alpha\":1,\"id\":\"1d744b4f-b6df-4195-bfea-8e64340b7da1\",\"includeInFitToBounds\":true,\"label\":null,\"maxZoom\":24,\"minZoom\":0,\"sourceDescriptor\":{\"isAutoSelect\":true,\"type\":\"EMS_TMS\"},\"style\":{\"type\":\"TILE\"},\"type\":\"VECTOR_TILE\",\"visible\":true},{\"alpha\":0.75,\"id\":\"48984da5-6c09-4c75-86d5-b9c1791d120d\",\"includeInFitToBounds\":true,\"label\":\"Clicks\",\"maxZoom\":24,\"minZoom\":0,\"sourceDescriptor\":{\"applyForceRefresh\":true,\"applyGlobalQuery\":true,\"applyGlobalTime\":true,\"geoField\":\"destination.geo.location\",\"id\":\"35e48033-3f9a-4228-98be-980fff6c70a1\",\"metrics\":[{\"label\":\"Count\",\"type\":\"count\"}],\"requestType\":\"heatmap\",\"resolution\":\"COARSE\",\"type\":\"ES_GEO_GRID\",\"indexPatternId\":\"logs-*\"},\"style\":{\"colorRampName\":\"theclassic\",\"type\":\"HEATMAP\"},\"type\":\"HEATMAP\",\"visible\":true}]", - "mapStateJSON": "{\"zoom\":1.14,\"center\":{\"lon\":0,\"lat\":19.94277},\"timeFilters\":{\"from\":\"now-1y/d\",\"to\":\"now\"},\"refreshConfig\":{\"isPaused\":true,\"interval\":0},\"query\":{\"language\":\"kuery\",\"query\":\"\"},\"filters\":[],\"settings\":{\"autoFitToDataBounds\":false,\"backgroundColor\":\"#ffffff\",\"disableInteractive\":false,\"disableTooltipControl\":false,\"hideToolbarOverlay\":false,\"hideLayerControl\":false,\"hideViewControl\":false,\"initialLocation\":\"LAST_SAVED_LOCATION\",\"fixedLocation\":{\"lat\":0,\"lon\":0,\"zoom\":2},\"browserLocation\":{\"zoom\":2},\"maxZoom\":24,\"minZoom\":0,\"showScaleControl\":false,\"showSpatialFilters\":true,\"showTimesliderToggleButton\":true,\"spatialFiltersAlpa\":0.3,\"spatialFiltersFillColor\":\"#DA8B45\",\"spatialFiltersLineColor\":\"#DA8B45\"}}", + "layerListJSON": [ + { + "alpha": 1, + "id": "1d744b4f-b6df-4195-bfea-8e64340b7da1", + "includeInFitToBounds": true, + "label": null, + "maxZoom": 24, + "minZoom": 0, + "sourceDescriptor": { + "isAutoSelect": true, + "lightModeDefault": "road_map", + "type": "EMS_TMS" + }, + "style": { + "type": "TILE" + }, + "type": "EMS_VECTOR_TILE", + "visible": true + }, + { + "alpha": 0.75, + "id": "48984da5-6c09-4c75-86d5-b9c1791d120d", + "includeInFitToBounds": true, + "label": "Clicks", + "maxZoom": 24, + "minZoom": 0, + "sourceDescriptor": { + "applyForceRefresh": true, + "applyGlobalQuery": true, + "applyGlobalTime": true, + "geoField": "destination.geo.location", + "id": "35e48033-3f9a-4228-98be-980fff6c70a1", + "indexPatternRefName": "layer_1_source_index_pattern", + "metrics": [ + { + "label": "Count", + "type": "count" + } + ], + "requestType": "heatmap", + "resolution": "COARSE", + "type": "ES_GEO_GRID" + }, + "style": { + "colorRampName": "theclassic", + "type": "HEATMAP" + }, + "type": "HEATMAP", + "visible": true + } + ], + "mapStateJSON": { + "center": { + "lat": 19.94277, + "lon": 0 + }, + "filters": [], + "query": { + "language": "kuery", + "query": "" + }, + "refreshConfig": { + "interval": 0, + "isPaused": true + }, + "settings": { + "autoFitToDataBounds": false, + "backgroundColor": "#ffffff", + "browserLocation": { + "zoom": 2 + }, + "disableInteractive": false, + "disableTooltipControl": false, + "fixedLocation": { + "lat": 0, + "lon": 0, + "zoom": 2 + }, + "hideLayerControl": false, + "hideToolbarOverlay": false, + "hideViewControl": false, + "initialLocation": "LAST_SAVED_LOCATION", + "maxZoom": 24, + "minZoom": 0, + "showScaleControl": false, + "showSpatialFilters": true, + "showTimesliderToggleButton": true, + "spatialFiltersAlpa": 0.3, + "spatialFiltersFillColor": "#DA8B45", + "spatialFiltersLineColor": "#DA8B45" + }, + "timeFilters": { + "from": "now-1y/d", + "to": "now" + }, + "zoom": 1.14 + }, "title": "Clicks on URL by Region [Logs Proofpoint TAP]", - "uiStateJSON": "{\"isLayerTOCOpen\":true,\"openTOCDetails\":[]}" + "uiStateJSON": { + "isLayerTOCOpen": true, + "openTOCDetails": [] + } }, "enhancements": {}, "hiddenLayers": [], @@ -647,25 +754,23 @@ "y": 45 }, "panelIndex": "b4c89de9-9f07-4261-8fd5-554b89dbb714", - "type": "map", - "version": "7.17.0" + "type": "map" } ], "refreshInterval": { "pause": true, "value": 0 }, - "timeFrom": "now-1y/d", + "timeFrom": "now-1d", "timeRestore": true, "timeTo": "now", "title": "[Logs Proofpoint TAP] Permitted Clicks", "version": 1 }, - "coreMigrationVersion": "7.17.0", + "coreMigrationVersion": "8.8.0", + "created_at": "2024-08-14T21:57:34.320Z", "id": "proofpoint_tap-770903b0-b5aa-11ec-a9d0-e94ed15a14b9", - "migrationVersion": { - "dashboard": "7.17.0" - }, + "managed": false, "references": [ { "id": "logs-*", @@ -741,7 +846,13 @@ "id": "logs-*", "name": "b4c89de9-9f07-4261-8fd5-554b89dbb714:layer_1_source_index_pattern", "type": "index-pattern" + }, + { + "id": "proofpoint_tap-security-solution-default", + "name": "tag-ref-security-solution-default", + "type": "tag" } ], - "type": "dashboard" + "type": "dashboard", + "typeMigrationVersion": "8.9.0" } \ No newline at end of file diff --git a/packages/proofpoint_tap/kibana/dashboard/proofpoint_tap-9899aae0-b5ad-11ec-a9d0-e94ed15a14b9.json b/packages/proofpoint_tap/kibana/dashboard/proofpoint_tap-9899aae0-b5ad-11ec-a9d0-e94ed15a14b9.json index debbfd7a038..32760e91d65 100644 --- a/packages/proofpoint_tap/kibana/dashboard/proofpoint_tap-9899aae0-b5ad-11ec-a9d0-e94ed15a14b9.json +++ b/packages/proofpoint_tap/kibana/dashboard/proofpoint_tap-9899aae0-b5ad-11ec-a9d0-e94ed15a14b9.json @@ -1,7 +1,6 @@ { "attributes": { "description": "", - "hits": 0, "kibanaSavedObjectMeta": { "searchSourceJSON": { "filter": [ @@ -36,6 +35,8 @@ "optionsJSON": { "hidePanelTitles": false, "syncColors": false, + "syncCursor": true, + "syncTooltips": false, "useMargins": true }, "panelsJSON": [ @@ -52,8 +53,7 @@ }, "panelIndex": "e5247373-1ae6-403b-89b5-93281d642883", "panelRefName": "panel_e5247373-1ae6-403b-89b5-93281d642883", - "type": "search", - "version": "7.17.0" + "type": "search" }, { "embeddableConfig": { @@ -73,7 +73,7 @@ ], "state": { "datasourceStates": { - "indexpattern": { + "formBased": { "layers": { "66e9770d-b676-49a0-b502-b3cf64aae59d": { "columnOrder": [ @@ -87,7 +87,7 @@ "label": "Total Messages", "operationType": "count", "scale": "ratio", - "sourceField": "Records" + "sourceField": "___records___" } }, "incompleteColumns": {} @@ -103,12 +103,15 @@ "visualization": { "accessor": "7afa9eab-9e68-42c1-a5f8-7891197560e2", "layerId": "66e9770d-b676-49a0-b502-b3cf64aae59d", - "layerType": "data" + "layerType": "data", + "size": "xl", + "textAlign": "center", + "titlePosition": "bottom" } }, "title": "Count of Messages [Logs Proofpoint TAP]", "type": "lens", - "visualizationType": "lnsMetric" + "visualizationType": "lnsLegacyMetric" }, "enhancements": {} }, @@ -120,8 +123,7 @@ "y": 0 }, "panelIndex": "2cfc095d-92da-4512-bf45-21f3a7508129", - "type": "lens", - "version": "7.17.0" + "type": "lens" }, { "embeddableConfig": { @@ -141,7 +143,7 @@ ], "state": { "datasourceStates": { - "indexpattern": { + "formBased": { "layers": { "e7630b81-f809-4d49-b269-1788bdbdf649": { "columnOrder": [ @@ -175,7 +177,7 @@ "label": "Count", "operationType": "count", "scale": "ratio", - "sourceField": "Records" + "sourceField": "___records___" } }, "incompleteColumns": {} @@ -200,7 +202,9 @@ } ], "layerId": "e7630b81-f809-4d49-b269-1788bdbdf649", - "layerType": "data" + "layerType": "data", + "rowHeight": "single", + "rowHeightLines": 1 } }, "title": "Top 10 Sender IP [Logs Proofpoint TAP]", @@ -217,8 +221,7 @@ "y": 0 }, "panelIndex": "efdb9e8c-8541-401c-acc6-767c1a637db4", - "type": "lens", - "version": "7.17.0" + "type": "lens" }, { "embeddableConfig": { @@ -238,7 +241,7 @@ ], "state": { "datasourceStates": { - "indexpattern": { + "formBased": { "layers": { "402e61cc-9dba-466f-9269-27b48dd2e4a1": { "columnOrder": [ @@ -253,7 +256,7 @@ "label": "Count", "operationType": "count", "scale": "ratio", - "sourceField": "Records" + "sourceField": "___records___" }, "d1076744-9ca0-4908-a16f-ef349e2cd32a": { "customLabel": true, @@ -289,15 +292,18 @@ "layers": [ { "categoryDisplay": "default", - "groups": [ - "d1076744-9ca0-4908-a16f-ef349e2cd32a" - ], "layerId": "402e61cc-9dba-466f-9269-27b48dd2e4a1", "layerType": "data", "legendDisplay": "default", - "metric": "9b3ba2ba-191d-4e9b-bf2c-ebaf2c43e241", + "legendSize": "auto", + "metrics": [ + "9b3ba2ba-191d-4e9b-bf2c-ebaf2c43e241" + ], "nestedLegend": false, - "numberDisplay": "percent" + "numberDisplay": "percent", + "primaryGroups": [ + "d1076744-9ca0-4908-a16f-ef349e2cd32a" + ] } ], "shape": "pie" @@ -317,8 +323,7 @@ "y": 15 }, "panelIndex": "637266a0-908f-40ee-aa10-55569e7cbd29", - "type": "lens", - "version": "7.17.0" + "type": "lens" }, { "embeddableConfig": { @@ -338,7 +343,7 @@ ], "state": { "datasourceStates": { - "indexpattern": { + "formBased": { "layers": { "a0987be1-b682-412e-8d46-a4ad00e985c1": { "columnOrder": [ @@ -372,7 +377,7 @@ "label": "Count", "operationType": "count", "scale": "ratio", - "sourceField": "Records" + "sourceField": "___records___" } }, "incompleteColumns": {} @@ -389,15 +394,18 @@ "layers": [ { "categoryDisplay": "default", - "groups": [ - "74697bb2-b72f-4b6e-b651-06f50ef31467" - ], "layerId": "a0987be1-b682-412e-8d46-a4ad00e985c1", "layerType": "data", "legendDisplay": "default", - "metric": "87ce1993-56c0-4458-9cb1-ae12af5a629a", + "legendSize": "auto", + "metrics": [ + "87ce1993-56c0-4458-9cb1-ae12af5a629a" + ], "nestedLegend": false, - "numberDisplay": "percent" + "numberDisplay": "percent", + "primaryGroups": [ + "74697bb2-b72f-4b6e-b651-06f50ef31467" + ] } ], "shape": "pie" @@ -417,8 +425,7 @@ "y": 15 }, "panelIndex": "3e565fd9-f29d-41b5-a084-7393d29028d9", - "type": "lens", - "version": "7.17.0" + "type": "lens" }, { "embeddableConfig": { @@ -438,7 +445,7 @@ ], "state": { "datasourceStates": { - "indexpattern": { + "formBased": { "layers": { "ec2f7bac-2077-4709-9d52-3ae3c0a582de": { "columnOrder": [ @@ -472,7 +479,7 @@ "label": "Count", "operationType": "count", "scale": "ratio", - "sourceField": "Records" + "sourceField": "___records___" } }, "incompleteColumns": {} @@ -497,7 +504,9 @@ } ], "layerId": "ec2f7bac-2077-4709-9d52-3ae3c0a582de", - "layerType": "data" + "layerType": "data", + "rowHeight": "single", + "rowHeightLines": 1 } }, "title": "Top 10 Recipient [Logs Proofpoint TAP]", @@ -514,8 +523,7 @@ "y": 30 }, "panelIndex": "2371e369-c82c-4443-bbf5-9d2b119fb9e9", - "type": "lens", - "version": "7.17.0" + "type": "lens" }, { "embeddableConfig": { @@ -535,7 +543,7 @@ ], "state": { "datasourceStates": { - "indexpattern": { + "formBased": { "layers": { "e327fec5-d799-4b3f-acfc-32c1ecaac682": { "columnOrder": [ @@ -550,7 +558,7 @@ "label": "Count", "operationType": "count", "scale": "ratio", - "sourceField": "Records" + "sourceField": "___records___" }, "f096fb9b-5208-4f47-b5a5-0ad3de754fda": { "customLabel": true, @@ -586,15 +594,18 @@ "layers": [ { "categoryDisplay": "default", - "groups": [ - "f096fb9b-5208-4f47-b5a5-0ad3de754fda" - ], "layerId": "e327fec5-d799-4b3f-acfc-32c1ecaac682", "layerType": "data", "legendDisplay": "default", - "metric": "8b4a490d-a36c-4a6a-86b0-7dea7d28c2c8", + "legendSize": "auto", + "metrics": [ + "8b4a490d-a36c-4a6a-86b0-7dea7d28c2c8" + ], "nestedLegend": false, - "numberDisplay": "percent" + "numberDisplay": "percent", + "primaryGroups": [ + "f096fb9b-5208-4f47-b5a5-0ad3de754fda" + ] } ], "shape": "pie" @@ -614,8 +625,7 @@ "y": 30 }, "panelIndex": "a3d367ee-91bb-421d-b6fc-27daabd46a54", - "type": "lens", - "version": "7.17.0" + "type": "lens" }, { "embeddableConfig": { @@ -635,7 +645,7 @@ ], "state": { "datasourceStates": { - "indexpattern": { + "formBased": { "layers": { "f2e404cb-ffef-4218-a7d7-20a1972f7fe5": { "columnOrder": [ @@ -669,7 +679,7 @@ "label": "Count", "operationType": "count", "scale": "ratio", - "sourceField": "Records" + "sourceField": "___records___" } }, "incompleteColumns": {} @@ -686,15 +696,18 @@ "layers": [ { "categoryDisplay": "default", - "groups": [ - "86527e47-1073-45bd-8f35-657f4d277b62" - ], "layerId": "f2e404cb-ffef-4218-a7d7-20a1972f7fe5", "layerType": "data", "legendDisplay": "default", - "metric": "f40e0576-52c6-4c09-8b8e-446699fed30e", + "legendSize": "auto", + "metrics": [ + "f40e0576-52c6-4c09-8b8e-446699fed30e" + ], "nestedLegend": false, - "numberDisplay": "percent" + "numberDisplay": "percent", + "primaryGroups": [ + "86527e47-1073-45bd-8f35-657f4d277b62" + ] } ], "shape": "pie" @@ -714,8 +727,7 @@ "y": 45 }, "panelIndex": "3a258b28-29d4-4719-a65e-db1153b954fc", - "type": "lens", - "version": "7.17.0" + "type": "lens" }, { "embeddableConfig": { @@ -735,7 +747,7 @@ ], "state": { "datasourceStates": { - "indexpattern": { + "formBased": { "layers": { "01c9ddee-f668-4ee5-8bb6-98e74d2e1439": { "columnOrder": [ @@ -750,7 +762,7 @@ "label": "Count", "operationType": "count", "scale": "ratio", - "sourceField": "Records" + "sourceField": "___records___" }, "7d6f8989-f0ce-4a9c-b24e-42c9ad42431d": { "customLabel": true, @@ -786,15 +798,18 @@ "layers": [ { "categoryDisplay": "default", - "groups": [ - "7d6f8989-f0ce-4a9c-b24e-42c9ad42431d" - ], "layerId": "01c9ddee-f668-4ee5-8bb6-98e74d2e1439", "layerType": "data", "legendDisplay": "default", - "metric": "47666138-8fdd-4735-9a26-d5586276afe9", + "legendSize": "auto", + "metrics": [ + "47666138-8fdd-4735-9a26-d5586276afe9" + ], "nestedLegend": false, - "numberDisplay": "percent" + "numberDisplay": "percent", + "primaryGroups": [ + "7d6f8989-f0ce-4a9c-b24e-42c9ad42431d" + ] } ], "shape": "pie" @@ -814,8 +829,7 @@ "y": 45 }, "panelIndex": "850608eb-ca33-452f-a129-c4719224c52f", - "type": "lens", - "version": "7.17.0" + "type": "lens" }, { "embeddableConfig": { @@ -835,7 +849,7 @@ ], "state": { "datasourceStates": { - "indexpattern": { + "formBased": { "layers": { "b71a1c6d-1b9f-4b5f-ad26-7de6a5601691": { "columnOrder": [ @@ -869,7 +883,7 @@ "label": "Count", "operationType": "count", "scale": "ratio", - "sourceField": "Records" + "sourceField": "___records___" } }, "incompleteColumns": {} @@ -886,15 +900,18 @@ "layers": [ { "categoryDisplay": "default", - "groups": [ - "73dab922-14a4-4c5c-a297-9873a91dad59" - ], "layerId": "b71a1c6d-1b9f-4b5f-ad26-7de6a5601691", "layerType": "data", "legendDisplay": "default", - "metric": "b12333e5-b88d-4a3e-96bb-467efc2745b5", + "legendSize": "auto", + "metrics": [ + "b12333e5-b88d-4a3e-96bb-467efc2745b5" + ], "nestedLegend": false, - "numberDisplay": "percent" + "numberDisplay": "percent", + "primaryGroups": [ + "73dab922-14a4-4c5c-a297-9873a91dad59" + ] } ], "shape": "pie" @@ -914,8 +931,7 @@ "y": 60 }, "panelIndex": "c9517aa1-8122-434d-b93d-719030617688", - "type": "lens", - "version": "7.17.0" + "type": "lens" }, { "embeddableConfig": { @@ -935,7 +951,7 @@ ], "state": { "datasourceStates": { - "indexpattern": { + "formBased": { "layers": { "657c0ea2-d756-4c8e-8638-4a2cf8a00bad": { "columnOrder": [ @@ -969,7 +985,7 @@ "label": "Count", "operationType": "count", "scale": "ratio", - "sourceField": "Records" + "sourceField": "___records___" } }, "incompleteColumns": {} @@ -1012,6 +1028,7 @@ ], "legend": { "isVisible": true, + "legendSize": "auto", "position": "right" }, "preferredSeriesType": "bar", @@ -1043,8 +1060,7 @@ "y": 60 }, "panelIndex": "6b458dd4-988b-44d1-bd30-1bfadd99712b", - "type": "lens", - "version": "7.17.0" + "type": "lens" }, { "embeddableConfig": { @@ -1064,7 +1080,7 @@ ], "state": { "datasourceStates": { - "indexpattern": { + "formBased": { "layers": { "8bc257b1-f278-4281-b618-12892df43c90": { "columnOrder": [ @@ -1079,7 +1095,7 @@ "label": "Count", "operationType": "count", "scale": "ratio", - "sourceField": "Records" + "sourceField": "___records___" }, "bd52eba0-e079-4b31-b053-d6d8e519b21d": { "customLabel": true, @@ -1127,6 +1143,7 @@ ], "legend": { "isVisible": true, + "legendSize": "auto", "position": "right" }, "preferredSeriesType": "bar", @@ -1154,8 +1171,7 @@ "y": 75 }, "panelIndex": "91bf4cc9-d875-476b-afa9-353e6a6115d2", - "type": "lens", - "version": "7.17.0" + "type": "lens" }, { "embeddableConfig": { @@ -1175,7 +1191,7 @@ ], "state": { "datasourceStates": { - "indexpattern": { + "formBased": { "layers": { "4b31f83f-2fc1-4509-8a5b-0c80eea8c627": { "columnOrder": [ @@ -1209,7 +1225,7 @@ "label": "Count", "operationType": "count", "scale": "ratio", - "sourceField": "Records" + "sourceField": "___records___" } }, "incompleteColumns": {} @@ -1254,6 +1270,7 @@ ], "legend": { "isVisible": true, + "legendSize": "auto", "position": "right" }, "preferredSeriesType": "bar", @@ -1285,31 +1302,150 @@ "y": 75 }, "panelIndex": "f8ff2974-b1e9-4a81-a5af-8f5d6d13abce", - "type": "lens", - "version": "7.17.0" + "type": "lens" }, { "embeddableConfig": { "attributes": { "description": "", - "layerListJSON": "[{\"alpha\":1,\"id\":\"c6a42104-e390-4c56-8ef8-5bd774773e72\",\"includeInFitToBounds\":true,\"label\":null,\"maxZoom\":24,\"minZoom\":0,\"sourceDescriptor\":{\"isAutoSelect\":true,\"type\":\"EMS_TMS\"},\"style\":{\"type\":\"TILE\"},\"type\":\"VECTOR_TILE\",\"visible\":true},{\"alpha\":0.75,\"id\":\"f8e2c82c-56b8-425d-a79d-ab24baf35f89\",\"includeInFitToBounds\":true,\"label\":\"Sender\",\"maxZoom\":24,\"minZoom\":0,\"sourceDescriptor\":{\"applyForceRefresh\":true,\"applyGlobalQuery\":true,\"applyGlobalTime\":true,\"geoField\":\"source.geo.location\",\"id\":\"ce99667c-f3a0-4d3c-b0d0-6e6ba88f1a9e\",\"metrics\":[{\"label\":\"Count\",\"type\":\"count\"}],\"requestType\":\"heatmap\",\"resolution\":\"COARSE\",\"type\":\"ES_GEO_GRID\",\"indexPatternId\":\"logs-*\"},\"style\":{\"colorRampName\":\"theclassic\",\"type\":\"HEATMAP\"},\"type\":\"HEATMAP\",\"visible\":true}]", - "mapStateJSON": "{\"zoom\":0.63,\"center\":{\"lon\":96.98463,\"lat\":0},\"timeFilters\":{\"from\":\"now-1y/d\",\"to\":\"now\"},\"refreshConfig\":{\"isPaused\":true,\"interval\":0},\"query\":{\"language\":\"kuery\",\"query\":\"\"},\"filters\":[{\"meta\":{\"index\":\"logs-*\",\"alias\":null,\"negate\":false,\"disabled\":false,\"type\":\"phrase\",\"key\":\"data_stream.dataset\",\"params\":{\"query\":\"proofpoint_tap.message_blocked\"}},\"query\":{\"match_phrase\":{\"data_stream.dataset\":\"proofpoint_tap.message_blocked\"}},\"$state\":{\"store\":\"appState\"}}],\"settings\":{\"autoFitToDataBounds\":false,\"backgroundColor\":\"#ffffff\",\"disableInteractive\":false,\"disableTooltipControl\":false,\"hideToolbarOverlay\":false,\"hideLayerControl\":false,\"hideViewControl\":false,\"initialLocation\":\"LAST_SAVED_LOCATION\",\"fixedLocation\":{\"lat\":0,\"lon\":0,\"zoom\":2},\"browserLocation\":{\"zoom\":2},\"maxZoom\":24,\"minZoom\":0,\"showScaleControl\":false,\"showSpatialFilters\":true,\"showTimesliderToggleButton\":true,\"spatialFiltersAlpa\":0.3,\"spatialFiltersFillColor\":\"#DA8B45\",\"spatialFiltersLineColor\":\"#DA8B45\"}}", + "layerListJSON": [ + { + "alpha": 1, + "id": "c6a42104-e390-4c56-8ef8-5bd774773e72", + "includeInFitToBounds": true, + "label": null, + "maxZoom": 24, + "minZoom": 0, + "sourceDescriptor": { + "isAutoSelect": true, + "lightModeDefault": "road_map", + "type": "EMS_TMS" + }, + "style": { + "type": "TILE" + }, + "type": "EMS_VECTOR_TILE", + "visible": true + }, + { + "alpha": 0.75, + "id": "f8e2c82c-56b8-425d-a79d-ab24baf35f89", + "includeInFitToBounds": true, + "label": "Sender", + "maxZoom": 24, + "minZoom": 0, + "sourceDescriptor": { + "applyForceRefresh": true, + "applyGlobalQuery": true, + "applyGlobalTime": true, + "geoField": "source.geo.location", + "id": "ce99667c-f3a0-4d3c-b0d0-6e6ba88f1a9e", + "indexPatternRefName": "layer_1_source_index_pattern", + "metrics": [ + { + "label": "Count", + "type": "count" + } + ], + "requestType": "heatmap", + "resolution": "COARSE", + "type": "ES_GEO_GRID" + }, + "style": { + "colorRampName": "theclassic", + "type": "HEATMAP" + }, + "type": "HEATMAP", + "visible": true + } + ], + "mapStateJSON": { + "center": { + "lat": 0, + "lon": 96.98463 + }, + "filters": [ + { + "$state": { + "store": "appState" + }, + "meta": { + "alias": null, + "disabled": false, + "index": "logs-*", + "key": "data_stream.dataset", + "negate": false, + "params": { + "query": "proofpoint_tap.message_blocked" + }, + "type": "phrase" + }, + "query": { + "match_phrase": { + "data_stream.dataset": "proofpoint_tap.message_blocked" + } + } + } + ], + "query": { + "language": "kuery", + "query": "" + }, + "refreshConfig": { + "interval": 0, + "isPaused": true + }, + "settings": { + "autoFitToDataBounds": false, + "backgroundColor": "#ffffff", + "browserLocation": { + "zoom": 2 + }, + "disableInteractive": false, + "disableTooltipControl": false, + "fixedLocation": { + "lat": 0, + "lon": 0, + "zoom": 2 + }, + "hideLayerControl": false, + "hideToolbarOverlay": false, + "hideViewControl": false, + "initialLocation": "LAST_SAVED_LOCATION", + "maxZoom": 24, + "minZoom": 0, + "showScaleControl": false, + "showSpatialFilters": true, + "showTimesliderToggleButton": true, + "spatialFiltersAlpa": 0.3, + "spatialFiltersFillColor": "#DA8B45", + "spatialFiltersLineColor": "#DA8B45" + }, + "timeFilters": { + "from": "now-1y/d", + "to": "now" + }, + "zoom": 0.63 + }, "title": "Sender of Messages by Region [Logs Proofpoint TAP]", - "uiStateJSON": "{\"isLayerTOCOpen\":true,\"openTOCDetails\":[]}" + "uiStateJSON": { + "isLayerTOCOpen": true, + "openTOCDetails": [] + } }, "enhancements": {}, "hiddenLayers": [], "isLayerTOCOpen": true, "mapBuffer": { - "maxLat": 89.78601, + "maxLat": 85.05113, "maxLon": 720, - "minLat": -89.78601, + "minLat": -85.05113, "minLon": -540 }, "mapCenter": { "lat": 0, "lon": 96.98463, - "zoom": 0.12 + "zoom": 0.18 }, "openTOCDetails": [] }, @@ -1321,25 +1457,23 @@ "y": 90 }, "panelIndex": "d40b322b-8b5a-4614-9a7f-f6bf33ba8e7e", - "type": "map", - "version": "7.17.0" + "type": "map" } ], "refreshInterval": { "pause": true, "value": 0 }, - "timeFrom": "now-1y/d", + "timeFrom": "now-1d", "timeRestore": true, "timeTo": "now", "title": "[Logs Proofpoint TAP] Blocked Messages", "version": 1 }, - "coreMigrationVersion": "7.17.0", + "coreMigrationVersion": "8.8.0", + "created_at": "2024-08-14T21:57:23.767Z", "id": "proofpoint_tap-9899aae0-b5ad-11ec-a9d0-e94ed15a14b9", - "migrationVersion": { - "dashboard": "7.17.0" - }, + "managed": false, "references": [ { "id": "logs-*", @@ -1475,7 +1609,13 @@ "id": "logs-*", "name": "d40b322b-8b5a-4614-9a7f-f6bf33ba8e7e:layer_1_source_index_pattern", "type": "index-pattern" + }, + { + "id": "proofpoint_tap-security-solution-default", + "name": "tag-ref-security-solution-default", + "type": "tag" } ], - "type": "dashboard" + "type": "dashboard", + "typeMigrationVersion": "8.9.0" } \ No newline at end of file diff --git a/packages/proofpoint_tap/kibana/dashboard/proofpoint_tap-ee5bc100-b5c8-11ec-a9d0-e94ed15a14b9.json b/packages/proofpoint_tap/kibana/dashboard/proofpoint_tap-ee5bc100-b5c8-11ec-a9d0-e94ed15a14b9.json index e27c14e0e6a..d9b3685d2f7 100644 --- a/packages/proofpoint_tap/kibana/dashboard/proofpoint_tap-ee5bc100-b5c8-11ec-a9d0-e94ed15a14b9.json +++ b/packages/proofpoint_tap/kibana/dashboard/proofpoint_tap-ee5bc100-b5c8-11ec-a9d0-e94ed15a14b9.json @@ -1,7 +1,6 @@ { "attributes": { "description": "", - "hits": 0, "kibanaSavedObjectMeta": { "searchSourceJSON": { "filter": [ @@ -36,6 +35,8 @@ "optionsJSON": { "hidePanelTitles": false, "syncColors": false, + "syncCursor": true, + "syncTooltips": false, "useMargins": true }, "panelsJSON": [ @@ -52,8 +53,7 @@ }, "panelIndex": "a0cc1e4c-3327-478b-94ec-519ebf9582ab", "panelRefName": "panel_a0cc1e4c-3327-478b-94ec-519ebf9582ab", - "type": "search", - "version": "7.17.0" + "type": "search" }, { "embeddableConfig": { @@ -73,7 +73,7 @@ ], "state": { "datasourceStates": { - "indexpattern": { + "formBased": { "layers": { "66e9770d-b676-49a0-b502-b3cf64aae59d": { "columnOrder": [ @@ -87,7 +87,7 @@ "label": "Total Messages", "operationType": "count", "scale": "ratio", - "sourceField": "Records" + "sourceField": "___records___" } }, "incompleteColumns": {} @@ -103,12 +103,15 @@ "visualization": { "accessor": "7afa9eab-9e68-42c1-a5f8-7891197560e2", "layerId": "66e9770d-b676-49a0-b502-b3cf64aae59d", - "layerType": "data" + "layerType": "data", + "size": "xl", + "textAlign": "center", + "titlePosition": "bottom" } }, "title": "Count of Messages [Logs Proofpoint TAP]", "type": "lens", - "visualizationType": "lnsMetric" + "visualizationType": "lnsLegacyMetric" }, "enhancements": {} }, @@ -120,8 +123,7 @@ "y": 0 }, "panelIndex": "057e2ef6-0316-4896-ab34-8aafca79b009", - "type": "lens", - "version": "7.17.0" + "type": "lens" }, { "embeddableConfig": { @@ -141,7 +143,7 @@ ], "state": { "datasourceStates": { - "indexpattern": { + "formBased": { "layers": { "e7630b81-f809-4d49-b269-1788bdbdf649": { "columnOrder": [ @@ -175,7 +177,7 @@ "label": "Count", "operationType": "count", "scale": "ratio", - "sourceField": "Records" + "sourceField": "___records___" } }, "incompleteColumns": {} @@ -200,7 +202,9 @@ } ], "layerId": "e7630b81-f809-4d49-b269-1788bdbdf649", - "layerType": "data" + "layerType": "data", + "rowHeight": "single", + "rowHeightLines": 1 } }, "title": "Top 10 Sender IP [Logs Proofpoint TAP]", @@ -217,8 +221,7 @@ "y": 0 }, "panelIndex": "e54a8fb5-eee6-409a-8065-91a4e7b3ac4f", - "type": "lens", - "version": "7.17.0" + "type": "lens" }, { "embeddableConfig": { @@ -238,7 +241,7 @@ ], "state": { "datasourceStates": { - "indexpattern": { + "formBased": { "layers": { "410012cf-d8df-4277-ac28-305ea82a09a3": { "columnOrder": [ @@ -272,7 +275,7 @@ "label": "Count", "operationType": "count", "scale": "ratio", - "sourceField": "Records" + "sourceField": "___records___" } }, "incompleteColumns": {} @@ -289,15 +292,18 @@ "layers": [ { "categoryDisplay": "default", - "groups": [ - "05e673b3-ec58-44eb-ad0b-c88a43e44a8a" - ], "layerId": "410012cf-d8df-4277-ac28-305ea82a09a3", "layerType": "data", "legendDisplay": "default", - "metric": "68cf8e68-186a-40c7-a199-0463ca8741d8", + "legendSize": "auto", + "metrics": [ + "68cf8e68-186a-40c7-a199-0463ca8741d8" + ], "nestedLegend": false, - "numberDisplay": "percent" + "numberDisplay": "percent", + "primaryGroups": [ + "05e673b3-ec58-44eb-ad0b-c88a43e44a8a" + ] } ], "shape": "pie" @@ -317,8 +323,7 @@ "y": 15 }, "panelIndex": "f5b71bf4-d93b-4383-aee3-0fba04633f7e", - "type": "lens", - "version": "7.17.0" + "type": "lens" }, { "embeddableConfig": { @@ -338,7 +343,7 @@ ], "state": { "datasourceStates": { - "indexpattern": { + "formBased": { "layers": { "b0d8b2b8-81ef-4c98-bad2-20e10a9d4006": { "columnOrder": [ @@ -372,7 +377,7 @@ "label": "Count", "operationType": "count", "scale": "ratio", - "sourceField": "Records" + "sourceField": "___records___" } }, "incompleteColumns": {} @@ -389,15 +394,18 @@ "layers": [ { "categoryDisplay": "default", - "groups": [ - "02195bc5-0e17-4c5d-bf4c-5bcf165cd993" - ], "layerId": "b0d8b2b8-81ef-4c98-bad2-20e10a9d4006", "layerType": "data", "legendDisplay": "default", - "metric": "22bcb44a-ba59-4c78-a069-277e45c5d6ef", + "legendSize": "auto", + "metrics": [ + "22bcb44a-ba59-4c78-a069-277e45c5d6ef" + ], "nestedLegend": false, - "numberDisplay": "percent" + "numberDisplay": "percent", + "primaryGroups": [ + "02195bc5-0e17-4c5d-bf4c-5bcf165cd993" + ] } ], "shape": "pie" @@ -417,8 +425,7 @@ "y": 15 }, "panelIndex": "ddaa2940-7c3a-4d0c-8fad-a87d3d92725a", - "type": "lens", - "version": "7.17.0" + "type": "lens" }, { "embeddableConfig": { @@ -438,7 +445,7 @@ ], "state": { "datasourceStates": { - "indexpattern": { + "formBased": { "layers": { "ec2f7bac-2077-4709-9d52-3ae3c0a582de": { "columnOrder": [ @@ -472,7 +479,7 @@ "label": "Count", "operationType": "count", "scale": "ratio", - "sourceField": "Records" + "sourceField": "___records___" } }, "incompleteColumns": {} @@ -497,7 +504,9 @@ } ], "layerId": "ec2f7bac-2077-4709-9d52-3ae3c0a582de", - "layerType": "data" + "layerType": "data", + "rowHeight": "single", + "rowHeightLines": 1 } }, "title": "Top 10 Recipient [Logs Proofpoint TAP]", @@ -514,8 +523,7 @@ "y": 30 }, "panelIndex": "3dc5d286-d7b8-4a47-bd70-7699375f31de", - "type": "lens", - "version": "7.17.0" + "type": "lens" }, { "embeddableConfig": { @@ -535,7 +543,7 @@ ], "state": { "datasourceStates": { - "indexpattern": { + "formBased": { "layers": { "5b8645f9-f56a-44ea-b567-dad4d9da2824": { "columnOrder": [ @@ -550,7 +558,7 @@ "label": "Count", "operationType": "count", "scale": "ratio", - "sourceField": "Records" + "sourceField": "___records___" }, "bc4689d4-0411-44f9-add5-ffa0705584dc": { "customLabel": true, @@ -586,15 +594,18 @@ "layers": [ { "categoryDisplay": "default", - "groups": [ - "bc4689d4-0411-44f9-add5-ffa0705584dc" - ], "layerId": "5b8645f9-f56a-44ea-b567-dad4d9da2824", "layerType": "data", "legendDisplay": "default", - "metric": "612fda22-416a-4171-8854-f9cb30a4ae05", + "legendSize": "auto", + "metrics": [ + "612fda22-416a-4171-8854-f9cb30a4ae05" + ], "nestedLegend": false, - "numberDisplay": "percent" + "numberDisplay": "percent", + "primaryGroups": [ + "bc4689d4-0411-44f9-add5-ffa0705584dc" + ] } ], "shape": "pie" @@ -614,8 +625,7 @@ "y": 30 }, "panelIndex": "080a6554-cbad-4aa0-b8a6-d82de9dab805", - "type": "lens", - "version": "7.17.0" + "type": "lens" }, { "embeddableConfig": { @@ -635,7 +645,7 @@ ], "state": { "datasourceStates": { - "indexpattern": { + "formBased": { "layers": { "17b04f1e-6124-4c6c-9464-e29a98d97bcf": { "columnOrder": [ @@ -669,7 +679,7 @@ "label": "Count", "operationType": "count", "scale": "ratio", - "sourceField": "Records" + "sourceField": "___records___" } }, "incompleteColumns": {} @@ -686,15 +696,18 @@ "layers": [ { "categoryDisplay": "default", - "groups": [ - "20a072f6-3895-45a1-a585-875852453a05" - ], "layerId": "17b04f1e-6124-4c6c-9464-e29a98d97bcf", "layerType": "data", "legendDisplay": "default", - "metric": "a4ba65e4-6bb1-401e-9a55-f90e5f5a32f0", + "legendSize": "auto", + "metrics": [ + "a4ba65e4-6bb1-401e-9a55-f90e5f5a32f0" + ], "nestedLegend": false, - "numberDisplay": "percent" + "numberDisplay": "percent", + "primaryGroups": [ + "20a072f6-3895-45a1-a585-875852453a05" + ] } ], "shape": "pie" @@ -714,8 +727,7 @@ "y": 45 }, "panelIndex": "ec9ba9eb-371c-430a-afc5-f6edf039bd91", - "type": "lens", - "version": "7.17.0" + "type": "lens" }, { "embeddableConfig": { @@ -735,7 +747,7 @@ ], "state": { "datasourceStates": { - "indexpattern": { + "formBased": { "layers": { "590e841c-2ef7-4ace-b981-4bb9d3160054": { "columnOrder": [ @@ -750,7 +762,7 @@ "label": "Count", "operationType": "count", "scale": "ratio", - "sourceField": "Records" + "sourceField": "___records___" }, "7066eb8e-8f19-4826-adbb-7550c8ea2636": { "customLabel": true, @@ -786,15 +798,18 @@ "layers": [ { "categoryDisplay": "default", - "groups": [ - "7066eb8e-8f19-4826-adbb-7550c8ea2636" - ], "layerId": "590e841c-2ef7-4ace-b981-4bb9d3160054", "layerType": "data", "legendDisplay": "default", - "metric": "1bc5c276-8229-422d-bb16-a63859e6f34c", + "legendSize": "auto", + "metrics": [ + "1bc5c276-8229-422d-bb16-a63859e6f34c" + ], "nestedLegend": false, - "numberDisplay": "percent" + "numberDisplay": "percent", + "primaryGroups": [ + "7066eb8e-8f19-4826-adbb-7550c8ea2636" + ] } ], "shape": "pie" @@ -814,8 +829,7 @@ "y": 45 }, "panelIndex": "c1acfbb3-c3ca-436d-b54e-47f288677136", - "type": "lens", - "version": "7.17.0" + "type": "lens" }, { "embeddableConfig": { @@ -835,7 +849,7 @@ ], "state": { "datasourceStates": { - "indexpattern": { + "formBased": { "layers": { "ecc13edd-9962-402c-b12e-180cccc46f08": { "columnOrder": [ @@ -850,7 +864,7 @@ "label": "Count", "operationType": "count", "scale": "ratio", - "sourceField": "Records" + "sourceField": "___records___" }, "21d701b1-4d50-4480-94e0-bfd2616489f5": { "customLabel": true, @@ -886,15 +900,18 @@ "layers": [ { "categoryDisplay": "default", - "groups": [ - "21d701b1-4d50-4480-94e0-bfd2616489f5" - ], "layerId": "ecc13edd-9962-402c-b12e-180cccc46f08", "layerType": "data", "legendDisplay": "default", - "metric": "0bc203c5-ff36-4db6-ad1a-441828203815", + "legendSize": "auto", + "metrics": [ + "0bc203c5-ff36-4db6-ad1a-441828203815" + ], "nestedLegend": false, - "numberDisplay": "percent" + "numberDisplay": "percent", + "primaryGroups": [ + "21d701b1-4d50-4480-94e0-bfd2616489f5" + ] } ], "shape": "pie" @@ -914,8 +931,7 @@ "y": 60 }, "panelIndex": "f1256b4b-8872-4d25-82cd-5a7004108d91", - "type": "lens", - "version": "7.17.0" + "type": "lens" }, { "embeddableConfig": { @@ -935,7 +951,7 @@ ], "state": { "datasourceStates": { - "indexpattern": { + "formBased": { "layers": { "657c0ea2-d756-4c8e-8638-4a2cf8a00bad": { "columnOrder": [ @@ -969,7 +985,7 @@ "label": "Count", "operationType": "count", "scale": "ratio", - "sourceField": "Records" + "sourceField": "___records___" } }, "incompleteColumns": {} @@ -1012,6 +1028,7 @@ ], "legend": { "isVisible": true, + "legendSize": "auto", "position": "right" }, "preferredSeriesType": "bar", @@ -1043,17 +1060,114 @@ "y": 60 }, "panelIndex": "f721f663-e2fd-44c9-88bc-639bff7bc700", - "type": "lens", - "version": "7.17.0" + "type": "lens" }, { "embeddableConfig": { "attributes": { "description": "", - "layerListJSON": "[{\"alpha\":1,\"id\":\"c6a42104-e390-4c56-8ef8-5bd774773e72\",\"includeInFitToBounds\":true,\"label\":null,\"maxZoom\":24,\"minZoom\":0,\"sourceDescriptor\":{\"isAutoSelect\":true,\"type\":\"EMS_TMS\"},\"style\":{\"type\":\"TILE\"},\"type\":\"VECTOR_TILE\",\"visible\":true},{\"alpha\":0.75,\"id\":\"f8e2c82c-56b8-425d-a79d-ab24baf35f89\",\"includeInFitToBounds\":true,\"label\":\"Sender\",\"maxZoom\":24,\"minZoom\":0,\"sourceDescriptor\":{\"applyForceRefresh\":true,\"applyGlobalQuery\":true,\"applyGlobalTime\":true,\"geoField\":\"source.geo.location\",\"id\":\"ce99667c-f3a0-4d3c-b0d0-6e6ba88f1a9e\",\"metrics\":[{\"label\":\"Count\",\"type\":\"count\"}],\"requestType\":\"heatmap\",\"resolution\":\"COARSE\",\"type\":\"ES_GEO_GRID\",\"indexPatternId\":\"logs-*\"},\"style\":{\"colorRampName\":\"theclassic\",\"type\":\"HEATMAP\"},\"type\":\"HEATMAP\",\"visible\":true}]", - "mapStateJSON": "{\"zoom\":1.91,\"center\":{\"lon\":73.8871,\"lat\":33.09876},\"timeFilters\":{\"from\":\"now-1y/d\",\"to\":\"now\"},\"refreshConfig\":{\"isPaused\":true,\"interval\":0},\"query\":{\"language\":\"kuery\",\"query\":\"\"},\"filters\":[],\"settings\":{\"autoFitToDataBounds\":false,\"backgroundColor\":\"#ffffff\",\"disableInteractive\":false,\"disableTooltipControl\":false,\"hideToolbarOverlay\":false,\"hideLayerControl\":false,\"hideViewControl\":false,\"initialLocation\":\"LAST_SAVED_LOCATION\",\"fixedLocation\":{\"lat\":0,\"lon\":0,\"zoom\":2},\"browserLocation\":{\"zoom\":2},\"maxZoom\":24,\"minZoom\":0,\"showScaleControl\":false,\"showSpatialFilters\":true,\"showTimesliderToggleButton\":true,\"spatialFiltersAlpa\":0.3,\"spatialFiltersFillColor\":\"#DA8B45\",\"spatialFiltersLineColor\":\"#DA8B45\"}}", + "layerListJSON": [ + { + "alpha": 1, + "id": "c6a42104-e390-4c56-8ef8-5bd774773e72", + "includeInFitToBounds": true, + "label": null, + "maxZoom": 24, + "minZoom": 0, + "sourceDescriptor": { + "isAutoSelect": true, + "lightModeDefault": "road_map", + "type": "EMS_TMS" + }, + "style": { + "type": "TILE" + }, + "type": "EMS_VECTOR_TILE", + "visible": true + }, + { + "alpha": 0.75, + "id": "f8e2c82c-56b8-425d-a79d-ab24baf35f89", + "includeInFitToBounds": true, + "label": "Sender", + "maxZoom": 24, + "minZoom": 0, + "sourceDescriptor": { + "applyForceRefresh": true, + "applyGlobalQuery": true, + "applyGlobalTime": true, + "geoField": "source.geo.location", + "id": "ce99667c-f3a0-4d3c-b0d0-6e6ba88f1a9e", + "indexPatternRefName": "layer_1_source_index_pattern", + "metrics": [ + { + "label": "Count", + "type": "count" + } + ], + "requestType": "heatmap", + "resolution": "COARSE", + "type": "ES_GEO_GRID" + }, + "style": { + "colorRampName": "theclassic", + "type": "HEATMAP" + }, + "type": "HEATMAP", + "visible": true + } + ], + "mapStateJSON": { + "center": { + "lat": 33.09876, + "lon": 73.8871 + }, + "filters": [], + "query": { + "language": "kuery", + "query": "" + }, + "refreshConfig": { + "interval": 0, + "isPaused": true + }, + "settings": { + "autoFitToDataBounds": false, + "backgroundColor": "#ffffff", + "browserLocation": { + "zoom": 2 + }, + "disableInteractive": false, + "disableTooltipControl": false, + "fixedLocation": { + "lat": 0, + "lon": 0, + "zoom": 2 + }, + "hideLayerControl": false, + "hideToolbarOverlay": false, + "hideViewControl": false, + "initialLocation": "LAST_SAVED_LOCATION", + "maxZoom": 24, + "minZoom": 0, + "showScaleControl": false, + "showSpatialFilters": true, + "showTimesliderToggleButton": true, + "spatialFiltersAlpa": 0.3, + "spatialFiltersFillColor": "#DA8B45", + "spatialFiltersLineColor": "#DA8B45" + }, + "timeFilters": { + "from": "now-1y/d", + "to": "now" + }, + "zoom": 1.91 + }, "title": "Sender of Messages by Region [Logs Proofpoint TAP]", - "uiStateJSON": "{\"isLayerTOCOpen\":true,\"openTOCDetails\":[]}" + "uiStateJSON": { + "isLayerTOCOpen": true, + "openTOCDetails": [] + } }, "enhancements": {}, "hiddenLayers": [], @@ -1079,25 +1193,23 @@ "y": 75 }, "panelIndex": "de4c11a4-6831-4ad4-92b6-7dc434430690", - "type": "map", - "version": "7.17.0" + "type": "map" } ], "refreshInterval": { "pause": true, "value": 0 }, - "timeFrom": "now-1y/d", + "timeFrom": "now-1d", "timeRestore": true, "timeTo": "now", "title": "[Logs Proofpoint TAP] Delivered Messages", "version": 1 }, - "coreMigrationVersion": "7.17.0", + "coreMigrationVersion": "8.8.0", + "created_at": "2024-08-14T21:57:14.002Z", "id": "proofpoint_tap-ee5bc100-b5c8-11ec-a9d0-e94ed15a14b9", - "migrationVersion": { - "dashboard": "7.17.0" - }, + "managed": false, "references": [ { "id": "logs-*", @@ -1213,7 +1325,13 @@ "id": "logs-*", "name": "de4c11a4-6831-4ad4-92b6-7dc434430690:layer_1_source_index_pattern", "type": "index-pattern" + }, + { + "id": "proofpoint_tap-security-solution-default", + "name": "tag-ref-security-solution-default", + "type": "tag" } ], - "type": "dashboard" + "type": "dashboard", + "typeMigrationVersion": "8.9.0" } \ No newline at end of file diff --git a/packages/proofpoint_tap/kibana/search/proofpoint_tap-00dd5660-af9b-11ec-bf43-c372803d141d.json b/packages/proofpoint_tap/kibana/search/proofpoint_tap-00dd5660-af9b-11ec-bf43-c372803d141d.json index a4ea02f2eec..48f10165fec 100644 --- a/packages/proofpoint_tap/kibana/search/proofpoint_tap-00dd5660-af9b-11ec-bf43-c372803d141d.json +++ b/packages/proofpoint_tap/kibana/search/proofpoint_tap-00dd5660-af9b-11ec-bf43-c372803d141d.json @@ -28,17 +28,22 @@ ], "title": "Messages Essential Details [Logs Proofpoint TAP]" }, - "coreMigrationVersion": "7.17.0", + "coreMigrationVersion": "8.8.0", + "created_at": "2024-08-14T21:55:46.902Z", "id": "proofpoint_tap-00dd5660-af9b-11ec-bf43-c372803d141d", - "migrationVersion": { - "search": "7.9.3" - }, + "managed": true, "references": [ { "id": "logs-*", "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern" + }, + { + "id": "proofpoint_tap-security-solution-default", + "name": "tag-ref-security-solution-default", + "type": "tag" } ], - "type": "search" + "type": "search", + "typeMigrationVersion": "10.2.0" } \ No newline at end of file diff --git a/packages/proofpoint_tap/kibana/search/proofpoint_tap-717803c0-b130-11ec-8e58-3fc548a48fe4.json b/packages/proofpoint_tap/kibana/search/proofpoint_tap-717803c0-b130-11ec-8e58-3fc548a48fe4.json index 1ef1d4cfb67..0525af3f149 100644 --- a/packages/proofpoint_tap/kibana/search/proofpoint_tap-717803c0-b130-11ec-8e58-3fc548a48fe4.json +++ b/packages/proofpoint_tap/kibana/search/proofpoint_tap-717803c0-b130-11ec-8e58-3fc548a48fe4.json @@ -27,17 +27,22 @@ ], "title": "Clicks Essential Details [Logs Proofpoint TAP]" }, - "coreMigrationVersion": "7.17.0", + "coreMigrationVersion": "8.8.0", + "created_at": "2024-08-14T21:55:46.902Z", "id": "proofpoint_tap-717803c0-b130-11ec-8e58-3fc548a48fe4", - "migrationVersion": { - "search": "7.9.3" - }, + "managed": true, "references": [ { "id": "logs-*", "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern" + }, + { + "id": "proofpoint_tap-security-solution-default", + "name": "tag-ref-security-solution-default", + "type": "tag" } ], - "type": "search" + "type": "search", + "typeMigrationVersion": "10.2.0" } \ No newline at end of file diff --git a/packages/proofpoint_tap/kibana/tag/proofpoint_tap-security-solution-default.json b/packages/proofpoint_tap/kibana/tag/proofpoint_tap-security-solution-default.json new file mode 100644 index 00000000000..b28ab0b6384 --- /dev/null +++ b/packages/proofpoint_tap/kibana/tag/proofpoint_tap-security-solution-default.json @@ -0,0 +1,14 @@ +{ + "attributes": { + "color": "#BADA55", + "description": "Tag defined in package-spec", + "name": "Security Solution" + }, + "coreMigrationVersion": "8.8.0", + "created_at": "2024-08-14T21:55:47.028Z", + "id": "proofpoint_tap-security-solution-default", + "managed": false, + "references": [], + "type": "tag", + "typeMigrationVersion": "8.0.0" +} \ No newline at end of file diff --git a/packages/proofpoint_tap/manifest.yml b/packages/proofpoint_tap/manifest.yml index 47aa28ca034..c6aa3e00d72 100644 --- a/packages/proofpoint_tap/manifest.yml +++ b/packages/proofpoint_tap/manifest.yml @@ -1,7 +1,7 @@ format_version: "3.0.3" name: proofpoint_tap title: Proofpoint TAP -version: "1.22.0" +version: "1.23.0" description: Collect logs from Proofpoint TAP with Elastic Agent. type: integration categories: From ee06ad7036961fd074deb35c9557a80fab7720ee Mon Sep 17 00:00:00 2001 From: Dan Kortschak Date: Thu, 22 Aug 2024 20:38:43 +0930 Subject: [PATCH 03/33] panw_cortex_xdr: use Cortex XDR SIEM ingestion time for cursor progression (#10774) --- packages/panw_cortex_xdr/changelog.yml | 5 +++++ .../data_stream/alerts/agent/stream/httpjson.yml.hbs | 6 +++--- packages/panw_cortex_xdr/manifest.yml | 2 +- 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/packages/panw_cortex_xdr/changelog.yml b/packages/panw_cortex_xdr/changelog.yml index cd747570324..0e8a14d85d4 100644 --- a/packages/panw_cortex_xdr/changelog.yml +++ b/packages/panw_cortex_xdr/changelog.yml @@ -1,4 +1,9 @@ # newer versions go on top +- version: "1.29.0" + changes: + - description: Use Cortex XDR SIEM ingestion time for cursor progression. + type: enhancement + link: https://github.com/elastic/integrations/pull/10774 - version: "1.28.0" changes: - description: "Modify incident handling to match Defender for Endpoint. Change fingerprint, timestamp, and search cursor to modification_time. Add severity:critical." diff --git a/packages/panw_cortex_xdr/data_stream/alerts/agent/stream/httpjson.yml.hbs b/packages/panw_cortex_xdr/data_stream/alerts/agent/stream/httpjson.yml.hbs index 1027cd4b687..6a895318948 100644 --- a/packages/panw_cortex_xdr/data_stream/alerts/agent/stream/httpjson.yml.hbs +++ b/packages/panw_cortex_xdr/data_stream/alerts/agent/stream/httpjson.yml.hbs @@ -51,13 +51,13 @@ request.transforms: target: body.request_data.filters value: |- { - "field": "creation_time", + "field": "server_creation_time", "operator": "gte", "value": [[ .cursor.next_ts ]] } default: |- { - "field": "creation_time", + "field": "server_creation_time", "operator": "gte", "value": [[ mul (add (now (parseDuration "-{{initial_interval}}")).Unix) 1000 ]] } @@ -81,7 +81,7 @@ response.pagination: fail_on_template_error: true cursor: next_ts: - value: "[[.last_event.detection_timestamp]]" + value: "[[.last_event.local_insert_ts]]" tags: {{#if preserve_original_event}} diff --git a/packages/panw_cortex_xdr/manifest.yml b/packages/panw_cortex_xdr/manifest.yml index 3efaca4e669..42d13813109 100644 --- a/packages/panw_cortex_xdr/manifest.yml +++ b/packages/panw_cortex_xdr/manifest.yml @@ -1,6 +1,6 @@ name: panw_cortex_xdr title: Palo Alto Cortex XDR -version: "1.28.0" +version: "1.29.0" description: Collect logs from Palo Alto Cortex XDR with Elastic Agent. type: integration format_version: "3.0.2" From f8b0a9779b4360c1a39f5adf2b0cd84ac5707319 Mon Sep 17 00:00:00 2001 From: Tiago Queiroz Date: Thu, 22 Aug 2024 15:29:31 +0200 Subject: [PATCH 04/33] Restore errors visualisation to [Elastic-Agent] agent info dashboard (#10773) The Agent Errors visualisation has been mistakenly removed from [Elastic-Agent] agent info dashboard when updating the package spec to 3.0, this commit restores it. --- packages/elastic_agent/changelog.yml | 5 + ...-0600ffa0-6b5e-11ed-98de-67bdecd21824.json | 550 +++++++++++------- ...-1a4e7280-6b5e-11ed-98de-67bdecd21824.json | 46 +- packages/elastic_agent/manifest.yml | 2 +- packages/elastic_agent/validation.yml | 1 - 5 files changed, 383 insertions(+), 221 deletions(-) diff --git a/packages/elastic_agent/changelog.yml b/packages/elastic_agent/changelog.yml index 89f32b0f7f5..0b56c3f95db 100644 --- a/packages/elastic_agent/changelog.yml +++ b/packages/elastic_agent/changelog.yml @@ -1,4 +1,9 @@ # newer versions go on top +- version: "2.0.3" + changes: + - description: Restore Agent errors visualisation to Elastic-Agent agent info dashboard + type: bugfix + link: "https://github.com/elastic/integrations/pull/10773" - version: "2.0.2" changes: - description: Restore Agent errors visualisation diff --git a/packages/elastic_agent/kibana/dashboard/elastic_agent-0600ffa0-6b5e-11ed-98de-67bdecd21824.json b/packages/elastic_agent/kibana/dashboard/elastic_agent-0600ffa0-6b5e-11ed-98de-67bdecd21824.json index c18925decbf..320728d2f68 100644 --- a/packages/elastic_agent/kibana/dashboard/elastic_agent-0600ffa0-6b5e-11ed-98de-67bdecd21824.json +++ b/packages/elastic_agent/kibana/dashboard/elastic_agent-0600ffa0-6b5e-11ed-98de-67bdecd21824.json @@ -105,148 +105,6 @@ "title": "Table of Contents", "type": "visualization" }, - { - "embeddableConfig": { - "attributes": { - "description": "", - "references": [ - { - "id": "logs-*", - "name": "indexpattern-datasource-layer-d2a77691-eb30-480e-b021-e323a1f67f07", - "type": "index-pattern" - }, - { - "id": "logs-*", - "name": "b2edb6cc-f065-48dc-acc7-0c42daded559", - "type": "index-pattern" - } - ], - "state": { - "adHocDataViews": {}, - "datasourceStates": { - "formBased": { - "layers": { - "d2a77691-eb30-480e-b021-e323a1f67f07": { - "columnOrder": [ - "f82bd006-d5e8-42cf-975b-8c49ed8de2fe", - "a9b13926-7e9f-4786-9372-af9a5aad1e4e" - ], - "columns": { - "a9b13926-7e9f-4786-9372-af9a5aad1e4e": { - "customLabel": true, - "dataType": "number", - "isBucketed": false, - "label": "Agents", - "operationType": "unique_count", - "params": { - "emptyAsNull": true - }, - "scale": "ratio", - "sourceField": "agent.name" - }, - "f82bd006-d5e8-42cf-975b-8c49ed8de2fe": { - "customLabel": true, - "dataType": "string", - "isBucketed": true, - "label": "Versions", - "operationType": "terms", - "params": { - "exclude": [], - "excludeIsRegex": false, - "include": [], - "includeIsRegex": false, - "missingBucket": false, - "orderBy": { - "columnId": "a9b13926-7e9f-4786-9372-af9a5aad1e4e", - "type": "column" - }, - "orderDirection": "desc", - "otherBucket": true, - "parentFormat": { - "id": "terms" - }, - "secondaryFields": [], - "size": 9 - }, - "scale": "ordinal", - "sourceField": "agent.version" - } - }, - "incompleteColumns": {}, - "sampling": 1 - } - } - }, - "textBased": { - "layers": {} - } - }, - "filters": [ - { - "$state": { - "store": "appState" - }, - "meta": { - "alias": null, - "disabled": false, - "index": "b2edb6cc-f065-48dc-acc7-0c42daded559", - "key": "data_stream.dataset", - "negate": true, - "params": { - "query": "apm.*" - }, - "type": "phrase" - }, - "query": { - "match_phrase": { - "data_stream.dataset": "apm.*" - } - } - } - ], - "internalReferences": [], - "query": { - "language": "kuery", - "query": "" - }, - "visualization": { - "layers": [ - { - "categoryDisplay": "default", - "layerId": "d2a77691-eb30-480e-b021-e323a1f67f07", - "layerType": "data", - "legendDisplay": "show", - "metrics": [ - "a9b13926-7e9f-4786-9372-af9a5aad1e4e" - ], - "nestedLegend": false, - "numberDisplay": "percent", - "primaryGroups": [ - "f82bd006-d5e8-42cf-975b-8c49ed8de2fe" - ] - } - ], - "shape": "donut" - } - }, - "title": "", - "type": "lens", - "visualizationType": "lnsPie" - }, - "enhancements": {}, - "hidePanelTitles": false - }, - "gridData": { - "h": 14, - "i": "36dd783f-4b32-41db-8d33-e2fb7b4d9365", - "w": 18, - "x": 30, - "y": 0 - }, - "panelIndex": "36dd783f-4b32-41db-8d33-e2fb7b4d9365", - "title": "[Elastic Agent] Agent Versions", - "type": "lens" - }, { "embeddableConfig": { "attributes": { @@ -435,12 +293,12 @@ "references": [ { "id": "logs-*", - "name": "indexpattern-datasource-layer-2b14e40b-0f07-4713-b7fb-96b4df2c93aa", + "name": "indexpattern-datasource-layer-d2a77691-eb30-480e-b021-e323a1f67f07", "type": "index-pattern" }, { "id": "logs-*", - "name": "72b95764-5495-4c06-b72e-7d80a4f380cc", + "name": "b2edb6cc-f065-48dc-acc7-0c42daded559", "type": "index-pattern" } ], @@ -449,56 +307,59 @@ "datasourceStates": { "formBased": { "layers": { - "2b14e40b-0f07-4713-b7fb-96b4df2c93aa": { + "d2a77691-eb30-480e-b021-e323a1f67f07": { "columnOrder": [ - "0af06ae8-c199-4684-a132-a1a3d42acaec", - "faf97258-224e-4050-9c05-3c4bb647a9f0" + "f82bd006-d5e8-42cf-975b-8c49ed8de2fe", + "a9b13926-7e9f-4786-9372-af9a5aad1e4e" ], "columns": { - "0af06ae8-c199-4684-a132-a1a3d42acaec": { + "a9b13926-7e9f-4786-9372-af9a5aad1e4e": { + "customLabel": true, + "dataType": "number", + "isBucketed": false, + "label": "Agents", + "operationType": "unique_count", + "params": { + "emptyAsNull": true + }, + "scale": "ratio", + "sourceField": "agent.name" + }, + "f82bd006-d5e8-42cf-975b-8c49ed8de2fe": { "customLabel": true, "dataType": "string", "isBucketed": true, - "label": "Agents", + "label": "Versions", "operationType": "terms", "params": { + "exclude": [], + "excludeIsRegex": false, + "include": [], + "includeIsRegex": false, "missingBucket": false, "orderBy": { - "columnId": "faf97258-224e-4050-9c05-3c4bb647a9f0", + "columnId": "a9b13926-7e9f-4786-9372-af9a5aad1e4e", "type": "column" }, - "orderDirection": "asc", - "otherBucket": false, + "orderDirection": "desc", + "otherBucket": true, "parentFormat": { "id": "terms" }, - "size": 10 + "secondaryFields": [], + "size": 9 }, "scale": "ordinal", - "sourceField": "agent.name" - }, - "faf97258-224e-4050-9c05-3c4bb647a9f0": { - "customLabel": true, - "dataType": "number", - "isBucketed": false, - "label": "Number of Integrations", - "operationType": "unique_count", - "params": { - "emptyAsNull": true, - "format": { - "id": "number", - "params": { - "decimals": 0 - } - } - }, - "scale": "ratio", - "sourceField": "data_stream.dataset" + "sourceField": "agent.version" } }, - "incompleteColumns": {} + "incompleteColumns": {}, + "sampling": 1 } } + }, + "textBased": { + "layers": {} } }, "filters": [ @@ -509,17 +370,17 @@ "meta": { "alias": null, "disabled": false, - "index": "72b95764-5495-4c06-b72e-7d80a4f380cc", + "index": "b2edb6cc-f065-48dc-acc7-0c42daded559", "key": "data_stream.dataset", "negate": true, "params": { - "query": "elastic_agent*" + "query": "apm.*" }, "type": "phrase" }, "query": { "match_phrase": { - "data_stream.dataset": "elastic_agent*" + "data_stream.dataset": "apm.*" } } } @@ -533,16 +394,16 @@ "layers": [ { "categoryDisplay": "default", - "layerId": "2b14e40b-0f07-4713-b7fb-96b4df2c93aa", + "layerId": "d2a77691-eb30-480e-b021-e323a1f67f07", "layerType": "data", "legendDisplay": "show", "metrics": [ - "faf97258-224e-4050-9c05-3c4bb647a9f0" + "a9b13926-7e9f-4786-9372-af9a5aad1e4e" ], "nestedLegend": false, "numberDisplay": "percent", "primaryGroups": [ - "0af06ae8-c199-4684-a132-a1a3d42acaec" + "f82bd006-d5e8-42cf-975b-8c49ed8de2fe" ] } ], @@ -553,38 +414,18 @@ "type": "lens", "visualizationType": "lnsPie" }, - "enhancements": { - "dynamicActions": { - "events": [ - { - "action": { - "config": { - "openInNewTab": false, - "useCurrentDateRange": true, - "useCurrentFilters": false - }, - "factoryId": "DASHBOARD_TO_DASHBOARD_DRILLDOWN", - "name": "Integrations Dashboard" - }, - "eventId": "f2edc3a8-5d50-4649-bb16-536aa103ed58", - "triggers": [ - "FILTER_TRIGGER" - ] - } - ] - } - }, + "enhancements": {}, "hidePanelTitles": false }, "gridData": { "h": 14, - "i": "ea70f89b-accb-4972-9119-b04d1afae410", + "i": "36dd783f-4b32-41db-8d33-e2fb7b4d9365", "w": 18, "x": 30, - "y": 14 + "y": 0 }, - "panelIndex": "ea70f89b-accb-4972-9119-b04d1afae410", - "title": "[Elastic Agent] Integrations per Agent", + "panelIndex": "36dd783f-4b32-41db-8d33-e2fb7b4d9365", + "title": "[Elastic Agent] Agent Versions", "type": "lens" }, { @@ -818,6 +659,275 @@ "panelIndex": "5848c519-791c-45e2-b350-0740a12c3ace", "title": "[Elastic Agent] Agents with Errors", "type": "lens" + }, + { + "embeddableConfig": { + "attributes": { + "description": "", + "references": [ + { + "id": "logs-*", + "name": "indexpattern-datasource-layer-2b14e40b-0f07-4713-b7fb-96b4df2c93aa", + "type": "index-pattern" + }, + { + "id": "logs-*", + "name": "72b95764-5495-4c06-b72e-7d80a4f380cc", + "type": "index-pattern" + } + ], + "state": { + "adHocDataViews": {}, + "datasourceStates": { + "formBased": { + "layers": { + "2b14e40b-0f07-4713-b7fb-96b4df2c93aa": { + "columnOrder": [ + "0af06ae8-c199-4684-a132-a1a3d42acaec", + "faf97258-224e-4050-9c05-3c4bb647a9f0" + ], + "columns": { + "0af06ae8-c199-4684-a132-a1a3d42acaec": { + "customLabel": true, + "dataType": "string", + "isBucketed": true, + "label": "Agents", + "operationType": "terms", + "params": { + "missingBucket": false, + "orderBy": { + "columnId": "faf97258-224e-4050-9c05-3c4bb647a9f0", + "type": "column" + }, + "orderDirection": "asc", + "otherBucket": false, + "parentFormat": { + "id": "terms" + }, + "size": 10 + }, + "scale": "ordinal", + "sourceField": "agent.name" + }, + "faf97258-224e-4050-9c05-3c4bb647a9f0": { + "customLabel": true, + "dataType": "number", + "isBucketed": false, + "label": "Number of Integrations", + "operationType": "unique_count", + "params": { + "emptyAsNull": true, + "format": { + "id": "number", + "params": { + "decimals": 0 + } + } + }, + "scale": "ratio", + "sourceField": "data_stream.dataset" + } + }, + "incompleteColumns": {} + } + } + } + }, + "filters": [ + { + "$state": { + "store": "appState" + }, + "meta": { + "alias": null, + "disabled": false, + "index": "72b95764-5495-4c06-b72e-7d80a4f380cc", + "key": "data_stream.dataset", + "negate": true, + "params": { + "query": "elastic_agent*" + }, + "type": "phrase" + }, + "query": { + "match_phrase": { + "data_stream.dataset": "elastic_agent*" + } + } + } + ], + "internalReferences": [], + "query": { + "language": "kuery", + "query": "" + }, + "visualization": { + "layers": [ + { + "categoryDisplay": "default", + "layerId": "2b14e40b-0f07-4713-b7fb-96b4df2c93aa", + "layerType": "data", + "legendDisplay": "show", + "metrics": [ + "faf97258-224e-4050-9c05-3c4bb647a9f0" + ], + "nestedLegend": false, + "numberDisplay": "percent", + "primaryGroups": [ + "0af06ae8-c199-4684-a132-a1a3d42acaec" + ] + } + ], + "shape": "donut" + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsPie" + }, + "enhancements": { + "dynamicActions": { + "events": [ + { + "action": { + "config": { + "openInNewTab": false, + "useCurrentDateRange": true, + "useCurrentFilters": false + }, + "factoryId": "DASHBOARD_TO_DASHBOARD_DRILLDOWN", + "name": "Integrations Dashboard" + }, + "eventId": "f2edc3a8-5d50-4649-bb16-536aa103ed58", + "triggers": [ + "FILTER_TRIGGER" + ] + } + ] + } + }, + "hidePanelTitles": false + }, + "gridData": { + "h": 14, + "i": "ea70f89b-accb-4972-9119-b04d1afae410", + "w": 18, + "x": 30, + "y": 14 + }, + "panelIndex": "ea70f89b-accb-4972-9119-b04d1afae410", + "title": "[Elastic Agent] Integrations per Agent", + "type": "lens" + }, + { + "embeddableConfig": { + "attributes": { + "columns": [ + "agent.name", + "message" + ], + "grid": { + "columns": { + "agent.name": { + "width": 125 + } + } + }, + "hideChart": false, + "isTextBasedQuery": false, + "kibanaSavedObjectMeta": { + "searchSourceJSON": { + "filter": [ + { + "$state": { + "store": "appState" + }, + "meta": { + "alias": null, + "disabled": false, + "field": "data_stream.dataset", + "indexRefName": "kibanaSavedObjectMeta.searchSourceJSON.filter[0].meta.index", + "key": "data_stream.dataset", + "negate": false, + "params": { + "query": "elastic_agent*" + }, + "type": "phrase" + }, + "query": { + "match_phrase": { + "data_stream.dataset": "elastic_agent*" + } + } + }, + { + "$state": { + "store": "appState" + }, + "meta": { + "alias": null, + "disabled": false, + "field": "log.level", + "indexRefName": "kibanaSavedObjectMeta.searchSourceJSON.filter[1].meta.index", + "key": "log.level", + "negate": false, + "params": { + "query": "error" + }, + "type": "phrase" + }, + "query": { + "match_phrase": { + "log.level": "error" + } + } + } + ], + "indexRefName": "kibanaSavedObjectMeta.searchSourceJSON.index", + "query": { + "language": "kuery", + "query": "" + } + } + }, + "references": [ + { + "id": "logs-*", + "name": "kibanaSavedObjectMeta.searchSourceJSON.index", + "type": "index-pattern" + }, + { + "id": "logs-*", + "name": "kibanaSavedObjectMeta.searchSourceJSON.filter[0].meta.index", + "type": "index-pattern" + }, + { + "id": "logs-*", + "name": "kibanaSavedObjectMeta.searchSourceJSON.filter[1].meta.index", + "type": "index-pattern" + } + ], + "sort": [ + [ + "@timestamp", + "desc" + ] + ], + "timeRestore": false, + "usesAdHocDataView": false + }, + "enhancements": {} + }, + "gridData": { + "h": 21, + "i": "c5caa206-df9f-430b-8ff2-7b29d29b3f06", + "w": 40, + "x": 8, + "y": 28 + }, + "panelIndex": "c5caa206-df9f-430b-8ff2-7b29d29b3f06", + "title": "Elastic-Agent errors", + "type": "search" } ], "timeRestore": false, @@ -825,28 +935,33 @@ "version": 1 }, "coreMigrationVersion": "8.8.0", - "created_at": "2024-07-01T19:40:41.314Z", + "created_at": "2024-08-22T12:52:05.019Z", "id": "elastic_agent-0600ffa0-6b5e-11ed-98de-67bdecd21824", - "managed": true, + "managed": false, "references": [ { "id": "logs-*", - "name": "36dd783f-4b32-41db-8d33-e2fb7b4d9365:indexpattern-datasource-layer-d2a77691-eb30-480e-b021-e323a1f67f07", + "name": "1fa17cb8-3a19-4fc7-9631-0f44ce8692b4:indexpattern-datasource-layer-299e2c43-13cd-477a-ba36-4c0f84bd32a4", "type": "index-pattern" }, { "id": "logs-*", - "name": "36dd783f-4b32-41db-8d33-e2fb7b4d9365:b2edb6cc-f065-48dc-acc7-0c42daded559", + "name": "1fa17cb8-3a19-4fc7-9631-0f44ce8692b4:ffe5b460-523c-4b2c-9403-4f6b7917c660", "type": "index-pattern" }, { "id": "logs-*", - "name": "1fa17cb8-3a19-4fc7-9631-0f44ce8692b4:indexpattern-datasource-layer-299e2c43-13cd-477a-ba36-4c0f84bd32a4", + "name": "36dd783f-4b32-41db-8d33-e2fb7b4d9365:indexpattern-datasource-layer-d2a77691-eb30-480e-b021-e323a1f67f07", "type": "index-pattern" }, { "id": "logs-*", - "name": "1fa17cb8-3a19-4fc7-9631-0f44ce8692b4:ffe5b460-523c-4b2c-9403-4f6b7917c660", + "name": "36dd783f-4b32-41db-8d33-e2fb7b4d9365:b2edb6cc-f065-48dc-acc7-0c42daded559", + "type": "index-pattern" + }, + { + "id": "logs-*", + "name": "5848c519-791c-45e2-b350-0740a12c3ace:indexpattern-datasource-layer-501c5bb4-5af0-46bf-99c1-e08ed2c31111", "type": "index-pattern" }, { @@ -866,13 +981,18 @@ }, { "id": "logs-*", - "name": "5848c519-791c-45e2-b350-0740a12c3ace:indexpattern-datasource-layer-501c5bb4-5af0-46bf-99c1-e08ed2c31111", + "name": "c5caa206-df9f-430b-8ff2-7b29d29b3f06:kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern" }, { - "id": "elastic_agent-522c9e20-ad53-11ed-957f-f1c897630287", - "name": "9604578e-7da2-4575-923e-f15e51bca436:panel_9604578e-7da2-4575-923e-f15e51bca436", - "type": "search" + "id": "logs-*", + "name": "c5caa206-df9f-430b-8ff2-7b29d29b3f06:kibanaSavedObjectMeta.searchSourceJSON.filter[0].meta.index", + "type": "index-pattern" + }, + { + "id": "logs-*", + "name": "c5caa206-df9f-430b-8ff2-7b29d29b3f06:kibanaSavedObjectMeta.searchSourceJSON.filter[1].meta.index", + "type": "index-pattern" }, { "id": "logs-*", @@ -892,4 +1012,4 @@ ], "type": "dashboard", "typeMigrationVersion": "8.9.0" -} +} \ No newline at end of file diff --git a/packages/elastic_agent/kibana/dashboard/elastic_agent-1a4e7280-6b5e-11ed-98de-67bdecd21824.json b/packages/elastic_agent/kibana/dashboard/elastic_agent-1a4e7280-6b5e-11ed-98de-67bdecd21824.json index ffceb8ea047..c07a4784550 100644 --- a/packages/elastic_agent/kibana/dashboard/elastic_agent-1a4e7280-6b5e-11ed-98de-67bdecd21824.json +++ b/packages/elastic_agent/kibana/dashboard/elastic_agent-1a4e7280-6b5e-11ed-98de-67bdecd21824.json @@ -3,8 +3,39 @@ "controlGroupInput": { "chainingSystem": "HIERARCHICAL", "controlStyle": "oneLine", - "ignoreParentSettingsJSON": "{\"ignoreFilters\":false,\"ignoreQuery\":false,\"ignoreTimerange\":false,\"ignoreValidations\":false}", - "panelsJSON": "{\"4a765eb5-fe8e-4ef3-9930-ef8f832a6832\":{\"order\":0,\"width\":\"medium\",\"grow\":true,\"type\":\"optionsListControl\",\"explicitInput\":{\"fieldName\":\"data_stream.dataset\",\"title\":\"Integration Name\",\"id\":\"4a765eb5-fe8e-4ef3-9930-ef8f832a6832\",\"enhancements\":{},\"selectedOptions\":[]}},\"d5126805-1e20-4c32-8c7b-a9c0afee3215\":{\"order\":1,\"width\":\"medium\",\"grow\":true,\"type\":\"optionsListControl\",\"explicitInput\":{\"fieldName\":\"agent.name\",\"title\":\"Agent Name\",\"id\":\"d5126805-1e20-4c32-8c7b-a9c0afee3215\",\"enhancements\":{}}}}" + "ignoreParentSettingsJSON": { + "ignoreFilters": false, + "ignoreQuery": false, + "ignoreTimerange": false, + "ignoreValidations": false + }, + "panelsJSON": { + "4a765eb5-fe8e-4ef3-9930-ef8f832a6832": { + "explicitInput": { + "enhancements": {}, + "fieldName": "data_stream.dataset", + "id": "4a765eb5-fe8e-4ef3-9930-ef8f832a6832", + "selectedOptions": [], + "title": "Integration Name" + }, + "grow": true, + "order": 0, + "type": "optionsListControl", + "width": "medium" + }, + "d5126805-1e20-4c32-8c7b-a9c0afee3215": { + "explicitInput": { + "enhancements": {}, + "fieldName": "agent.name", + "id": "d5126805-1e20-4c32-8c7b-a9c0afee3215", + "title": "Agent Name" + }, + "grow": true, + "order": 1, + "type": "optionsListControl", + "width": "medium" + } + } }, "description": "", "kibanaSavedObjectMeta": { @@ -451,7 +482,14 @@ "hideChart": true, "isTextBasedQuery": false, "kibanaSavedObjectMeta": { - "searchSourceJSON": "{\"filter\":[],\"indexRefName\":\"kibanaSavedObjectMeta.searchSourceJSON.index\",\"query\":{\"language\":\"kuery\",\"query\":\"event.kind: pipeline_error and error.message : * \"}}" + "searchSourceJSON": { + "filter": [], + "indexRefName": "kibanaSavedObjectMeta.searchSourceJSON.index", + "query": { + "language": "kuery", + "query": "event.kind: pipeline_error and error.message : * " + } + } }, "references": [ { @@ -488,7 +526,7 @@ "version": 1 }, "coreMigrationVersion": "8.8.0", - "created_at": "2023-12-11T11:37:02.295Z", + "created_at": "2024-08-22T12:35:00.624Z", "id": "elastic_agent-1a4e7280-6b5e-11ed-98de-67bdecd21824", "managed": true, "references": [ diff --git a/packages/elastic_agent/manifest.yml b/packages/elastic_agent/manifest.yml index f8e54d43031..5ce698f063f 100644 --- a/packages/elastic_agent/manifest.yml +++ b/packages/elastic_agent/manifest.yml @@ -1,6 +1,6 @@ name: elastic_agent title: Elastic Agent -version: 2.0.2 +version: 2.0.3 description: Collect logs and metrics from Elastic Agents. type: integration format_version: 3.1.4 diff --git a/packages/elastic_agent/validation.yml b/packages/elastic_agent/validation.yml index 99999428b3f..bcc8f74ac3a 100644 --- a/packages/elastic_agent/validation.yml +++ b/packages/elastic_agent/validation.yml @@ -1,4 +1,3 @@ errors: exclude_checks: - SVR00002 - - SVR00004 From b1105232ebfbaac34ae06650d2b3249c3157c838 Mon Sep 17 00:00:00 2001 From: Dan Kortschak Date: Fri, 23 Aug 2024 02:38:04 +0930 Subject: [PATCH 05/33] crowdstrike: prevent api duplicate responses (#10694) Simplify and clarify the logic around timestamp selection between stateful cursor and pagination by separating them and making pagination timestamps not persist over periodic evalutations. Also do not look back except when there is no cursor timestamp. --- packages/crowdstrike/changelog.yml | 5 ++ .../alert/agent/stream/cel.yml.hbs | 81 +++++++++---------- .../data_stream/alert/sample_event.json | 19 ++--- .../data_stream/host/agent/stream/cel.yml.hbs | 81 +++++++++---------- .../data_stream/host/sample_event.json | 14 ++-- packages/crowdstrike/docs/README.md | 33 ++++---- packages/crowdstrike/manifest.yml | 2 +- 7 files changed, 114 insertions(+), 121 deletions(-) diff --git a/packages/crowdstrike/changelog.yml b/packages/crowdstrike/changelog.yml index 7fab604b068..47848ee5ab5 100644 --- a/packages/crowdstrike/changelog.yml +++ b/packages/crowdstrike/changelog.yml @@ -1,4 +1,9 @@ # newer versions go on top +- version: "1.39.2" + changes: + - description: Fix cursor timestamp handling. + type: bugfix + link: https://github.com/elastic/integrations/pull/10694 - version: "1.39.1" changes: - description: Return empty `events` array when no resources in alert, host. diff --git a/packages/crowdstrike/data_stream/alert/agent/stream/cel.yml.hbs b/packages/crowdstrike/data_stream/alert/agent/stream/cel.yml.hbs index 00a66cb7bb2..fe2d51ce008 100644 --- a/packages/crowdstrike/data_stream/alert/agent/stream/cel.yml.hbs +++ b/packages/crowdstrike/data_stream/alert/agent/stream/cel.yml.hbs @@ -26,38 +26,33 @@ state: redact: fields: ~ program: | - state.with( - ( - !state.want_more ? - request( - "GET", - state.url.trim_right("/") + "/alerts/queries/alerts/v2?" + { - "sort": ["timestamp|asc"], - "offset": ["0"], - "limit": [string(state.batch_size)], - "filter": ['timestamp:>"'+state.?cursor.last_timestamp.orValue(string(now - duration(state.initial_interval)))+'"'], - }.format_query() - ) - : - request( - "GET", - state.url.trim_right("/") + "/alerts/queries/alerts/v2?" + { - "sort": ["timestamp|asc"], - "offset": [string(state.offset)], - "limit": [string(state.batch_size)], - ?"filter": has(state.?cursor.first_timestamp) ? optional.of(['timestamp:>"'+state.cursor.first_timestamp+'"']) : optional.none(), - }.format_query() - ) - ).do_request().as(get_resp, get_resp.StatusCode == 200 ? - bytes(get_resp.Body).decode_json().as(body, { - ?"resources": has(body.resources) && body.resources.size() > 0 ? optional.of(body.resources) : optional.none(), - "events": [], - "want_more": ((int(state.offset) + body.resources.size()) < body.meta.pagination.total), - "offset": ((int(state.offset) + body.resources.size()) < body.meta.pagination.total) ? - int(state.offset) + body.resources.size() + ( + state.want_more ? + state.?page.start + : + optional.of(state.?cursor.last_timestamp.orValue((now - duration(state.initial_interval)).format(time_layout.RFC3339))) + ).as(filter, state.with( + get_request( + state.url.trim_right("/") + "/alerts/queries/alerts/v2?" + { + "sort": ["timestamp|asc"], + "offset": [string(state.offset)], + "limit": [string(state.batch_size)], + ?"filter": filter.hasValue() ? + optional.of(['timestamp:>"'+filter.value()+'"']) : - 0, - }) + optional.none(), + }.format_query() + ).do_request().as(get_resp, get_resp.StatusCode == 200 ? + bytes(get_resp.Body).decode_json().as(body, + ( + int(state.offset) + body.resources.size() < body.meta.pagination.total + ).as(want_more, { + ?"resources": body.resources.size() > 0 ? optional.of(body.resources) : optional.none(), + "events": [], + "offset": want_more ? int(state.offset) + body.resources.size() : 0, + "want_more": want_more, + }) + ) : { "events": { @@ -87,18 +82,16 @@ program: | "message": e.encode_json(), }), "cursor": { - ?"last_timestamp": ( - has(inner_body.resources) && inner_body.resources.size() > 0 ? - optional.of(inner_body.resources.map(e, e.timestamp).max()) - : - state.?cursor.last_timestamp - ), - "first_timestamp": ( - state.?cursor.first_timestamp.orValue(null) != null ? - (state.want_more ? state.cursor.first_timestamp : state.cursor.last_timestamp) - : - string(now - duration(state.initial_interval)) - ), + ?"last_timestamp": has(inner_body.resources) && inner_body.resources.size() > 0 ? + optional.of(inner_body.resources.map(e, timestamp(e.timestamp)).max().format(time_layout.RFC3339)) + : + state.?cursor.last_timestamp + }, + "page": { + "start": has(state.?cursor.start) ? + (state.want_more ? state.cursor.start : state.cursor.last_timestamp) + : + now.format(time_layout.RFC3339) }, }) : @@ -119,7 +112,7 @@ program: | } ) ) - ) + )) tags: {{#if preserve_original_event}} - preserve_original_event diff --git a/packages/crowdstrike/data_stream/alert/sample_event.json b/packages/crowdstrike/data_stream/alert/sample_event.json index cb482cacc6a..52e90de4ea6 100644 --- a/packages/crowdstrike/data_stream/alert/sample_event.json +++ b/packages/crowdstrike/data_stream/alert/sample_event.json @@ -1,11 +1,11 @@ { "@timestamp": "2023-11-03T18:00:22.328Z", "agent": { - "ephemeral_id": "532c45c9-f01e-40e0-9406-8997b9a2b29c", - "id": "14bc069f-0d77-4637-b5c7-44a24faa08d5", + "ephemeral_id": "704de05c-668d-431b-8483-ed43ec6a5942", + "id": "8f7b87ad-2943-4c25-88be-4eaac013beb6", "name": "docker-fleet-agent", "type": "filebeat", - "version": "8.12.0" + "version": "8.13.0" }, "crowdstrike": { "alert": { @@ -220,7 +220,7 @@ }, "data_stream": { "dataset": "crowdstrike.alert", - "namespace": "ep", + "namespace": "15119", "type": "logs" }, "device": { @@ -230,15 +230,15 @@ "version": "8.11.0" }, "elastic_agent": { - "id": "14bc069f-0d77-4637-b5c7-44a24faa08d5", + "id": "8f7b87ad-2943-4c25-88be-4eaac013beb6", "snapshot": false, - "version": "8.12.0" + "version": "8.13.0" }, "event": { "agent_id_status": "verified", "dataset": "crowdstrike.alert", "id": "ind:2ce412d17b334ad4adc8c1c54dbfec4b:399748687993-5761-42627600", - "ingested": "2024-02-21T09:17:46Z", + "ingested": "2024-08-08T07:13:48Z", "kind": "alert", "original": "{\"agent_id\":\"2ce412d17b334ad4adc8c1c54dbfec4b\",\"aggregate_id\":\"aggind:2ce412d17b334ad4adc8c1c54dbfec4b:163208931778\",\"alleged_filetype\":\"exe\",\"cid\":\"92012896127c4a948236ba7601b886b0\",\"cloud_indicator\":\"false\",\"cmdline\":\"\\\"C:\\\\Users\\\\yuvraj.mahajan\\\\AppData\\\\Local\\\\Temp\\\\Temp3cc4c329-2896-461f-9dea-88009eb2e8fb_pfSenseFirewallOpenVPNClients-20230823T120504Z-001.zip\\\\pfSenseFirewallOpenVPNClients\\\\Windows\\\\openvpn-cds-pfSense-UDP4-1194-pfsense-install-2.6.5-I001-amd64.exe\\\"\",\"composite_id\":\"92012896127c4a8236ba7601b886b0:ind:2ce412d17b334ad4adc8c1c54dbfec4b:399748687993-5761-42627600\",\"confidence\":10,\"context_timestamp\":\"2023-11-03T18:00:31Z\",\"control_graph_id\":\"ctg:2ce4127b334ad4adc8c1c54dbfec4b:163208931778\",\"crawl_edge_ids\":{\"Sensor\":[\"KZcZ=__;K\\u0026cmqQ]Z=W,QK4W.9(rBfs\\\\gfmjTblqI^F-_oNnAWQ\\u0026-o0:dR/\\u003e\\u003e2J\\u003cd2T/ji6R\\u0026RIHe-tZSkP*q?HW;:leq.:kk)\\u003eIVMD36[+=kiQDRm.bB?;d\\\"V0JaQlaltC59Iq6nM?6`\\u003eZAs+LbOJ9p9A;9'WV9^H3XEMs8N\",\"KZcZA__;?\\\"cmott@m_k)MSZ^+C?.cg\\u003cLga#0@71X07*LY2teE56*16pL[=!bjF7g@0jOQE'jT6RX_F@sr#RP-U/d[#nm9A,A,W%cl/T@\\u003cW`alY1K_h%QDBBF;_e7S!!*'!\",\"KZd)iK2;s\\\\ckQl_P*d=Mo?^a7/JKc\\\\*L48169!7I5;0\\\\\\u003cH^hNG\\\"ZQ3#U3\\\"eo\\u003c\\u003e92t[f!\\u003e*b9WLY@H!V0N,BJsNSTD:?/+fY';e\\u003cOHh9AmlT?5\\u003cgGqK:*L99kat+P)eZ$HR\\\"Ql@Q!!!$!rr\",\"N6=Ks_B9Bncmur)?\\\\[fV$k/N5;:6@aB$P;R$2XAaPJ?E\\u003cG5,UfaP')8#2AY4ff+q?T?b0/RBi-YAeGmb\\u003c6Bqp[DZh#I(jObGkjJJaMf\\\\:#mb;BM\\\\L[g!\\\\F*M!!*'!\",\"N6B%O`'=_7d#%u\\u0026d[+LTNDs\\u003c3307?8n=GrFI:4YYGCL,cIt-Tuj!\\u0026\\u003c6:3RbC`uNjL#gW\\u0026=)E`4^/'fp*.bFX@p_$,R6.\\\"=lV*T*5Vf`c.:nkd$+YD:DJ,Ls0[sArC')K%YTc$:@kUQW5s8N\",\"N6B%s!\\\\k)ed$F6\\u003ea%iM\\\"\\u003cFTSe/eH8M:\\u003c9gf;$$.b??kpC*99aX!Lq:g6:Q3@Ga4Zrb@MaMa]L'YAt$IFBu])\\\"H^sF$r7gDPf6\\u0026CHpVKO3\\u003cDgK9,Y/e@V\\\"b\\u0026m!\\u003c\\u003c'\",\"N6CU\\u0026`%VT\\\"d$=67=h\\\\I)/BJH:8-lS!.%\\\\-!$1@bAhtVO?q4]9'9'haE4N0*-0Uh'-'f',YW3]T=jL3D#N=fJi]Pp-bWej+R9q[%h[p]p26NK8q3b50k9G:.\\u0026eM\\u003cQer\\u003e__\\\"59K'R?_=`'`rK/'hA\\\"r+L5i-*Ut5PI!!*'!\",\"N6CUF__;K!d$:[C93.?=/5(`5KnM]!L#UbnSY5HOHc#[6A\\u0026FE;(naXB4h/OG\\\"%MDAR=fo41Z]rXc\\\"J-\\\\\\u0026\\u0026V8UW.?I6V*G+,))Ztu_IuCMV#ZJ:QDJ_EjQmjiX#HENY'WD0rVAV$Gl6_+0e:2$8D)):.LUs+8-S$L!!!$!rr\",\"N6CUF__;K!d$:\\\\N43JV0AO56@6D0$!na(s)d.dQ'iI1*uiKt#j?r\\\"X'\\\\AtNML2_C__7ic6,8Dc[F\\u003c0NTUGtl%HD#?/Y)t8!1X.;G!*FQ9GP-ukQn`6I##\\u0026$^81(P+hN*-#rf/cUs)Wb\\\"\\u003c_/?I'[##WMh'H[Rcl+!!\\u003c\\u003c'\",\"N6L[G__;K!d\\\"qhT7k?[D\\\"Bk:5s%+=\\u003e#DM0j$_\\u003cr/JG0TCEQ!Ug(be3)\\u0026R2JnX+RSqorgC-NCjf6XATBWX(5\\u003cL1J1DV\\u003e44ZjO9q*d!YLuHhkq!3\\u003e3tpi\\u003eOPYZp9]5f1#/AlRZL06`/I6cl\\\"d.\\u0026=To@9kS!prs8N\"]},\"crawl_vertex_ids\":{\"Sensor\":[\"aggind:2ce412d17b334ad4adc8c1c54dbfec4b:163208931778\",\"ctg:2ce412d17b334ad4adc8c1c54dbfec4b:163208931778\",\"ind:2ce412d17b34ad4adc8c1c54dbfec4b:399748687993-5761-42627600\",\"mod:2ce412d17b4ad4adc8c1c54dbfec4b:0b25d56bd2b4d8a6df45beff7be165117fbf7ba6ba2c07744f039143866335e4\",\"mod:2ce412d17b4ad4adc8c1c54dbfec4b:b26a6791b72753d2317efd5e1363d93fdd33e611c8b9e08a3b24ea4d755b81fd\",\"mod:2ce412d17b334ad4adc8c1c54dbfec4b:caef4ae19056eeb122a0540508fa8984cea960173ada0dc648cb846d6ef5dd33\",\"pid:2ce412d17b33d4adc8c1c54dbfec4b:392734873135\",\"pid:2ce412d17b334ad4adc8c1c54dbfec4b:392736520876\",\"pid:2ce412d17b334ad4adc8c1c54dbfec4b:399748687993\",\"quf:2ce412d17b334ad4adc8c1c54dbfec4b:b26a6791b72753d2317efd5e1363d93fdd33e611c8b9e08a3b24ea4d755b81fd\",\"uid:2ce412d17b334ad4adc8c1c54dbfec4b:S-1-5-21-1909377054-3469629671-4104191496-4425\"]},\"crawled_timestamp\":\"2023-11-03T19:00:23.985020992Z\",\"created_timestamp\":\"2023-11-03T18:01:23.995794943Z\",\"data_domains\":[\"Endpoint\"],\"description\":\"ThisfilemeetstheAdware/PUPAnti-malwareMLalgorithm'slowest-confidencethreshold.\",\"device\":{\"agent_load_flags\":\"0\",\"agent_local_time\":\"2023-10-12T03:45:57.753Z\",\"agent_version\":\"7.04.17605.0\",\"bios_manufacturer\":\"ABC\",\"bios_version\":\"F8CN42WW(V2.05)\",\"cid\":\"92012896127c4a948236ba7601b886b0\",\"config_id_base\":\"65994763\",\"config_id_build\":\"17605\",\"config_id_platform\":\"3\",\"device_id\":\"2ce412d17b334ad4adc8c1c54dbfec4b\",\"external_ip\":\"81.2.69.142\",\"first_seen\":\"2023-04-07T09:36:36Z\",\"groups\":[\"18704e21288243b58e4c76266d38caaf\"],\"hostinfo\":{\"active_directory_dn_display\":[\"WinComputers\",\"WinComputers\\\\ABC\"],\"domain\":\"ABC.LOCAL\"},\"hostname\":\"ABC709-1175\",\"last_seen\":\"2023-11-03T17:51:42Z\",\"local_ip\":\"81.2.69.142\",\"mac_address\":\"ab-21-48-61-05-b2\",\"machine_domain\":\"ABC.LOCAL\",\"major_version\":\"10\",\"minor_version\":\"0\",\"modified_timestamp\":\"2023-11-03T17:53:43Z\",\"os_version\":\"Windows11\",\"ou\":[\"ABC\",\"WinComputers\"],\"platform_id\":\"0\",\"platform_name\":\"Windows\",\"pod_labels\":null,\"product_type\":\"1\",\"product_type_desc\":\"Workstation\",\"site_name\":\"Default-First-Site-Name\",\"status\":\"normal\",\"system_manufacturer\":\"LENOVO\",\"system_product_name\":\"20VE\"},\"falcon_host_link\":\"https://falcon.us-2.crowdstrike.com/activity-v2/detections/dhjffg:ind:2ce412d17b334ad4adc8c1c54dbfec4b:399748687993-5761-42627600\",\"filename\":\"openvpn-abc-pfSense-UDP4-1194-pfsense-install-2.6.5-I001-amd64.exe\",\"filepath\":\"\\\\Device\\\\HarddiskVolume3\\\\Users\\\\yuvraj.mahajan\\\\AppData\\\\Local\\\\Temp\\\\Temp3cc4c329-2896-461f-9dea-88009eb2e8fb_pfSenseFirewallOpenVPNClients-20230823T120504Z-001.zip\\\\pfSenseFirewallOpenVPNClients\\\\Windows\\\\openvpn-cds-pfSense-UDP4-1194-pfsense-install-2.6.5-I001-amd64.exe\",\"grandparent_details\":{\"cmdline\":\"C:\\\\Windows\\\\system32\\\\userinit.exe\",\"filename\":\"userinit.exe\",\"filepath\":\"\\\\Device\\\\HarddiskVolume3\\\\Windows\\\\System32\\\\userinit.exe\",\"local_process_id\":\"4328\",\"md5\":\"b07f77fd3f9828b2c9d61f8a36609741\",\"process_graph_id\":\"pid:2ce412d17b334ad4adc8c1c54dbfec4b:392734873135\",\"process_id\":\"392734873135\",\"sha256\":\"caef4ae19056eeb122a0540508fa8984cea960173ada0dc648cb846d6ef5dd33\",\"timestamp\":\"2023-10-30T16:49:19Z\",\"user_graph_id\":\"uid:2ce412d17b334ad4adc8c1c54dbfec4b:S-1-5-21-1909377054-3469629671-4104191496-4425\",\"user_id\":\"S-1-5-21-1909377054-3469629671-4104191496-4425\",\"user_name\":\"yuvraj.mahajan\"},\"has_script_or_module_ioc\":\"true\",\"id\":\"ind:2ce412d17b334ad4adc8c1c54dbfec4b:399748687993-5761-42627600\",\"indicator_id\":\"ind:2ce412d17b334ad4adc8c1c54dbfec4b:399748687993-5761-42627600\",\"ioc_context\":[{\"ioc_description\":\"\\\\Device\\\\HarddiskVolume3\\\\Users\\\\yuvraj.mahajan\\\\AppData\\\\Local\\\\Temp\\\\Temp3cc4c329-2896-461f-9dea-88009eb2e8fb_pfSenseFirewallOpenVPNClients-20230823T120504Z-001.zip\\\\pfSenseFirewallOpenVPNClients\\\\Windows\\\\openvpn-cds-pfSense-UDP4-1194-pfsense-install-2.6.5-I001-amd64.exe\",\"ioc_source\":\"library_load\",\"ioc_type\":\"hash_sha256\",\"ioc_value\":\"b26a6791b72753d2317efd5e1363d93fdd33e611c8b9e08a3b24ea4d755b81fd\",\"md5\":\"cdf9cfebb400ce89d5b6032bfcdc693b\",\"sha256\":\"b26a6791b72753d2317efd5e1363d93fdd33e611c8b9e08a3b24ea4d755b81fd\",\"type\":\"module\"}],\"ioc_values\":[],\"is_synthetic_quarantine_disposition\":true,\"local_process_id\":\"17076\",\"logon_domain\":\"ABSYS\",\"md5\":\"cdf9cfebb400ce89d5b6032bfcdc693b\",\"name\":\"PrewittPupAdwareSensorDetect-Lowest\",\"objective\":\"FalconDetectionMethod\",\"parent_details\":{\"cmdline\":\"C:\\\\WINDOWS\\\\Explorer.EXE\",\"filename\":\"explorer.exe\",\"filepath\":\"\\\\Device\\\\HarddiskVolume3\\\\Windows\\\\explorer.exe\",\"local_process_id\":\"1040\",\"md5\":\"8cc3fcdd7d52d2d5221303c213e044ae\",\"process_graph_id\":\"pid:2ce412d17b334ad4adc8c1c54dbfec4b:392736520876\",\"process_id\":\"392736520876\",\"sha256\":\"0b25d56bd2b4d8a6df45beff7be165117fbf7ba6ba2c07744f039143866335e4\",\"timestamp\":\"2023-11-03T18:00:32Z\",\"user_graph_id\":\"uid:2ce412d17b334ad4adc8c1c54dbfec4b:S-1-5-21-1909377054-3469629671-4104191496-4425\",\"user_id\":\"S-1-5-21-1909377054-3469629671-4104191496-4425\",\"user_name\":\"mohit.jha\"},\"parent_process_id\":\"392736520876\",\"pattern_disposition\":2176,\"pattern_disposition_description\":\"Prevention/Quarantine,processwasblockedfromexecutionandquarantinewasattempted.\",\"pattern_disposition_details\":{\"blocking_unsupported_or_disabled\":false,\"bootup_safeguard_enabled\":false,\"critical_process_disabled\":false,\"detect\":false,\"fs_operation_blocked\":false,\"handle_operation_downgraded\":false,\"inddet_mask\":false,\"indicator\":false,\"kill_action_failed\":false,\"kill_parent\":false,\"kill_process\":false,\"kill_subprocess\":false,\"operation_blocked\":false,\"policy_disabled\":false,\"process_blocked\":true,\"quarantine_file\":true,\"quarantine_machine\":false,\"registry_operation_blocked\":false,\"rooting\":false,\"sensor_only\":false,\"suspend_parent\":false,\"suspend_process\":false},\"pattern_id\":5761,\"platform\":\"Windows\",\"poly_id\":\"AACSASiWEnxKlIIaw8LWC-8XINBatE2uYZaWqRAAATiEEfPFwhoY4opnh1CQjm0tvUQp4Lu5eOAx29ZVj-qrGrA==\",\"process_end_time\":\"1699034421\",\"process_id\":\"399748687993\",\"process_start_time\":\"1699034413\",\"product\":\"epp\",\"quarantined_files\":[{\"filename\":\"\\\\Device\\\\Volume3\\\\Users\\\\yuvraj.mahajan\\\\AppData\\\\Local\\\\Temp\\\\Temp3cc4c329-2896-461f-9dea-88009eb2e8fb_pfSenseFirewallOpenVPNClients-20230823T120504Z-001.zip\\\\pfSenseFirewallOpenVPNClients\\\\Windows\\\\openvpn-cds-pfSense-UDP4-1194-pfsense-install-2.6.5-I001-amd64.exe\",\"id\":\"2ce412d17b334ad4adc8c1c54dbfec4b_b26a6791b72753d2317efd5e1363d93fdd33e611c8b9e08a3b24ea4d755b81fd\",\"sha256\":\"b26a6791b72753d2317efd5e1363d93fdd33e611c8b9e08a3b24ea4d755b81fd\",\"state\":\"quarantined\"}],\"scenario\":\"NGAV\",\"severity\":30,\"sha1\":\"0000000000000000000000000000000000000000\",\"sha256\":\"b26a6791b72753d2317efd5e1363d93fdd33e611c8b9e08a3b24ea4d755b81fd\",\"show_in_ui\":true,\"source_products\":[\"FalconInsight\"],\"source_vendors\":[\"CrowdStrike\"],\"status\":\"new\",\"tactic\":\"MachineLearning\",\"tactic_id\":\"CSTA0004\",\"technique\":\"Adware/PUP\",\"technique_id\":\"CST0000\",\"timestamp\":\"2023-11-03T18:00:22.328Z\",\"tree_id\":\"1931778\",\"tree_root\":\"38687993\",\"triggering_process_graph_id\":\"pid:2ce4124ad4adc8c1c54dbfec4b:399748687993\",\"type\":\"ldt\",\"updated_timestamp\":\"2023-11-03T19:00:23.985007341Z\",\"user_id\":\"S-1-5-21-1909377054-3469629671-4104191496-4425\",\"user_name\":\"mohit.jha\"}", "severity": 30 @@ -312,9 +312,10 @@ "crowdstrike-alert" ], "threat": { + "framework": "CrowdStrike Falcon Detections Framework", "tactic": { "id": [ - "TA0004" + "CSTA0004" ], "name": [ "MachineLearning" @@ -322,7 +323,7 @@ }, "technique": { "id": [ - "T0000" + "CST0000" ], "name": [ "Adware/PUP" diff --git a/packages/crowdstrike/data_stream/host/agent/stream/cel.yml.hbs b/packages/crowdstrike/data_stream/host/agent/stream/cel.yml.hbs index f85d0e35e6c..b22032157b1 100644 --- a/packages/crowdstrike/data_stream/host/agent/stream/cel.yml.hbs +++ b/packages/crowdstrike/data_stream/host/agent/stream/cel.yml.hbs @@ -26,38 +26,33 @@ state: redact: fields: ~ program: | - state.with( - ( - !state.want_more ? - request( - "GET", - state.url.trim_right("/") + "/devices/queries/devices/v1?" + { - "sort": ["modified_timestamp.asc"], - "offset": ["0"], - "limit": [string(state.batch_size)], - "filter": ['modified_timestamp:>"'+state.?cursor.last_timestamp.orValue(string(now - duration(state.initial_interval)))+'"'], - }.format_query() - ) - : - request( - "GET", - state.url.trim_right("/") + "/devices/queries/devices/v1?" + { - "sort": ["modified_timestamp.asc"], - "offset": [string(state.offset)], - "limit": [string(state.batch_size)], - ?"filter": has(state.?cursor.first_timestamp) ? optional.of(['modified_timestamp:>"'+state.cursor.first_timestamp+'"']) : optional.none(), - }.format_query() - ) - ).do_request().as(get_resp, get_resp.StatusCode == 200 ? - bytes(get_resp.Body).decode_json().as(body, { - ?"resources": has(body.resources) && body.resources.size() > 0 ? optional.of(body.resources) : optional.none(), - "events": [], - "want_more": ((int(state.offset) + body.resources.size()) < body.meta.pagination.total), - "offset": ((int(state.offset) + body.resources.size()) < body.meta.pagination.total) ? - int(state.offset) + body.resources.size() + ( + state.want_more ? + state.?page.start + : + optional.of(state.?cursor.last_timestamp.orValue((now - duration(state.initial_interval)).format(time_layout.RFC3339))) + ).as(filter, state.with( + get_request( + state.url.trim_right("/") + "/devices/queries/devices/v1?" + { + "sort": ["modified_timestamp.asc"], + "offset": [string(state.offset)], + "limit": [string(state.batch_size)], + ?"filter": filter.hasValue() ? + optional.of(['modified_timestamp:>"'+filter.value()+'"']) : - 0, - }) + optional.none(), + }.format_query() + ).do_request().as(get_resp, get_resp.StatusCode == 200 ? + bytes(get_resp.Body).decode_json().as(body, + ( + (int(state.offset) + body.resources.size()) < body.meta.pagination.total + ).as(want_more, { + ?"resources": body.resources.size() > 0 ? optional.of(body.resources) : optional.none(), + "events": [], + "offset": want_more ? int(state.offset) + body.resources.size() : 0, + "want_more": want_more, + }) + ) : { "events": { @@ -87,18 +82,16 @@ program: | "message": e.encode_json(), }), "cursor": { - ?"last_timestamp": ( - has(inner_body.resources) && inner_body.resources.size() > 0 ? - optional.of(inner_body.resources.map(e, e.modified_timestamp).max()) - : - state.?cursor.last_timestamp - ), - "first_timestamp": ( - state.?cursor.first_timestamp.orValue(null) != null ? - (state.want_more ? state.cursor.first_timestamp : state.cursor.last_timestamp) - : - string(now - duration(state.initial_interval)) - ), + ?"last_timestamp": has(inner_body.resources) && inner_body.resources.size() > 0 ? + optional.of(inner_body.resources.map(e, timestamp(e.modified_timestamp)).max().format(time_layout.RFC3339)) + : + state.?cursor.last_timestamp + }, + "page": { + "start": has(state.?page.start) ? + (state.want_more ? state.page.start : state.cursor.last_timestamp) + : + now.format(time_layout.RFC3339) }, }) : @@ -119,7 +112,7 @@ program: | } ) ) - ) + )) tags: {{#if preserve_original_event}} - preserve_original_event diff --git a/packages/crowdstrike/data_stream/host/sample_event.json b/packages/crowdstrike/data_stream/host/sample_event.json index 45a14423a50..187199a7af9 100644 --- a/packages/crowdstrike/data_stream/host/sample_event.json +++ b/packages/crowdstrike/data_stream/host/sample_event.json @@ -1,11 +1,11 @@ { "@timestamp": "2023-11-07T10:26:53.000Z", "agent": { - "ephemeral_id": "5805cb9f-4413-4da3-8da7-b85cd99c2961", - "id": "b095b147-68c9-47a8-a1fc-7fd9dc3764c5", + "ephemeral_id": "0a68d2e5-292d-47a5-9b2f-3b34992483c2", + "id": "8f7b87ad-2943-4c25-88be-4eaac013beb6", "name": "docker-fleet-agent", "type": "filebeat", - "version": "8.11.0" + "version": "8.13.0" }, "crowdstrike": { "host": { @@ -147,7 +147,7 @@ }, "data_stream": { "dataset": "crowdstrike.host", - "namespace": "ep", + "namespace": "42315", "type": "logs" }, "device": { @@ -157,9 +157,9 @@ "version": "8.11.0" }, "elastic_agent": { - "id": "b095b147-68c9-47a8-a1fc-7fd9dc3764c5", + "id": "8f7b87ad-2943-4c25-88be-4eaac013beb6", "snapshot": false, - "version": "8.11.0" + "version": "8.13.0" }, "event": { "agent_id_status": "verified", @@ -167,7 +167,7 @@ "host" ], "dataset": "crowdstrike.host", - "ingested": "2024-01-22T13:24:41Z", + "ingested": "2024-08-08T07:14:40Z", "kind": "event", "original": "{\"agent_load_flags\":\"0\",\"agent_local_time\":\"2023-11-07T04:51:16.678Z\",\"agent_version\":\"7.05.17603.0\",\"bios_manufacturer\":\"ABCInc.\",\"bios_version\":\"2020.0.1.0.0(iBridge:22.11.000.0.0,0)\",\"chassis_type\":\"9\",\"chassis_type_desc\":\"Laptop\",\"cid\":\"92012896127c4948236ba7601b886b0\",\"config_id_base\":\"6594763\",\"config_id_build\":\"1703\",\"config_id_platform\":\"4\",\"connection_ip\":\"81.2.69.192\",\"cpu_signature\":\"460517\",\"device_id\":\"3114433dbce478ca48d9a828b9b34be\",\"device_policies\":{\"device_control\":{\"applied\":true,\"applied_date\":\"2023-06-20T08:45:26.341093915Z\",\"assigned_date\":\"2023-06-20T08:43:47.736146738Z\",\"policy_id\":\"2f88daf0177f467dae69262a5ce71775\",\"policy_type\":\"device-control\"},\"firewall\":{\"applied\":true,\"applied_date\":\"2023-09-11T10:33:44.174488832Z\",\"assigned_date\":\"2023-09-11T10:32:47.853976945Z\",\"policy_id\":\"1ee301f7e3e24e96ad6a23c73aaac1e3\",\"policy_type\":\"firewall\",\"rule_set_id\":\"1ee301f7e3e24e96ad6a23c73aaac1e3\"},\"global_config\":{\"applied\":true,\"applied_date\":\"2023-11-07T04:52:59.515775409Z\",\"assigned_date\":\"2023-11-07T04:51:18.94671252Z\",\"policy_id\":\"7e3078b60976486cac5dc998808d9135\",\"policy_type\":\"globalconfig\",\"settings_hash\":\"f01def74\"},\"prevention\":{\"applied\":true,\"applied_date\":\"2023-06-08T10:04:47.643357971Z\",\"assigned_date\":\"2023-06-08T10:03:49.505180252Z\",\"policy_id\":\"1024fac1b279424fa7300b8ac2d56be5\",\"policy_type\":\"prevention\",\"rule_groups\":[],\"settings_hash\":\"f7a54ca1\"},\"remote_response\":{\"applied\":true,\"applied_date\":\"2023-06-08T10:04:47.01735027Z\",\"assigned_date\":\"2023-06-08T10:03:49.505163572Z\",\"policy_id\":\"dabb4def99034f11b9b3d52271584c9f\",\"policy_type\":\"remote-response\",\"settings_hash\":\"8a548e5e\"},\"sensor_update\":{\"applied\":true,\"applied_date\":\"2023-11-07T04:52:59.659583066Z\",\"assigned_date\":\"2023-11-07T04:47:43.342175341Z\",\"policy_id\":\"64bfa2bbcd4e46da92a66b107933da11\",\"policy_type\":\"sensor-update\",\"settings_hash\":\"tagged|18;101\",\"uninstall_protection\":\"ENABLED\"}},\"external_ip\":\"81.2.69.192\",\"first_seen\":\"2023-06-08T10:00:19Z\",\"group_hash\":\"b607fe25348a46d421ff46e19741b0caf5bbc70bb6da1637f56e97b4e1454d77\",\"groups\":[\"182388a8dbea4c44b5e019cfd32c2695\"],\"hostname\":\"CLM101-131.local\",\"kernel_version\":\"22.6.0\",\"last_seen\":\"2023-11-07T10:25:24Z\",\"local_ip\":\"81.2.69.142\",\"mac_address\":\"14-7d-da-ad-ac-71\",\"machine_domain\":\"SYS\",\"major_version\":\"22\",\"meta\":{\"version\":\"6002\",\"version_string\":\"7:43570272778\"},\"minor_version\":\"6\",\"modified_timestamp\":\"2023-11-07T10:26:53Z\",\"os_build\":\"22G120\",\"os_version\":\"Ventura(13)\",\"platform_id\":\"1\",\"platform_name\":\"Mac\",\"policies\":[{\"applied\":true,\"applied_date\":\"2023-06-08T10:04:47.643357971Z\",\"assigned_date\":\"2023-06-08T10:03:49.505180252Z\",\"policy_id\":\"1024fac1b279424fa7300b8ac2d56be5\",\"policy_type\":\"prevention\",\"rule_groups\":[],\"settings_hash\":\"f7a54ca1\"}],\"product_type_desc\":\"Workstation\",\"provision_status\":\"Provisioned\",\"reduced_functionality_mode\":\"no\",\"serial_number\":\"FVFDH73HMNHX\",\"site_name\":\"Default-First-Site-Name\",\"status\":\"normal\",\"system_manufacturer\":\"ABCInc.\",\"system_product_name\":\"Air,1\",\"tags\":[\"tags\"]}", "type": [ diff --git a/packages/crowdstrike/docs/README.md b/packages/crowdstrike/docs/README.md index fbb790c0e2a..61036fc392d 100644 --- a/packages/crowdstrike/docs/README.md +++ b/packages/crowdstrike/docs/README.md @@ -51,11 +51,11 @@ An example event for `alert` looks as following: { "@timestamp": "2023-11-03T18:00:22.328Z", "agent": { - "ephemeral_id": "532c45c9-f01e-40e0-9406-8997b9a2b29c", - "id": "14bc069f-0d77-4637-b5c7-44a24faa08d5", + "ephemeral_id": "704de05c-668d-431b-8483-ed43ec6a5942", + "id": "8f7b87ad-2943-4c25-88be-4eaac013beb6", "name": "docker-fleet-agent", "type": "filebeat", - "version": "8.12.0" + "version": "8.13.0" }, "crowdstrike": { "alert": { @@ -270,7 +270,7 @@ An example event for `alert` looks as following: }, "data_stream": { "dataset": "crowdstrike.alert", - "namespace": "ep", + "namespace": "15119", "type": "logs" }, "device": { @@ -280,15 +280,15 @@ An example event for `alert` looks as following: "version": "8.11.0" }, "elastic_agent": { - "id": "14bc069f-0d77-4637-b5c7-44a24faa08d5", + "id": "8f7b87ad-2943-4c25-88be-4eaac013beb6", "snapshot": false, - "version": "8.12.0" + "version": "8.13.0" }, "event": { "agent_id_status": "verified", "dataset": "crowdstrike.alert", "id": "ind:2ce412d17b334ad4adc8c1c54dbfec4b:399748687993-5761-42627600", - "ingested": "2024-02-21T09:17:46Z", + "ingested": "2024-08-08T07:13:48Z", "kind": "alert", "original": "{\"agent_id\":\"2ce412d17b334ad4adc8c1c54dbfec4b\",\"aggregate_id\":\"aggind:2ce412d17b334ad4adc8c1c54dbfec4b:163208931778\",\"alleged_filetype\":\"exe\",\"cid\":\"92012896127c4a948236ba7601b886b0\",\"cloud_indicator\":\"false\",\"cmdline\":\"\\\"C:\\\\Users\\\\yuvraj.mahajan\\\\AppData\\\\Local\\\\Temp\\\\Temp3cc4c329-2896-461f-9dea-88009eb2e8fb_pfSenseFirewallOpenVPNClients-20230823T120504Z-001.zip\\\\pfSenseFirewallOpenVPNClients\\\\Windows\\\\openvpn-cds-pfSense-UDP4-1194-pfsense-install-2.6.5-I001-amd64.exe\\\"\",\"composite_id\":\"92012896127c4a8236ba7601b886b0:ind:2ce412d17b334ad4adc8c1c54dbfec4b:399748687993-5761-42627600\",\"confidence\":10,\"context_timestamp\":\"2023-11-03T18:00:31Z\",\"control_graph_id\":\"ctg:2ce4127b334ad4adc8c1c54dbfec4b:163208931778\",\"crawl_edge_ids\":{\"Sensor\":[\"KZcZ=__;K\\u0026cmqQ]Z=W,QK4W.9(rBfs\\\\gfmjTblqI^F-_oNnAWQ\\u0026-o0:dR/\\u003e\\u003e2J\\u003cd2T/ji6R\\u0026RIHe-tZSkP*q?HW;:leq.:kk)\\u003eIVMD36[+=kiQDRm.bB?;d\\\"V0JaQlaltC59Iq6nM?6`\\u003eZAs+LbOJ9p9A;9'WV9^H3XEMs8N\",\"KZcZA__;?\\\"cmott@m_k)MSZ^+C?.cg\\u003cLga#0@71X07*LY2teE56*16pL[=!bjF7g@0jOQE'jT6RX_F@sr#RP-U/d[#nm9A,A,W%cl/T@\\u003cW`alY1K_h%QDBBF;_e7S!!*'!\",\"KZd)iK2;s\\\\ckQl_P*d=Mo?^a7/JKc\\\\*L48169!7I5;0\\\\\\u003cH^hNG\\\"ZQ3#U3\\\"eo\\u003c\\u003e92t[f!\\u003e*b9WLY@H!V0N,BJsNSTD:?/+fY';e\\u003cOHh9AmlT?5\\u003cgGqK:*L99kat+P)eZ$HR\\\"Ql@Q!!!$!rr\",\"N6=Ks_B9Bncmur)?\\\\[fV$k/N5;:6@aB$P;R$2XAaPJ?E\\u003cG5,UfaP')8#2AY4ff+q?T?b0/RBi-YAeGmb\\u003c6Bqp[DZh#I(jObGkjJJaMf\\\\:#mb;BM\\\\L[g!\\\\F*M!!*'!\",\"N6B%O`'=_7d#%u\\u0026d[+LTNDs\\u003c3307?8n=GrFI:4YYGCL,cIt-Tuj!\\u0026\\u003c6:3RbC`uNjL#gW\\u0026=)E`4^/'fp*.bFX@p_$,R6.\\\"=lV*T*5Vf`c.:nkd$+YD:DJ,Ls0[sArC')K%YTc$:@kUQW5s8N\",\"N6B%s!\\\\k)ed$F6\\u003ea%iM\\\"\\u003cFTSe/eH8M:\\u003c9gf;$$.b??kpC*99aX!Lq:g6:Q3@Ga4Zrb@MaMa]L'YAt$IFBu])\\\"H^sF$r7gDPf6\\u0026CHpVKO3\\u003cDgK9,Y/e@V\\\"b\\u0026m!\\u003c\\u003c'\",\"N6CU\\u0026`%VT\\\"d$=67=h\\\\I)/BJH:8-lS!.%\\\\-!$1@bAhtVO?q4]9'9'haE4N0*-0Uh'-'f',YW3]T=jL3D#N=fJi]Pp-bWej+R9q[%h[p]p26NK8q3b50k9G:.\\u0026eM\\u003cQer\\u003e__\\\"59K'R?_=`'`rK/'hA\\\"r+L5i-*Ut5PI!!*'!\",\"N6CUF__;K!d$:[C93.?=/5(`5KnM]!L#UbnSY5HOHc#[6A\\u0026FE;(naXB4h/OG\\\"%MDAR=fo41Z]rXc\\\"J-\\\\\\u0026\\u0026V8UW.?I6V*G+,))Ztu_IuCMV#ZJ:QDJ_EjQmjiX#HENY'WD0rVAV$Gl6_+0e:2$8D)):.LUs+8-S$L!!!$!rr\",\"N6CUF__;K!d$:\\\\N43JV0AO56@6D0$!na(s)d.dQ'iI1*uiKt#j?r\\\"X'\\\\AtNML2_C__7ic6,8Dc[F\\u003c0NTUGtl%HD#?/Y)t8!1X.;G!*FQ9GP-ukQn`6I##\\u0026$^81(P+hN*-#rf/cUs)Wb\\\"\\u003c_/?I'[##WMh'H[Rcl+!!\\u003c\\u003c'\",\"N6L[G__;K!d\\\"qhT7k?[D\\\"Bk:5s%+=\\u003e#DM0j$_\\u003cr/JG0TCEQ!Ug(be3)\\u0026R2JnX+RSqorgC-NCjf6XATBWX(5\\u003cL1J1DV\\u003e44ZjO9q*d!YLuHhkq!3\\u003e3tpi\\u003eOPYZp9]5f1#/AlRZL06`/I6cl\\\"d.\\u0026=To@9kS!prs8N\"]},\"crawl_vertex_ids\":{\"Sensor\":[\"aggind:2ce412d17b334ad4adc8c1c54dbfec4b:163208931778\",\"ctg:2ce412d17b334ad4adc8c1c54dbfec4b:163208931778\",\"ind:2ce412d17b34ad4adc8c1c54dbfec4b:399748687993-5761-42627600\",\"mod:2ce412d17b4ad4adc8c1c54dbfec4b:0b25d56bd2b4d8a6df45beff7be165117fbf7ba6ba2c07744f039143866335e4\",\"mod:2ce412d17b4ad4adc8c1c54dbfec4b:b26a6791b72753d2317efd5e1363d93fdd33e611c8b9e08a3b24ea4d755b81fd\",\"mod:2ce412d17b334ad4adc8c1c54dbfec4b:caef4ae19056eeb122a0540508fa8984cea960173ada0dc648cb846d6ef5dd33\",\"pid:2ce412d17b33d4adc8c1c54dbfec4b:392734873135\",\"pid:2ce412d17b334ad4adc8c1c54dbfec4b:392736520876\",\"pid:2ce412d17b334ad4adc8c1c54dbfec4b:399748687993\",\"quf:2ce412d17b334ad4adc8c1c54dbfec4b:b26a6791b72753d2317efd5e1363d93fdd33e611c8b9e08a3b24ea4d755b81fd\",\"uid:2ce412d17b334ad4adc8c1c54dbfec4b:S-1-5-21-1909377054-3469629671-4104191496-4425\"]},\"crawled_timestamp\":\"2023-11-03T19:00:23.985020992Z\",\"created_timestamp\":\"2023-11-03T18:01:23.995794943Z\",\"data_domains\":[\"Endpoint\"],\"description\":\"ThisfilemeetstheAdware/PUPAnti-malwareMLalgorithm'slowest-confidencethreshold.\",\"device\":{\"agent_load_flags\":\"0\",\"agent_local_time\":\"2023-10-12T03:45:57.753Z\",\"agent_version\":\"7.04.17605.0\",\"bios_manufacturer\":\"ABC\",\"bios_version\":\"F8CN42WW(V2.05)\",\"cid\":\"92012896127c4a948236ba7601b886b0\",\"config_id_base\":\"65994763\",\"config_id_build\":\"17605\",\"config_id_platform\":\"3\",\"device_id\":\"2ce412d17b334ad4adc8c1c54dbfec4b\",\"external_ip\":\"81.2.69.142\",\"first_seen\":\"2023-04-07T09:36:36Z\",\"groups\":[\"18704e21288243b58e4c76266d38caaf\"],\"hostinfo\":{\"active_directory_dn_display\":[\"WinComputers\",\"WinComputers\\\\ABC\"],\"domain\":\"ABC.LOCAL\"},\"hostname\":\"ABC709-1175\",\"last_seen\":\"2023-11-03T17:51:42Z\",\"local_ip\":\"81.2.69.142\",\"mac_address\":\"ab-21-48-61-05-b2\",\"machine_domain\":\"ABC.LOCAL\",\"major_version\":\"10\",\"minor_version\":\"0\",\"modified_timestamp\":\"2023-11-03T17:53:43Z\",\"os_version\":\"Windows11\",\"ou\":[\"ABC\",\"WinComputers\"],\"platform_id\":\"0\",\"platform_name\":\"Windows\",\"pod_labels\":null,\"product_type\":\"1\",\"product_type_desc\":\"Workstation\",\"site_name\":\"Default-First-Site-Name\",\"status\":\"normal\",\"system_manufacturer\":\"LENOVO\",\"system_product_name\":\"20VE\"},\"falcon_host_link\":\"https://falcon.us-2.crowdstrike.com/activity-v2/detections/dhjffg:ind:2ce412d17b334ad4adc8c1c54dbfec4b:399748687993-5761-42627600\",\"filename\":\"openvpn-abc-pfSense-UDP4-1194-pfsense-install-2.6.5-I001-amd64.exe\",\"filepath\":\"\\\\Device\\\\HarddiskVolume3\\\\Users\\\\yuvraj.mahajan\\\\AppData\\\\Local\\\\Temp\\\\Temp3cc4c329-2896-461f-9dea-88009eb2e8fb_pfSenseFirewallOpenVPNClients-20230823T120504Z-001.zip\\\\pfSenseFirewallOpenVPNClients\\\\Windows\\\\openvpn-cds-pfSense-UDP4-1194-pfsense-install-2.6.5-I001-amd64.exe\",\"grandparent_details\":{\"cmdline\":\"C:\\\\Windows\\\\system32\\\\userinit.exe\",\"filename\":\"userinit.exe\",\"filepath\":\"\\\\Device\\\\HarddiskVolume3\\\\Windows\\\\System32\\\\userinit.exe\",\"local_process_id\":\"4328\",\"md5\":\"b07f77fd3f9828b2c9d61f8a36609741\",\"process_graph_id\":\"pid:2ce412d17b334ad4adc8c1c54dbfec4b:392734873135\",\"process_id\":\"392734873135\",\"sha256\":\"caef4ae19056eeb122a0540508fa8984cea960173ada0dc648cb846d6ef5dd33\",\"timestamp\":\"2023-10-30T16:49:19Z\",\"user_graph_id\":\"uid:2ce412d17b334ad4adc8c1c54dbfec4b:S-1-5-21-1909377054-3469629671-4104191496-4425\",\"user_id\":\"S-1-5-21-1909377054-3469629671-4104191496-4425\",\"user_name\":\"yuvraj.mahajan\"},\"has_script_or_module_ioc\":\"true\",\"id\":\"ind:2ce412d17b334ad4adc8c1c54dbfec4b:399748687993-5761-42627600\",\"indicator_id\":\"ind:2ce412d17b334ad4adc8c1c54dbfec4b:399748687993-5761-42627600\",\"ioc_context\":[{\"ioc_description\":\"\\\\Device\\\\HarddiskVolume3\\\\Users\\\\yuvraj.mahajan\\\\AppData\\\\Local\\\\Temp\\\\Temp3cc4c329-2896-461f-9dea-88009eb2e8fb_pfSenseFirewallOpenVPNClients-20230823T120504Z-001.zip\\\\pfSenseFirewallOpenVPNClients\\\\Windows\\\\openvpn-cds-pfSense-UDP4-1194-pfsense-install-2.6.5-I001-amd64.exe\",\"ioc_source\":\"library_load\",\"ioc_type\":\"hash_sha256\",\"ioc_value\":\"b26a6791b72753d2317efd5e1363d93fdd33e611c8b9e08a3b24ea4d755b81fd\",\"md5\":\"cdf9cfebb400ce89d5b6032bfcdc693b\",\"sha256\":\"b26a6791b72753d2317efd5e1363d93fdd33e611c8b9e08a3b24ea4d755b81fd\",\"type\":\"module\"}],\"ioc_values\":[],\"is_synthetic_quarantine_disposition\":true,\"local_process_id\":\"17076\",\"logon_domain\":\"ABSYS\",\"md5\":\"cdf9cfebb400ce89d5b6032bfcdc693b\",\"name\":\"PrewittPupAdwareSensorDetect-Lowest\",\"objective\":\"FalconDetectionMethod\",\"parent_details\":{\"cmdline\":\"C:\\\\WINDOWS\\\\Explorer.EXE\",\"filename\":\"explorer.exe\",\"filepath\":\"\\\\Device\\\\HarddiskVolume3\\\\Windows\\\\explorer.exe\",\"local_process_id\":\"1040\",\"md5\":\"8cc3fcdd7d52d2d5221303c213e044ae\",\"process_graph_id\":\"pid:2ce412d17b334ad4adc8c1c54dbfec4b:392736520876\",\"process_id\":\"392736520876\",\"sha256\":\"0b25d56bd2b4d8a6df45beff7be165117fbf7ba6ba2c07744f039143866335e4\",\"timestamp\":\"2023-11-03T18:00:32Z\",\"user_graph_id\":\"uid:2ce412d17b334ad4adc8c1c54dbfec4b:S-1-5-21-1909377054-3469629671-4104191496-4425\",\"user_id\":\"S-1-5-21-1909377054-3469629671-4104191496-4425\",\"user_name\":\"mohit.jha\"},\"parent_process_id\":\"392736520876\",\"pattern_disposition\":2176,\"pattern_disposition_description\":\"Prevention/Quarantine,processwasblockedfromexecutionandquarantinewasattempted.\",\"pattern_disposition_details\":{\"blocking_unsupported_or_disabled\":false,\"bootup_safeguard_enabled\":false,\"critical_process_disabled\":false,\"detect\":false,\"fs_operation_blocked\":false,\"handle_operation_downgraded\":false,\"inddet_mask\":false,\"indicator\":false,\"kill_action_failed\":false,\"kill_parent\":false,\"kill_process\":false,\"kill_subprocess\":false,\"operation_blocked\":false,\"policy_disabled\":false,\"process_blocked\":true,\"quarantine_file\":true,\"quarantine_machine\":false,\"registry_operation_blocked\":false,\"rooting\":false,\"sensor_only\":false,\"suspend_parent\":false,\"suspend_process\":false},\"pattern_id\":5761,\"platform\":\"Windows\",\"poly_id\":\"AACSASiWEnxKlIIaw8LWC-8XINBatE2uYZaWqRAAATiEEfPFwhoY4opnh1CQjm0tvUQp4Lu5eOAx29ZVj-qrGrA==\",\"process_end_time\":\"1699034421\",\"process_id\":\"399748687993\",\"process_start_time\":\"1699034413\",\"product\":\"epp\",\"quarantined_files\":[{\"filename\":\"\\\\Device\\\\Volume3\\\\Users\\\\yuvraj.mahajan\\\\AppData\\\\Local\\\\Temp\\\\Temp3cc4c329-2896-461f-9dea-88009eb2e8fb_pfSenseFirewallOpenVPNClients-20230823T120504Z-001.zip\\\\pfSenseFirewallOpenVPNClients\\\\Windows\\\\openvpn-cds-pfSense-UDP4-1194-pfsense-install-2.6.5-I001-amd64.exe\",\"id\":\"2ce412d17b334ad4adc8c1c54dbfec4b_b26a6791b72753d2317efd5e1363d93fdd33e611c8b9e08a3b24ea4d755b81fd\",\"sha256\":\"b26a6791b72753d2317efd5e1363d93fdd33e611c8b9e08a3b24ea4d755b81fd\",\"state\":\"quarantined\"}],\"scenario\":\"NGAV\",\"severity\":30,\"sha1\":\"0000000000000000000000000000000000000000\",\"sha256\":\"b26a6791b72753d2317efd5e1363d93fdd33e611c8b9e08a3b24ea4d755b81fd\",\"show_in_ui\":true,\"source_products\":[\"FalconInsight\"],\"source_vendors\":[\"CrowdStrike\"],\"status\":\"new\",\"tactic\":\"MachineLearning\",\"tactic_id\":\"CSTA0004\",\"technique\":\"Adware/PUP\",\"technique_id\":\"CST0000\",\"timestamp\":\"2023-11-03T18:00:22.328Z\",\"tree_id\":\"1931778\",\"tree_root\":\"38687993\",\"triggering_process_graph_id\":\"pid:2ce4124ad4adc8c1c54dbfec4b:399748687993\",\"type\":\"ldt\",\"updated_timestamp\":\"2023-11-03T19:00:23.985007341Z\",\"user_id\":\"S-1-5-21-1909377054-3469629671-4104191496-4425\",\"user_name\":\"mohit.jha\"}", "severity": 30 @@ -362,9 +362,10 @@ An example event for `alert` looks as following: "crowdstrike-alert" ], "threat": { + "framework": "CrowdStrike Falcon Detections Framework", "tactic": { "id": [ - "TA0004" + "CSTA0004" ], "name": [ "MachineLearning" @@ -372,7 +373,7 @@ An example event for `alert` looks as following: }, "technique": { "id": [ - "T0000" + "CST0000" ], "name": [ "Adware/PUP" @@ -1668,11 +1669,11 @@ An example event for `host` looks as following: { "@timestamp": "2023-11-07T10:26:53.000Z", "agent": { - "ephemeral_id": "5805cb9f-4413-4da3-8da7-b85cd99c2961", - "id": "b095b147-68c9-47a8-a1fc-7fd9dc3764c5", + "ephemeral_id": "0a68d2e5-292d-47a5-9b2f-3b34992483c2", + "id": "8f7b87ad-2943-4c25-88be-4eaac013beb6", "name": "docker-fleet-agent", "type": "filebeat", - "version": "8.11.0" + "version": "8.13.0" }, "crowdstrike": { "host": { @@ -1814,7 +1815,7 @@ An example event for `host` looks as following: }, "data_stream": { "dataset": "crowdstrike.host", - "namespace": "ep", + "namespace": "42315", "type": "logs" }, "device": { @@ -1824,9 +1825,9 @@ An example event for `host` looks as following: "version": "8.11.0" }, "elastic_agent": { - "id": "b095b147-68c9-47a8-a1fc-7fd9dc3764c5", + "id": "8f7b87ad-2943-4c25-88be-4eaac013beb6", "snapshot": false, - "version": "8.11.0" + "version": "8.13.0" }, "event": { "agent_id_status": "verified", @@ -1834,7 +1835,7 @@ An example event for `host` looks as following: "host" ], "dataset": "crowdstrike.host", - "ingested": "2024-01-22T13:24:41Z", + "ingested": "2024-08-08T07:14:40Z", "kind": "event", "original": "{\"agent_load_flags\":\"0\",\"agent_local_time\":\"2023-11-07T04:51:16.678Z\",\"agent_version\":\"7.05.17603.0\",\"bios_manufacturer\":\"ABCInc.\",\"bios_version\":\"2020.0.1.0.0(iBridge:22.11.000.0.0,0)\",\"chassis_type\":\"9\",\"chassis_type_desc\":\"Laptop\",\"cid\":\"92012896127c4948236ba7601b886b0\",\"config_id_base\":\"6594763\",\"config_id_build\":\"1703\",\"config_id_platform\":\"4\",\"connection_ip\":\"81.2.69.192\",\"cpu_signature\":\"460517\",\"device_id\":\"3114433dbce478ca48d9a828b9b34be\",\"device_policies\":{\"device_control\":{\"applied\":true,\"applied_date\":\"2023-06-20T08:45:26.341093915Z\",\"assigned_date\":\"2023-06-20T08:43:47.736146738Z\",\"policy_id\":\"2f88daf0177f467dae69262a5ce71775\",\"policy_type\":\"device-control\"},\"firewall\":{\"applied\":true,\"applied_date\":\"2023-09-11T10:33:44.174488832Z\",\"assigned_date\":\"2023-09-11T10:32:47.853976945Z\",\"policy_id\":\"1ee301f7e3e24e96ad6a23c73aaac1e3\",\"policy_type\":\"firewall\",\"rule_set_id\":\"1ee301f7e3e24e96ad6a23c73aaac1e3\"},\"global_config\":{\"applied\":true,\"applied_date\":\"2023-11-07T04:52:59.515775409Z\",\"assigned_date\":\"2023-11-07T04:51:18.94671252Z\",\"policy_id\":\"7e3078b60976486cac5dc998808d9135\",\"policy_type\":\"globalconfig\",\"settings_hash\":\"f01def74\"},\"prevention\":{\"applied\":true,\"applied_date\":\"2023-06-08T10:04:47.643357971Z\",\"assigned_date\":\"2023-06-08T10:03:49.505180252Z\",\"policy_id\":\"1024fac1b279424fa7300b8ac2d56be5\",\"policy_type\":\"prevention\",\"rule_groups\":[],\"settings_hash\":\"f7a54ca1\"},\"remote_response\":{\"applied\":true,\"applied_date\":\"2023-06-08T10:04:47.01735027Z\",\"assigned_date\":\"2023-06-08T10:03:49.505163572Z\",\"policy_id\":\"dabb4def99034f11b9b3d52271584c9f\",\"policy_type\":\"remote-response\",\"settings_hash\":\"8a548e5e\"},\"sensor_update\":{\"applied\":true,\"applied_date\":\"2023-11-07T04:52:59.659583066Z\",\"assigned_date\":\"2023-11-07T04:47:43.342175341Z\",\"policy_id\":\"64bfa2bbcd4e46da92a66b107933da11\",\"policy_type\":\"sensor-update\",\"settings_hash\":\"tagged|18;101\",\"uninstall_protection\":\"ENABLED\"}},\"external_ip\":\"81.2.69.192\",\"first_seen\":\"2023-06-08T10:00:19Z\",\"group_hash\":\"b607fe25348a46d421ff46e19741b0caf5bbc70bb6da1637f56e97b4e1454d77\",\"groups\":[\"182388a8dbea4c44b5e019cfd32c2695\"],\"hostname\":\"CLM101-131.local\",\"kernel_version\":\"22.6.0\",\"last_seen\":\"2023-11-07T10:25:24Z\",\"local_ip\":\"81.2.69.142\",\"mac_address\":\"14-7d-da-ad-ac-71\",\"machine_domain\":\"SYS\",\"major_version\":\"22\",\"meta\":{\"version\":\"6002\",\"version_string\":\"7:43570272778\"},\"minor_version\":\"6\",\"modified_timestamp\":\"2023-11-07T10:26:53Z\",\"os_build\":\"22G120\",\"os_version\":\"Ventura(13)\",\"platform_id\":\"1\",\"platform_name\":\"Mac\",\"policies\":[{\"applied\":true,\"applied_date\":\"2023-06-08T10:04:47.643357971Z\",\"assigned_date\":\"2023-06-08T10:03:49.505180252Z\",\"policy_id\":\"1024fac1b279424fa7300b8ac2d56be5\",\"policy_type\":\"prevention\",\"rule_groups\":[],\"settings_hash\":\"f7a54ca1\"}],\"product_type_desc\":\"Workstation\",\"provision_status\":\"Provisioned\",\"reduced_functionality_mode\":\"no\",\"serial_number\":\"FVFDH73HMNHX\",\"site_name\":\"Default-First-Site-Name\",\"status\":\"normal\",\"system_manufacturer\":\"ABCInc.\",\"system_product_name\":\"Air,1\",\"tags\":[\"tags\"]}", "type": [ diff --git a/packages/crowdstrike/manifest.yml b/packages/crowdstrike/manifest.yml index 989018fe46a..814c70c5928 100644 --- a/packages/crowdstrike/manifest.yml +++ b/packages/crowdstrike/manifest.yml @@ -1,6 +1,6 @@ name: crowdstrike title: CrowdStrike -version: "1.39.1" +version: "1.39.2" description: Collect logs from Crowdstrike with Elastic Agent. type: integration format_version: "3.0.3" From bc75c90924aed399a3032be26dd1a4d9cadf79e5 Mon Sep 17 00:00:00 2001 From: Dan Kortschak Date: Fri, 23 Aug 2024 02:39:16 +0930 Subject: [PATCH 06/33] entityanalytics_okta: add support for request trace logging (#10764) --- packages/entityanalytics_okta/changelog.yml | 5 +++++ .../user/_dev/test/system/test-default-config.yml | 1 + .../data_stream/user/agent/stream/entity-analytics.yml.hbs | 4 ++++ .../entityanalytics_okta/data_stream/user/manifest.yml | 7 +++++++ packages/entityanalytics_okta/manifest.yml | 4 ++-- 5 files changed, 19 insertions(+), 2 deletions(-) diff --git a/packages/entityanalytics_okta/changelog.yml b/packages/entityanalytics_okta/changelog.yml index f40e7c26f7d..72f61baa5ae 100644 --- a/packages/entityanalytics_okta/changelog.yml +++ b/packages/entityanalytics_okta/changelog.yml @@ -1,4 +1,9 @@ # newer versions go on top +- version: "1.4.0" + changes: + - description: Add support for request trace logging. + type: enhancement + link: https://github.com/elastic/integrations/pull/10764 - version: "1.3.0" changes: - description: Record whether a user's credentials include a recovery question. diff --git a/packages/entityanalytics_okta/data_stream/user/_dev/test/system/test-default-config.yml b/packages/entityanalytics_okta/data_stream/user/_dev/test/system/test-default-config.yml index 48e16b7c80d..8db4e54f646 100644 --- a/packages/entityanalytics_okta/data_stream/user/_dev/test/system/test-default-config.yml +++ b/packages/entityanalytics_okta/data_stream/user/_dev/test/system/test-default-config.yml @@ -5,6 +5,7 @@ data_stream: okta_domain: trial-xxxxxxx-admin.okta.com okta_token: xxxx preserve_duplicate_custom_fields: true + enable_request_tracer: true ssl: | certificate_authorities: - | diff --git a/packages/entityanalytics_okta/data_stream/user/agent/stream/entity-analytics.yml.hbs b/packages/entityanalytics_okta/data_stream/user/agent/stream/entity-analytics.yml.hbs index 435401ea7e0..ef98cb59e2b 100644 --- a/packages/entityanalytics_okta/data_stream/user/agent/stream/entity-analytics.yml.hbs +++ b/packages/entityanalytics_okta/data_stream/user/agent/stream/entity-analytics.yml.hbs @@ -1,4 +1,8 @@ provider: okta +{{#if enable_request_tracer}} +tracer.filename: "../../logs/okta/http-request-trace-*.ndjson" +tracer.maxbackups: 5 +{{/if}} {{#if id}} id: {{id}} {{/if}} diff --git a/packages/entityanalytics_okta/data_stream/user/manifest.yml b/packages/entityanalytics_okta/data_stream/user/manifest.yml index e57abfa0c76..bd36061a3c5 100644 --- a/packages/entityanalytics_okta/data_stream/user/manifest.yml +++ b/packages/entityanalytics_okta/data_stream/user/manifest.yml @@ -103,6 +103,13 @@ streams: # yvgJ38BRsFOtkRuAGSf6ZUwTO8JJRRIFnpUzXflAnGivK9M13D5GEQMmIl6U9Pvk # sxSmbIUfc2SGJGCJD4I= # -----END CERTIFICATE----- + - name: enable_request_tracer + type: bool + title: Enable request tracing + multi: false + required: false + show_user: false + description: The request tracer logs requests and responses to the agent's local file-system for debugging configurations. Enabling this request tracing compromises security and should only be used for debugging. See [documentation](https://www.elastic.co/guide/en/beats/filebeat/current/filebeat-input-cel.html#_resource_tracer_filename) for details. - name: tags type: text title: Tags diff --git a/packages/entityanalytics_okta/manifest.yml b/packages/entityanalytics_okta/manifest.yml index 3e36b795595..56e2727f69b 100644 --- a/packages/entityanalytics_okta/manifest.yml +++ b/packages/entityanalytics_okta/manifest.yml @@ -1,14 +1,14 @@ format_version: "3.0.2" name: entityanalytics_okta title: Okta Entity Analytics -version: "1.3.0" +version: "1.4.0" description: "Collect User Identities from Okta with Elastic Agent." type: integration categories: - security conditions: kibana: - version: "^8.13.0" + version: "^8.15.0" elastic: subscription: "basic" screenshots: From c5862b6f3f70e2b2652cb961ddb9d857edb42589 Mon Sep 17 00:00:00 2001 From: Nicholas Berlin <56366649+nicholasberlin@users.noreply.github.com> Date: Thu, 22 Aug 2024 14:14:06 -0400 Subject: [PATCH 07/33] Preserve auditd.log.record_type (#10829) * Preserve auditd.log.record_type Rather than renaming `auditd.log.record_type` to `event.action` and silently failing if `event.action` was pre-existing, set `event.action` with a copy of `auditd.log.record_type` if `event.type` is emtpy. This will preserve `auditd.log.record_type` if `event.type` is empty. --- packages/auditd/changelog.yml | 5 ++ .../test/pipeline/test-auditd-enriched.log | 1 + .../test-auditd-enriched.log-expected.json | 89 +++++++++++++++++++ .../test-auditd-raw.log-expected.json | 17 +++- .../test-truncated-execve.log-expected.json | 4 + .../elasticsearch/ingest_pipeline/default.yml | 8 +- .../auditd/data_stream/log/fields/fields.yml | 40 +++++++++ packages/auditd/docs/README.md | 15 ++++ packages/auditd/manifest.yml | 2 +- 9 files changed, 175 insertions(+), 6 deletions(-) diff --git a/packages/auditd/changelog.yml b/packages/auditd/changelog.yml index b2e23bcb4b9..a9a94f5a7be 100644 --- a/packages/auditd/changelog.yml +++ b/packages/auditd/changelog.yml @@ -1,4 +1,9 @@ # newer versions go on top +- version: "3.20.1" + changes: + - description: "Preserve auditd.log.record_type and fallback to auditd.log.SYSCALL" + type: bugfix + link: https://github.com/elastic/integrations/pull/10829 - version: "3.20.0" changes: - description: "Allow @custom pipeline access to event.original without setting preserve_original_event." diff --git a/packages/auditd/data_stream/log/_dev/test/pipeline/test-auditd-enriched.log b/packages/auditd/data_stream/log/_dev/test/pipeline/test-auditd-enriched.log index 760f90b3559..6e5fda9f3f3 100644 --- a/packages/auditd/data_stream/log/_dev/test/pipeline/test-auditd-enriched.log +++ b/packages/auditd/data_stream/log/_dev/test/pipeline/test-auditd-enriched.log @@ -1,3 +1,4 @@ type=SOCKADDR msg=audit(1666825569.818:23260118): saddr=02000000000000000000000000000000SADDR={ saddr_fam=inet laddr=0.0.0.0 lport=0 } type=SOCKADDR msg=audit(1666825569.435:23260106): saddr=0A00DE9900000000000000000000000000002a02cf40000000000000SADDR={ saddr_fam=inet6 laddr=2a02:cf40:: lport=56985 } type=SOCKADDR msg=audit(1666825568.865:23260105): saddr=0100SADDR={ saddr_fam=local sockaddr len too short } +node=praorem001 type=SYSCALL msg=audit(1723109482.048:4981103): arch=c000003e syscall=87 success=yes exit=0 a0=7f1118081d10 a1=7f1118081d10 a2=242 a3=180 items=2 ppid=560201 pid=560348 auid=1561577791 uid=2012 gid=2007 euid=2012 suid=2012 fsuid=2012 egid=2007 sgid=2007 fsgid=2007 tty=(none) ses=126 comm="httpd" exe="/app/ogc101/app/dllogc/product/13.5.0/mw_100/ohs/bin/httpd" key="delete"ARCH=x86_64 SYSCALL=unlink AUID="na-uoradbdba03" UID="dllogc" GID="oinstall" EUID="dllogc" SUID="dllogc" FSUID="dllogc" EGID="oinstall" SGID="oinstall" FSGID="oinstall" diff --git a/packages/auditd/data_stream/log/_dev/test/pipeline/test-auditd-enriched.log-expected.json b/packages/auditd/data_stream/log/_dev/test/pipeline/test-auditd-enriched.log-expected.json index b25cee511e8..93f050f1ddc 100644 --- a/packages/auditd/data_stream/log/_dev/test/pipeline/test-auditd-enriched.log-expected.json +++ b/packages/auditd/data_stream/log/_dev/test/pipeline/test-auditd-enriched.log-expected.json @@ -7,6 +7,7 @@ "laddr": "0.0.0.0", "lport": 0, "original_field": "saddr", + "record_type": "SOCKADDR", "saddr": "02000000000000000000000000000000", "saddr_fam": "inet", "sequence": 23260118 @@ -31,6 +32,7 @@ "laddr": "2a02:cf40::", "lport": 56985, "original_field": "saddr", + "record_type": "SOCKADDR", "saddr": "0A00DE9900000000000000000000000000002a02cf40000000000000", "saddr_fam": "inet6", "sequence": 23260106 @@ -53,6 +55,7 @@ "auditd": { "log": { "original_field": "saddr", + "record_type": "SOCKADDR", "saddr": "0100", "saddr_fam": "local sockaddr len too short", "sequence": 23260105 @@ -69,6 +72,92 @@ "tags": [ "preserve_original_event" ] + }, + { + "@timestamp": "2024-08-08T09:31:22.048Z", + "auditd": { + "log": { + "AUID": "na-uoradbdba03", + "EGID": "oinstall", + "EUID": "dllogc", + "FSGID": "oinstall", + "FSUID": "dllogc", + "GID": "oinstall", + "SGID": "oinstall", + "SUID": "dllogc", + "SYSCALL": "unlink", + "UID": "dllogc", + "a0": "7f1118081d10", + "a1": "7f1118081d10", + "a2": "242", + "a3": "180", + "items": "2", + "key": "delete\"\u001dARCH=x86_64", + "node": "praorem001", + "record_type": "SYSCALL", + "sequence": 4981103, + "ses": "126", + "success": true, + "syscall": "87", + "tty": "(none)" + } + }, + "ecs": { + "version": "8.11.0" + }, + "event": { + "action": "syscall", + "category": [ + "process" + ], + "kind": "event", + "original": "node=praorem001 type=SYSCALL msg=audit(1723109482.048:4981103): arch=c000003e syscall=87 success=yes exit=0 a0=7f1118081d10 a1=7f1118081d10 a2=242 a3=180 items=2 ppid=560201 pid=560348 auid=1561577791 uid=2012 gid=2007 euid=2012 suid=2012 fsuid=2012 egid=2007 sgid=2007 fsgid=2007 tty=(none) ses=126 comm=\"httpd\" exe=\"/app/ogc101/app/dllogc/product/13.5.0/mw_100/ohs/bin/httpd\" key=\"delete\"\u001dARCH=x86_64 SYSCALL=unlink AUID=\"na-uoradbdba03\" UID=\"dllogc\" GID=\"oinstall\" EUID=\"dllogc\" SUID=\"dllogc\" FSUID=\"dllogc\" EGID=\"oinstall\" SGID=\"oinstall\" FSGID=\"oinstall\"", + "type": [ + "info" + ] + }, + "host": { + "architecture": "x86_64" + }, + "process": { + "executable": "/app/ogc101/app/dllogc/product/13.5.0/mw_100/ohs/bin/httpd", + "exit_code": 0, + "name": "httpd", + "parent": { + "pid": 560201 + }, + "pid": 560348 + }, + "tags": [ + "preserve_original_event" + ], + "user": { + "audit": { + "id": "1561577791" + }, + "effective": { + "group": { + "id": "2007" + }, + "id": "2012" + }, + "filesystem": { + "group": { + "id": "2007" + }, + "id": "2012" + }, + "group": { + "id": "2007" + }, + "id": "2012", + "saved": { + "group": { + "id": "2007" + }, + "id": "2012" + } + } } ] } \ No newline at end of file diff --git a/packages/auditd/data_stream/log/_dev/test/pipeline/test-auditd-raw.log-expected.json b/packages/auditd/data_stream/log/_dev/test/pipeline/test-auditd-raw.log-expected.json index 701eea29e17..f95c8d78728 100644 --- a/packages/auditd/data_stream/log/_dev/test/pipeline/test-auditd-raw.log-expected.json +++ b/packages/auditd/data_stream/log/_dev/test/pipeline/test-auditd-raw.log-expected.json @@ -6,6 +6,7 @@ "log": { "dst_prefixlen": 16, "op": "SPD-delete", + "record_type": "MAC_IPSEC_EVENT", "sequence": 18877201, "ses": "4294967295", "src_prefixlen": 24 @@ -42,6 +43,7 @@ "log": { "a0": "9", "items": "0", + "record_type": "SYSCALL", "sequence": 18877199, "ses": "4294967295", "success": true, @@ -271,6 +273,7 @@ "auditd": { "log": { "proctitle": "bash", + "record_type": "PROCTITLE", "sequence": 194438 } }, @@ -291,6 +294,7 @@ "auditd": { "log": { "proctitle": "sshd: burn [priv]", + "record_type": "PROCTITLE", "sequence": 194440 } }, @@ -433,6 +437,7 @@ "@timestamp": "2020-02-10T21:59:44.206Z", "auditd": { "log": { + "record_type": "EXECVE", "sequence": 579393 } }, @@ -1782,6 +1787,7 @@ "@timestamp": "2016-12-07T02:20:31.371Z", "auditd": { "log": { + "record_type": "CWD", "sequence": 479 } }, @@ -1812,6 +1818,7 @@ "obj": "system_u:object_r:auditctl_exec_t:s0", "objtype": "NORMAL", "rdev": "00:00", + "record_type": "PATH", "sequence": 479 } }, @@ -1837,7 +1844,9 @@ }, { "auditd": { - "log": {} + "log": { + "record_type": "UNKNOWN[1329]" + } }, "ecs": { "version": "8.11.0" @@ -1866,6 +1875,7 @@ "old_pe": "0000000000000000", "old_pi": "0000000000000000", "old_pp": "0000000000000000", + "record_type": "BPRM_FCAPS", "sequence": 529 } }, @@ -1885,6 +1895,7 @@ "@timestamp": "2016-12-07T02:40:24.953Z", "auditd": { "log": { + "record_type": "SOCKADDR", "saddr": "02000050A9FEA9FE0000000000000000", "sequence": 688 } @@ -1905,6 +1916,7 @@ "@timestamp": "2016-12-07T02:42:33.346Z", "auditd": { "log": { + "record_type": "CKADDR", "saddr": "02000050A9FEA9FE0000000000000000", "sequence": 737 } @@ -2054,6 +2066,7 @@ }, "capability": "3", "permissive": "1", + "record_type": "AVC", "scontext": "system_u:system_r:syslogd_t:s0", "sequence": 105992, "tclass": "capability", @@ -2088,6 +2101,7 @@ "dev": "dm-0", "ino": "188999", "name": "c73a516004b572d8c845c74c49b2511d:runtime.tmp", + "record_type": "AVC", "scontext": "test_u:staff_r:oddjob_mkhomedir_t:s0", "sequence": 101, "tclass": "lnk_file", @@ -2168,6 +2182,7 @@ "dev": "dm-0", "ino": "402139", "path": "/usr/move_file/move_file_c", + "record_type": "AVC", "scontext": "unconfined_u:unconfined_r:unconfined_t", "sequence": 311, "tclass": "process", diff --git a/packages/auditd/data_stream/log/_dev/test/pipeline/test-truncated-execve.log-expected.json b/packages/auditd/data_stream/log/_dev/test/pipeline/test-truncated-execve.log-expected.json index f02900a2788..11aa5708aa0 100644 --- a/packages/auditd/data_stream/log/_dev/test/pipeline/test-truncated-execve.log-expected.json +++ b/packages/auditd/data_stream/log/_dev/test/pipeline/test-truncated-execve.log-expected.json @@ -4,6 +4,7 @@ "@timestamp": "2022-01-24T12:01:08.518Z", "auditd": { "log": { + "record_type": "EXECVE", "sequence": 5009988 } }, @@ -32,6 +33,7 @@ "@timestamp": "2022-01-24T12:01:08.518Z", "auditd": { "log": { + "record_type": "EXECVE", "sequence": 5009988 } }, @@ -127,6 +129,7 @@ "@timestamp": "2022-01-24T12:01:08.518Z", "auditd": { "log": { + "record_type": "EXECVE", "sequence": 5009988 } }, @@ -222,6 +225,7 @@ "@timestamp": "2022-02-08T12:31:02.830Z", "auditd": { "log": { + "record_type": "EXECVE", "sequence": 9381969 } }, diff --git a/packages/auditd/data_stream/log/elasticsearch/ingest_pipeline/default.yml b/packages/auditd/data_stream/log/elasticsearch/ingest_pipeline/default.yml index 852ee14cd8f..69415aaa353 100644 --- a/packages/auditd/data_stream/log/elasticsearch/ingest_pipeline/default.yml +++ b/packages/auditd/data_stream/log/elasticsearch/ingest_pipeline/default.yml @@ -2265,10 +2265,10 @@ processors: - append: field: error.message value: "failed extracting process arguments: {{{ _ingest.on_failure_message }}}" - - rename: - ignore_failure: true - field: auditd.log.record_type - target_field: event.action + - set: + field: event.action + copy_from: auditd.log.record_type + override: false - lowercase: ignore_failure: true field: event.action diff --git a/packages/auditd/data_stream/log/fields/fields.yml b/packages/auditd/data_stream/log/fields/fields.yml index 66a8c3b478f..2745bf7ee44 100644 --- a/packages/auditd/data_stream/log/fields/fields.yml +++ b/packages/auditd/data_stream/log/fields/fields.yml @@ -36,6 +36,18 @@ type: keyword description: | The first argument to the system call. + - name: a1 + type: keyword + description: | + The second argument to the system call. + - name: a2 + type: keyword + description: | + The third argument to the system call. + - name: a3 + type: keyword + description: | + The fourth argument to the system call. - name: addr type: ip - name: avc.action @@ -90,6 +102,9 @@ type: keyword - name: kernel type: keyword + - name: key + type: keyword + description: Records the user defined string associated with a rule that generated a particular event in the Audit log. - name: key_enforce type: boolean - name: img-ctx @@ -213,3 +228,28 @@ type: keyword - name: xdevice type: keyword + +# log_format = ENRICHED fields + - name: ARCH + type: keyword + - name: AUID + type: keyword + - name: EGID + type: keyword + - name: EUID + type: keyword + - name: FSGID + type: keyword + - name: FSUID + type: keyword + - name: GID + type: keyword + - name: SGID + type: keyword + - name: SUID + type: keyword + - name: SYSCALL + type: keyword + - name: UID + type: keyword + diff --git a/packages/auditd/docs/README.md b/packages/auditd/docs/README.md index 9a508d60a4c..e1fa3d900a0 100644 --- a/packages/auditd/docs/README.md +++ b/packages/auditd/docs/README.md @@ -91,7 +91,21 @@ An example event for `log` looks as following: | Field | Description | Type | |---|---|---| | @timestamp | Event timestamp. | date | +| auditd.log.ARCH | | keyword | +| auditd.log.AUID | | keyword | +| auditd.log.EGID | | keyword | +| auditd.log.EUID | | keyword | +| auditd.log.FSGID | | keyword | +| auditd.log.FSUID | | keyword | +| auditd.log.GID | | keyword | +| auditd.log.SGID | | keyword | +| auditd.log.SUID | | keyword | +| auditd.log.SYSCALL | | keyword | +| auditd.log.UID | | keyword | | auditd.log.a0 | The first argument to the system call. | keyword | +| auditd.log.a1 | The second argument to the system call. | keyword | +| auditd.log.a2 | The third argument to the system call. | keyword | +| auditd.log.a3 | The fourth argument to the system call. | keyword | | auditd.log.addr | | ip | | auditd.log.audit_failure | | keyword | | auditd.log.avc.action | | keyword | @@ -120,6 +134,7 @@ An example event for `log` looks as following: | auditd.log.item | The item field indicates which item out of the total number of items. This number is zero-based; a value of 0 means it is the first item. | keyword | | auditd.log.items | The number of items in an event. | keyword | | auditd.log.kernel | | keyword | +| auditd.log.key | Records the user defined string associated with a rule that generated a particular event in the Audit log. | keyword | | auditd.log.key_enforce | | boolean | | auditd.log.kind | | keyword | | auditd.log.ksize | | long | diff --git a/packages/auditd/manifest.yml b/packages/auditd/manifest.yml index 5673be5d1c2..815a35a5ca4 100644 --- a/packages/auditd/manifest.yml +++ b/packages/auditd/manifest.yml @@ -1,6 +1,6 @@ name: auditd title: Auditd Logs -version: "3.20.0" +version: "3.20.1" description: Collect logs from Linux audit daemon with Elastic Agent. type: integration icons: From 06fde1e8d8003a5816eced3c115d6db06603e94e Mon Sep 17 00:00:00 2001 From: "Alex K." <8418476+fearful-symmetry@users.noreply.github.com> Date: Thu, 22 Aug 2024 12:46:01 -0700 Subject: [PATCH 08/33] [network_traffic] Set map_to_ecs to true by default (#10785) * set map_to_ecs to true by default * update changelog * update mongodb fields * update docs * fix changelog * revert name changes, try to get test working * upate readme --- packages/network_traffic/changelog.yml | 5 +++++ packages/network_traffic/data_stream/amqp/manifest.yml | 1 + packages/network_traffic/data_stream/cassandra/manifest.yml | 1 + packages/network_traffic/data_stream/dhcpv4/manifest.yml | 1 + packages/network_traffic/data_stream/dns/manifest.yml | 1 + packages/network_traffic/data_stream/flow/manifest.yml | 1 + packages/network_traffic/data_stream/http/manifest.yml | 1 + packages/network_traffic/data_stream/icmp/manifest.yml | 1 + packages/network_traffic/data_stream/memcached/manifest.yml | 1 + .../_dev/test/system/test-mongo-3-0-session-config.yml | 2 ++ packages/network_traffic/data_stream/mongodb/manifest.yml | 1 + packages/network_traffic/data_stream/mysql/manifest.yml | 1 + packages/network_traffic/data_stream/nfs/manifest.yml | 1 + packages/network_traffic/data_stream/pgsql/manifest.yml | 1 + packages/network_traffic/data_stream/redis/manifest.yml | 1 + packages/network_traffic/data_stream/sip/manifest.yml | 1 + packages/network_traffic/data_stream/thrift/manifest.yml | 1 + packages/network_traffic/data_stream/tls/manifest.yml | 1 + packages/network_traffic/manifest.yml | 2 +- 19 files changed, 24 insertions(+), 1 deletion(-) diff --git a/packages/network_traffic/changelog.yml b/packages/network_traffic/changelog.yml index 8f744c24649..22d240edc5c 100644 --- a/packages/network_traffic/changelog.yml +++ b/packages/network_traffic/changelog.yml @@ -1,4 +1,9 @@ # newer versions go on top +- version: "1.32.0" + changes: + - description: Set `map_to_ecs` to enabled by default + type: enhancement + link: https://github.com/elastic/integrations/pull/10785 - version: "1.31.0" changes: - description: Expose `with_vlans` and `ignore_outgoing` diff --git a/packages/network_traffic/data_stream/amqp/manifest.yml b/packages/network_traffic/data_stream/amqp/manifest.yml index 0bb2d7afa49..8ca763fcd24 100644 --- a/packages/network_traffic/data_stream/amqp/manifest.yml +++ b/packages/network_traffic/data_stream/amqp/manifest.yml @@ -130,6 +130,7 @@ streams: show_user: true multi: false required: false + default: true title: AMQP description: Capture AMQP Traffic template_path: amqp.yml.hbs diff --git a/packages/network_traffic/data_stream/cassandra/manifest.yml b/packages/network_traffic/data_stream/cassandra/manifest.yml index 7ba1ff6cc6d..36ffbd2daa8 100644 --- a/packages/network_traffic/data_stream/cassandra/manifest.yml +++ b/packages/network_traffic/data_stream/cassandra/manifest.yml @@ -117,6 +117,7 @@ streams: show_user: true multi: false required: false + default: true title: Cassandra description: Capture Cassandra Traffic template_path: cassandra.yml.hbs diff --git a/packages/network_traffic/data_stream/dhcpv4/manifest.yml b/packages/network_traffic/data_stream/dhcpv4/manifest.yml index 1aa7607adf5..94ac9799cb8 100644 --- a/packages/network_traffic/data_stream/dhcpv4/manifest.yml +++ b/packages/network_traffic/data_stream/dhcpv4/manifest.yml @@ -65,6 +65,7 @@ streams: show_user: true multi: false required: false + default: true title: DHCP description: Capture DHCP Traffic template_path: dhcpv4.yml.hbs diff --git a/packages/network_traffic/data_stream/dns/manifest.yml b/packages/network_traffic/data_stream/dns/manifest.yml index c8f5a2f50de..5def63d5446 100644 --- a/packages/network_traffic/data_stream/dns/manifest.yml +++ b/packages/network_traffic/data_stream/dns/manifest.yml @@ -120,6 +120,7 @@ streams: show_user: true multi: false required: false + default: true title: DNS description: Capture DNS Traffic template_path: dns.yml.hbs diff --git a/packages/network_traffic/data_stream/flow/manifest.yml b/packages/network_traffic/data_stream/flow/manifest.yml index ed73beef964..7deac984815 100644 --- a/packages/network_traffic/data_stream/flow/manifest.yml +++ b/packages/network_traffic/data_stream/flow/manifest.yml @@ -65,3 +65,4 @@ streams: show_user: true multi: false required: false + default: true diff --git a/packages/network_traffic/data_stream/http/manifest.yml b/packages/network_traffic/data_stream/http/manifest.yml index 2ad867128c8..10fbc4846e7 100644 --- a/packages/network_traffic/data_stream/http/manifest.yml +++ b/packages/network_traffic/data_stream/http/manifest.yml @@ -190,6 +190,7 @@ streams: show_user: true multi: false required: false + default: true title: HTTP description: Capture HTTP Traffic template_path: http.yml.hbs diff --git a/packages/network_traffic/data_stream/icmp/manifest.yml b/packages/network_traffic/data_stream/icmp/manifest.yml index 5476bf1833d..4c150fe8866 100644 --- a/packages/network_traffic/data_stream/icmp/manifest.yml +++ b/packages/network_traffic/data_stream/icmp/manifest.yml @@ -58,3 +58,4 @@ streams: show_user: true multi: false required: false + default: true diff --git a/packages/network_traffic/data_stream/memcached/manifest.yml b/packages/network_traffic/data_stream/memcached/manifest.yml index 8bb55cbbbce..7a8447d27ba 100644 --- a/packages/network_traffic/data_stream/memcached/manifest.yml +++ b/packages/network_traffic/data_stream/memcached/manifest.yml @@ -141,6 +141,7 @@ streams: show_user: true multi: false required: false + default: true title: Memcached description: Capture Memcached Traffic template_path: memcached.yml.hbs diff --git a/packages/network_traffic/data_stream/mongodb/_dev/test/system/test-mongo-3-0-session-config.yml b/packages/network_traffic/data_stream/mongodb/_dev/test/system/test-mongo-3-0-session-config.yml index f3768b9668a..c429d18fd0d 100644 --- a/packages/network_traffic/data_stream/mongodb/_dev/test/system/test-mongo-3-0-session-config.yml +++ b/packages/network_traffic/data_stream/mongodb/_dev/test/system/test-mongo-3-0-session-config.yml @@ -4,5 +4,7 @@ input: packet numeric_keyword_fields: - mongodb.cursorId - mongodb.startingFrom + - network_traffic.mongodb.cursorId + - network_traffic.mongodb.startingFrom data_stream: vars: ~ diff --git a/packages/network_traffic/data_stream/mongodb/manifest.yml b/packages/network_traffic/data_stream/mongodb/manifest.yml index 0ac427c7089..0417d397ab9 100644 --- a/packages/network_traffic/data_stream/mongodb/manifest.yml +++ b/packages/network_traffic/data_stream/mongodb/manifest.yml @@ -111,6 +111,7 @@ streams: show_user: true multi: false required: false + default: true title: MongoDB description: Capture MongoDB Traffic template_path: mongodb.yml.hbs diff --git a/packages/network_traffic/data_stream/mysql/manifest.yml b/packages/network_traffic/data_stream/mysql/manifest.yml index e6de4480a9b..34b106f3206 100644 --- a/packages/network_traffic/data_stream/mysql/manifest.yml +++ b/packages/network_traffic/data_stream/mysql/manifest.yml @@ -92,6 +92,7 @@ streams: show_user: true multi: false required: false + default: true title: MySQL description: Capture MySQL Traffic template_path: mysql.yml.hbs diff --git a/packages/network_traffic/data_stream/nfs/manifest.yml b/packages/network_traffic/data_stream/nfs/manifest.yml index 279a6783ba6..7e150ddab0b 100644 --- a/packages/network_traffic/data_stream/nfs/manifest.yml +++ b/packages/network_traffic/data_stream/nfs/manifest.yml @@ -92,6 +92,7 @@ streams: show_user: true multi: false required: false + default: true title: NFS description: Capture NFS Traffic template_path: nfs.yml.hbs diff --git a/packages/network_traffic/data_stream/pgsql/manifest.yml b/packages/network_traffic/data_stream/pgsql/manifest.yml index 4d03ad0cdb8..54986404131 100644 --- a/packages/network_traffic/data_stream/pgsql/manifest.yml +++ b/packages/network_traffic/data_stream/pgsql/manifest.yml @@ -92,6 +92,7 @@ streams: show_user: true multi: false required: false + default: true title: PostgreSQL description: Capture PostgreSQL Traffic template_path: pgsql.yml.hbs diff --git a/packages/network_traffic/data_stream/redis/manifest.yml b/packages/network_traffic/data_stream/redis/manifest.yml index b8d8042e004..f29675ff2d5 100644 --- a/packages/network_traffic/data_stream/redis/manifest.yml +++ b/packages/network_traffic/data_stream/redis/manifest.yml @@ -111,6 +111,7 @@ streams: show_user: true multi: false required: false + default: true title: Redis description: Capture Redis Traffic template_path: redis.yml.hbs diff --git a/packages/network_traffic/data_stream/sip/manifest.yml b/packages/network_traffic/data_stream/sip/manifest.yml index d465123ed08..6a8c120e376 100644 --- a/packages/network_traffic/data_stream/sip/manifest.yml +++ b/packages/network_traffic/data_stream/sip/manifest.yml @@ -86,6 +86,7 @@ streams: show_user: true multi: false required: false + default: true title: SIP description: Capture SIP Traffic template_path: sip.yml.hbs diff --git a/packages/network_traffic/data_stream/thrift/manifest.yml b/packages/network_traffic/data_stream/thrift/manifest.yml index e233a99a875..ff933e5c572 100644 --- a/packages/network_traffic/data_stream/thrift/manifest.yml +++ b/packages/network_traffic/data_stream/thrift/manifest.yml @@ -166,6 +166,7 @@ streams: show_user: true multi: false required: false + default: true title: Thrift description: Capture Thrift Traffic template_path: thrift.yml.hbs diff --git a/packages/network_traffic/data_stream/tls/manifest.yml b/packages/network_traffic/data_stream/tls/manifest.yml index 4eaebadfca0..565faccf81b 100644 --- a/packages/network_traffic/data_stream/tls/manifest.yml +++ b/packages/network_traffic/data_stream/tls/manifest.yml @@ -92,6 +92,7 @@ streams: show_user: true multi: false required: false + default: true title: TLS description: Capture TLS Traffic template_path: tls.yml.hbs diff --git a/packages/network_traffic/manifest.yml b/packages/network_traffic/manifest.yml index b1d4aabe2b6..01aecf2675a 100644 --- a/packages/network_traffic/manifest.yml +++ b/packages/network_traffic/manifest.yml @@ -1,7 +1,7 @@ format_version: "3.0.0" name: network_traffic title: Network Packet Capture -version: "1.31.0" +version: "1.32.0" description: Capture and analyze network traffic from a host with Elastic Agent. type: integration categories: From dd1c562209a395e08bc71f1e7d68850ae9477aa4 Mon Sep 17 00:00:00 2001 From: Harnish Chavda <118714680+harnish-elastic@users.noreply.github.com> Date: Fri, 23 Aug 2024 10:26:51 +0530 Subject: [PATCH 09/33] [O11y][MYSQL] Add `schemaname` field in the performance data stream (#10749) * Add `schemaname` field in the performance data stream * update changelog.yml --- packages/mysql/changelog.yml | 5 +++++ .../performance/elasticsearch/ingest_pipeline/default.yml | 4 +++- packages/mysql/data_stream/performance/fields/fields.yml | 4 ++++ packages/mysql/manifest.yml | 4 ++-- 4 files changed, 14 insertions(+), 3 deletions(-) diff --git a/packages/mysql/changelog.yml b/packages/mysql/changelog.yml index 2959480a6eb..02bbe151663 100644 --- a/packages/mysql/changelog.yml +++ b/packages/mysql/changelog.yml @@ -1,4 +1,9 @@ # newer versions go on top +- version: 1.25.0 + changes: + - description: Add `schemaname` field in the performance data stream. + type: enhancement + link: https://github.com/elastic/integrations/pull/10749 - version: 1.24.0 changes: - description: Add replica_status data stream. diff --git a/packages/mysql/data_stream/performance/elasticsearch/ingest_pipeline/default.yml b/packages/mysql/data_stream/performance/elasticsearch/ingest_pipeline/default.yml index 0b6605d7ea7..c9587f9f8fa 100644 --- a/packages/mysql/data_stream/performance/elasticsearch/ingest_pipeline/default.yml +++ b/packages/mysql/data_stream/performance/elasticsearch/ingest_pipeline/default.yml @@ -17,7 +17,9 @@ processors: ctx.mysql.performance.events_statements.query = digest.text; - fingerprint: - fields: ["mysql.performance.events_statements.query"] + fields: + - mysql.performance.events_statements.query + - mysql.performance.events_statements.schemaname target_field: mysql.performance.events_statements.query_id ignore_failure: true ignore_missing: true diff --git a/packages/mysql/data_stream/performance/fields/fields.yml b/packages/mysql/data_stream/performance/fields/fields.yml index 9e3c110b980..50598e2ba0b 100644 --- a/packages/mysql/data_stream/performance/fields/fields.yml +++ b/packages/mysql/data_stream/performance/fields/fields.yml @@ -4,6 +4,10 @@ - name: events_statements type: group fields: + - name: schemaname + type: keyword + dimension: true + description: Alias for the database name within certain SQL statements. - name: query_id type: keyword # Reason to add as a dimension field: shows results based on queries. diff --git a/packages/mysql/manifest.yml b/packages/mysql/manifest.yml index 0b4772b053b..0e7192f2d36 100644 --- a/packages/mysql/manifest.yml +++ b/packages/mysql/manifest.yml @@ -1,7 +1,7 @@ format_version: "3.0.2" name: mysql title: MySQL -version: "1.24.0" +version: "1.25.0" description: Collect logs and metrics from MySQL servers with Elastic Agent. type: integration categories: @@ -9,7 +9,7 @@ categories: - observability conditions: kibana: - version: "^8.14.0" + version: "^8.15.0" elastic: subscription: basic screenshots: From 6b8379d9852bab410555154f6cac8ec0d237a04e Mon Sep 17 00:00:00 2001 From: Nic Date: Fri, 23 Aug 2024 04:47:16 -0500 Subject: [PATCH 10/33] [system] Fix broken visualization for User Renamed Metric in User Management Events Dashboard (#10698) * Fix broken visualization * Update changelog --- packages/system/changelog.yml | 5 +++++ .../system-71f720f0-ff18-11e9-8405-516218e3d268.json | 2 +- packages/system/manifest.yml | 2 +- 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/packages/system/changelog.yml b/packages/system/changelog.yml index cd61bec12c0..3e854debcbf 100644 --- a/packages/system/changelog.yml +++ b/packages/system/changelog.yml @@ -1,4 +1,9 @@ # newer versions go on top +- version: "1.60.3" + changes: + - description: Fix broken query on Users Renamed + type: bugfix + link: https://github.com/elastic/integrations/pull/10698 - version: "1.60.2" changes: - description: Add windows.forward where it was missing on visualizations and searches. diff --git a/packages/system/kibana/dashboard/system-71f720f0-ff18-11e9-8405-516218e3d268.json b/packages/system/kibana/dashboard/system-71f720f0-ff18-11e9-8405-516218e3d268.json index c83f459bd5c..ebf5b380044 100644 --- a/packages/system/kibana/dashboard/system-71f720f0-ff18-11e9-8405-516218e3d268.json +++ b/packages/system/kibana/dashboard/system-71f720f0-ff18-11e9-8405-516218e3d268.json @@ -4193,7 +4193,7 @@ "dataType": "number", "filter": { "language": "kuery", - "query": "((data_stream.dataset:windows.security OR data_stream.dataset:system.security OR data_stream.dataset:windows.forwarded) AND event.code: \"4781\"" + "query": "((data_stream.dataset:windows.security OR data_stream.dataset:system.security OR data_stream.dataset:windows.forwarded) AND event.code: \"4781\")" }, "isBucketed": false, "label": "Users Renamed", diff --git a/packages/system/manifest.yml b/packages/system/manifest.yml index 1c7b43175d5..eab76b34d10 100644 --- a/packages/system/manifest.yml +++ b/packages/system/manifest.yml @@ -1,7 +1,7 @@ format_version: 3.0.2 name: system title: System -version: "1.60.2" +version: "1.60.3" description: Collect system logs and metrics from your servers with Elastic Agent. type: integration categories: From d6e0c6f54fb0c04a0c50e331a2a0ab7b0ac877c3 Mon Sep 17 00:00:00 2001 From: Chris Berkhout Date: Fri, 23 Aug 2024 13:37:10 +0200 Subject: [PATCH 11/33] [zscaler_zia] In web v8, use b64 fields to avoid encoding issues (#10855) In the web data stream, the v7 response format requested the hex-encoded fields `eurl`, `eurlpath`, `ereferer`, and `erefererpath`. Although those fields have non-printable characters encoded, they aren't fully URL-encoded (e.g. they don't encode `%`), and they may still include characters that can break JSON (including `"`). URLs and their paths sometimes include characters that break the v7 processing, so the following changes have been made in the v8 response format and pipeline. We switch from `eurl` to `b64url` and from `ereferer` to `b64referer`. We no longer request the `eurlpath` and `erefererpath` fields. They have no base64-encoded equivalents. Paths and query strings are present in the URL fields. From the output we remove the `zscaler_zia.web.url.path` and `zscaler_zia.web.referer.path` fields. However, use of the `uri_parts` processor to populate `url.path` and other `url.*` fields remains intact. The ingest pipeline will tolerate absent fields, so the updated package will accept any v7 data that isn't broken by problematic characters and simply skip population of url/path fields. A new `"version":"v8"` field is inserted at the start of the response format to aid future debugging. No validation or use of that field has been added to the ingest pipeline. --- .../zscaler_zia/_dev/build/docs/README.md | 6 +-- packages/zscaler_zia/changelog.yml | 5 ++ .../test/pipeline/test-web-http-endpoint.log | 4 +- .../test-web-http-endpoint.log-expected.json | 4 +- .../web/_dev/test/pipeline/test-web.log | 10 ++-- .../test/pipeline/test-web.log-expected.json | 18 +++---- .../elasticsearch/ingest_pipeline/default.yml | 49 +++++++++---------- .../data_stream/web/fields/fields.yml | 6 --- .../data_stream/web/sample_event.json | 16 +++--- packages/zscaler_zia/docs/README.md | 24 +++++---- packages/zscaler_zia/manifest.yml | 2 +- 11 files changed, 68 insertions(+), 76 deletions(-) diff --git a/packages/zscaler_zia/_dev/build/docs/README.md b/packages/zscaler_zia/_dev/build/docs/README.md index 196b043de25..63df6c548b2 100644 --- a/packages/zscaler_zia/_dev/build/docs/README.md +++ b/packages/zscaler_zia/_dev/build/docs/README.md @@ -214,14 +214,14 @@ Sample Response: ![Escape feed setup image](../img/escape_feed.png?raw=true) See: [Zscaler Vendor documentation](https://help.zscaler.com/zia/nss-feed-output-format-web-logs) -Zscaler Web Log response format (v7): +Zscaler Web Log response format (v8): ``` -\{"sourcetype":"zscalernss-web","event":\{"time":"%s{time}","cloudname":"%s{cloudname}","host":"%s{ehost}","serverip":"%s{sip}","external_devid":"%s{external_devid}","devicemodel":"%s{devicemodel}","action":"%s{action}","recordid":"%d{recordid}","reason":"%s{reason}","threatseverity":"%s{threatseverity}","tz":"%s{tz}","filesubtype":"%s{filesubtype}","upload_filesubtype":"%s{upload_filesubtype}","sha256":"%s{sha256}","bamd5":"%s{bamd5}","filename":"%s{efilename}","upload_filename":"%s{eupload_filename}","filetype":"%s{filetype}","devicename":"%s{edevicename}","devicehostname":"%s{devicehostname}","deviceostype":"%s{deviceostype}","deviceosversion":"%s{deviceosversion}","devicetype":"%s{devicetype}","reqsize":"%d{reqsize}","reqmethod":"%s{reqmethod}","refererurl":"%s{ereferer}","refererpath":"%s{erefererpath}","respsize":"%d{respsize}","respcode":"%s{respcode}","reqversion":"%s{reqversion}","respversion":"%s{respversion}","proto":"%s{proto}","company":"%s{company}","dlpmd5":"%s{dlpmd5}","apprulelabel":"%s{eapprulelabel}","dlprulename":"%s{dlprulename}","rulelabel":"%s{erulelabel}","urlfilterrulelabel":"%s{eurlfilterrulelabel}","cltip":"%s{cip}","cltintip":"%s{cintip}","cltsourceport":"%d{clt_sport}","threatname":"%s{threatname}","cltsslcipher":"%s{clientsslcipher}","clttlsversion":"%s{clienttlsversion}","eurl":"%s{eurl}","urlpath":"%s{eurlpath}","useragent":"%s{eua}","login":"%s{elogin}","applayerprotocol":"%s{alpnprotocol}","appclass":"%s{appclass}","appname":"%s{appname}","appriskscore":"%s{app_risk_score}","bandwidthclassname":"%s{bwclassname}","bandwidthrulename":"%s{bwrulename}","bwthrottle":"%s{bwthrottle}","bypassedtime":"%s{bypassed_etime}","bypassedtraffic":"%d{bypassed_traffic}","cltsslsessreuse":"%s{clientsslsessreuse}","cltpubip":"%s{cpubip}","cltsslfailcount":"%d{cltsslfailcount}","cltsslfailreason":"%s{cltsslfailreason}","contenttype":"%s{contenttype}","datacentercity":"%s{datacentercity}","datacentercountry":"%s{datacentercountry}","datacenter":"%s{datacenter}","day":"%s{day}","day_of_month":"%02d{dd}","dept":"%s{dept}","deviceappversion":"%s{deviceappversion}","deviceowner":"%s{deviceowner}","df_hosthead":"%s{df_hosthead}","df_hostname":"%s{df_hostname}","dlpdicthitcount":"%s{dlpdicthitcount}","dlpdict":"%s{dlpdict}","dlpeng":"%s{dlpeng}","dlpidentifier":"%d{dlpidentifier}","eedone":"%s{eedone}","epochtime":"%d{epochtime}","fileclass":"%s{fileclass}","flow_type":"%s{flow_type}","forward_gateway_ip":"%s{fwd_gw_ip}","forward_gateway_name":"%s{fwd_gw_name}","forward_type":"%s{fwd_type}","hour":"%02d{hh}","is_sslexpiredca":"%s{is_sslexpiredca}","is_sslselfsigned":"%s{is_sslselfsigned}","is_ssluntrustedca":"%s{is_ssluntrustedca}","keyprotectiontype":"%s{keyprotectiontype}","location":"%s{elocation}","department":"%s{edepartment}","malwarecategory":"%s{malwarecat}","malwareclass":"%s{malwareclass}","minute":"%02d{mm}","mobappcategory":"%s{mobappcat}","mobappname":"%s{emobappname}","mobdevtype":"%s{mobdevtype}","module":"%s{module}","month":"%s{mon}","month_of_year":"%02d{mth}","nssserviceip":"%s{nsssvcip}","oapprulelabel":"%s{oapprulelabel}","obwclassname":"%s{obwclassname}","ocip":"%d{ocip}","ocpubip":"%d{ocpubip}","odevicehostname":"%s{odevicehostname}","odevicename":"%s{odevicename}","odeviceowner":"%s{odeviceowner}","odlpdict":"%s{odlpdict}","odlpeng":"%s{odlpeng}","odlprulename":"%s{odlprulename}","ofwd_gw_name":"%s{ofwd_gw_name}","ologin":"%s{ologin}","ordr_rulename":"%s{ordr_rulename}","ourlcat":"%s{ourlcat}","ourlfilterrulelabel":"%s{ourlfilterrulelabel}","ozpa_app_seg_name":"%s{ozpa_app_seg_name}","externalsslpolicyreason":"%s{externalspr}","productversion":"%s{productversion}","rdr_rulename":"%s{rdr_rulename}","refererhost":"%s{erefererhost}","reqheadersize":"%d{reqhdrsize}","reqdatasize":"%d{reqdatasize}","respheadersize":"%d{resphdrsize}","respdatasize":"%d{respdatasize}","riskscore":"%d{riskscore}","ruletype":"%s{ruletype}","second":"%02d{ss}","srvcertchainvalpass":"%s{srvcertchainvalpass}","srvcertvalidationtype":"%s{srvcertvalidationtype}","srvcertvalidityperiod":"%s{srvcertvalidityperiod}","srvsslcipher":"%s{srvsslcipher}","serversslsessreuse":"%s{serversslsessreuse}","srvocspresult":"%s{srvocspresult}","srvtlsversion":"%s{srvtlsversion}","srvwildcardcert":"%s{srvwildcardcert}","ssldecrypted":"%s{ssldecrypted}","throttlereqsize":"%d{throttlereqsize}","throttlerespsize":"%d{throttlerespsize}","totalsize":"%d{totalsize}","trafficredirectmethod":"%s{trafficredirectmethod}","unscannabletype":"%s{unscannabletype}","upload_doctypename":"%s{upload_doctypename}","upload_fileclass":"%s{upload_fileclass}","upload_filetype":"%s{upload_filetype}","urlcatmethod":"%s{urlcatmethod}","urlsubcat":"%s{urlcat}","urlsupercat":"%s{urlsupercat}","urlclass":"%s{urlclass}","useragentclass":"%s{uaclass}","useragenttoken":"%s{ua_token}","userlocationname":"%s{euserlocationname}","year":"%04d{yyyy}","ztunnelversion":"%s{ztunnelversion}","zpa_app_seg_name":"%s{zpa_app_seg_name}"\}\} +\{"version":"v8","sourcetype":"zscalernss-web","event":\{"time":"%s{time}","cloudname":"%s{cloudname}","host":"%s{ehost}","serverip":"%s{sip}","external_devid":"%s{external_devid}","devicemodel":"%s{devicemodel}","action":"%s{action}","recordid":"%d{recordid}","reason":"%s{reason}","threatseverity":"%s{threatseverity}","tz":"%s{tz}","filesubtype":"%s{filesubtype}","upload_filesubtype":"%s{upload_filesubtype}","sha256":"%s{sha256}","bamd5":"%s{bamd5}","filename":"%s{efilename}","upload_filename":"%s{eupload_filename}","filetype":"%s{filetype}","devicename":"%s{edevicename}","devicehostname":"%s{devicehostname}","deviceostype":"%s{deviceostype}","deviceosversion":"%s{deviceosversion}","devicetype":"%s{devicetype}","reqsize":"%d{reqsize}","reqmethod":"%s{reqmethod}","b64referer":"%s{b64referer}","respsize":"%d{respsize}","respcode":"%s{respcode}","reqversion":"%s{reqversion}","respversion":"%s{respversion}","proto":"%s{proto}","company":"%s{company}","dlpmd5":"%s{dlpmd5}","apprulelabel":"%s{eapprulelabel}","dlprulename":"%s{dlprulename}","rulelabel":"%s{erulelabel}","urlfilterrulelabel":"%s{eurlfilterrulelabel}","cltip":"%s{cip}","cltintip":"%s{cintip}","cltsourceport":"%d{clt_sport}","threatname":"%s{threatname}","cltsslcipher":"%s{clientsslcipher}","clttlsversion":"%s{clienttlsversion}","b64url":"%s{b64url}","useragent":"%s{eua}","login":"%s{elogin}","applayerprotocol":"%s{alpnprotocol}","appclass":"%s{appclass}","appname":"%s{appname}","appriskscore":"%s{app_risk_score}","bandwidthclassname":"%s{bwclassname}","bandwidthrulename":"%s{bwrulename}","bwthrottle":"%s{bwthrottle}","bypassedtime":"%s{bypassed_etime}","bypassedtraffic":"%d{bypassed_traffic}","cltsslsessreuse":"%s{clientsslsessreuse}","cltpubip":"%s{cpubip}","cltsslfailcount":"%d{cltsslfailcount}","cltsslfailreason":"%s{cltsslfailreason}","contenttype":"%s{contenttype}","datacentercity":"%s{datacentercity}","datacentercountry":"%s{datacentercountry}","datacenter":"%s{datacenter}","day":"%s{day}","day_of_month":"%02d{dd}","dept":"%s{dept}","deviceappversion":"%s{deviceappversion}","deviceowner":"%s{deviceowner}","df_hosthead":"%s{df_hosthead}","df_hostname":"%s{df_hostname}","dlpdicthitcount":"%s{dlpdicthitcount}","dlpdict":"%s{dlpdict}","dlpeng":"%s{dlpeng}","dlpidentifier":"%d{dlpidentifier}","eedone":"%s{eedone}","epochtime":"%d{epochtime}","fileclass":"%s{fileclass}","flow_type":"%s{flow_type}","forward_gateway_ip":"%s{fwd_gw_ip}","forward_gateway_name":"%s{fwd_gw_name}","forward_type":"%s{fwd_type}","hour":"%02d{hh}","is_sslexpiredca":"%s{is_sslexpiredca}","is_sslselfsigned":"%s{is_sslselfsigned}","is_ssluntrustedca":"%s{is_ssluntrustedca}","keyprotectiontype":"%s{keyprotectiontype}","location":"%s{elocation}","department":"%s{edepartment}","malwarecategory":"%s{malwarecat}","malwareclass":"%s{malwareclass}","minute":"%02d{mm}","mobappcategory":"%s{mobappcat}","mobappname":"%s{emobappname}","mobdevtype":"%s{mobdevtype}","module":"%s{module}","month":"%s{mon}","month_of_year":"%02d{mth}","nssserviceip":"%s{nsssvcip}","oapprulelabel":"%s{oapprulelabel}","obwclassname":"%s{obwclassname}","ocip":"%d{ocip}","ocpubip":"%d{ocpubip}","odevicehostname":"%s{odevicehostname}","odevicename":"%s{odevicename}","odeviceowner":"%s{odeviceowner}","odlpdict":"%s{odlpdict}","odlpeng":"%s{odlpeng}","odlprulename":"%s{odlprulename}","ofwd_gw_name":"%s{ofwd_gw_name}","ologin":"%s{ologin}","ordr_rulename":"%s{ordr_rulename}","ourlcat":"%s{ourlcat}","ourlfilterrulelabel":"%s{ourlfilterrulelabel}","ozpa_app_seg_name":"%s{ozpa_app_seg_name}","externalsslpolicyreason":"%s{externalspr}","productversion":"%s{productversion}","rdr_rulename":"%s{rdr_rulename}","refererhost":"%s{erefererhost}","reqheadersize":"%d{reqhdrsize}","reqdatasize":"%d{reqdatasize}","respheadersize":"%d{resphdrsize}","respdatasize":"%d{respdatasize}","riskscore":"%d{riskscore}","ruletype":"%s{ruletype}","second":"%02d{ss}","srvcertchainvalpass":"%s{srvcertchainvalpass}","srvcertvalidationtype":"%s{srvcertvalidationtype}","srvcertvalidityperiod":"%s{srvcertvalidityperiod}","srvsslcipher":"%s{srvsslcipher}","serversslsessreuse":"%s{serversslsessreuse}","srvocspresult":"%s{srvocspresult}","srvtlsversion":"%s{srvtlsversion}","srvwildcardcert":"%s{srvwildcardcert}","ssldecrypted":"%s{ssldecrypted}","throttlereqsize":"%d{throttlereqsize}","throttlerespsize":"%d{throttlerespsize}","totalsize":"%d{totalsize}","trafficredirectmethod":"%s{trafficredirectmethod}","unscannabletype":"%s{unscannabletype}","upload_doctypename":"%s{upload_doctypename}","upload_fileclass":"%s{upload_fileclass}","upload_filetype":"%s{upload_filetype}","urlcatmethod":"%s{urlcatmethod}","urlsubcat":"%s{urlcat}","urlsupercat":"%s{urlsupercat}","urlclass":"%s{urlclass}","useragentclass":"%s{uaclass}","useragenttoken":"%s{ua_token}","userlocationname":"%s{euserlocationname}","year":"%04d{yyyy}","ztunnelversion":"%s{ztunnelversion}","zpa_app_seg_name":"%s{zpa_app_seg_name}"\}\} ``` Sample Response: ```json -{"sourcetype":"zscalernss-web","event":{"time":"Mon Oct 16 22:55:48 2023","cloudname":"zscaler.net","host":"mail.google.com","serverip":"1.128.0.0","external_devid":"1234","devicemodel":"20L8S7WC08","action":"Allowed","recordid":123456789,"reason":"File Attachment Cautioned","threatseverity":"Critical (90–100)","tz":"GMT","filesubtype":"exe","upload_filesubtype":"rar","sha256":"81ec78bc8298568bb5ea66d3c2972b670d0f7459b6cdbbcaacce90ab417ab15c","bamd5":"196a3d797bfee07fe4596b69f4ce1141","filename":"nssfeed.txt","upload_filename":"nssfeed.exe","filetype":"RAR Files","devicename":"PC11NLPA%3A5F08D97BBF43257A8FB4BBF4061A38AE324EF734","devicehostname":"THINKPADSMITH","deviceostype":"iOS","deviceosversion":"Version 10.14.2 (Build 18C54)","devicetype":"Zscaler Client Connector","reqsize":1300,"reqmethod":"invalid","refererurl":"www.example.com","refererpath":"/search?filters=guid%3A%2240-en-dia%22+lang%3A%22en%22&form=S00&q=how+to+use+remote+desktop+to+connect+to+a+windows+10+pc","respsize":10500,"respcode":"100","reqversion":"1.1","respversion":"1","proto":"HTTP","company":"Zscaler","dlpmd5":"154f149b1443fbfa8c121d13e5c019a1","apprulelabel":"File_Sharing_1","dlprulename":"DLP_Rule_1","rulelabel":"URL_Filtering_1","urlfilterrulelabel":"URL_Filtering_2","cltip":"81.2.69.144","cltintip":"89.160.20.128","cltsourceport":12345,"threatname":"EICAR Test File","cltsslcipher":"SSL3_CK_RSA_NULL_MD5","clttlsversion":"SSL2","eurl":"www.trythisencodeurl.com/index","urlpath":"/params?Id=1&ts=2006-01-02T15%3A04%3A05Z07%3A00&user=65792&version=10.0.19041.1266","useragent":"Mozilla/5.0","login":"jdoe@safemarch.com","applayerprotocol":"FTP","appclass":"Administration","appname":"Adobe Connect","appriskscore":"1","bandwidthclassname":"Entertainment","bandwidthrulename":"Office 365","bwthrottle":"Yes","bypassedtime":"Mon Oct 16 22:55:48 2023","bypassedtraffic":"1","cltsslsessreuse":"Unknown","cltpubip":"175.16.199.0","cltsslfailcount":100,"cltsslfailreason":"Bad Record Mac","contenttype":"application/vnd_apple_keynote","datacentercity":"Sa","datacentercountry":"US","datacenter":"CA Client Node DC","day":"Mon","day_of_month":16,"dept":"Sales","deviceappversion":"1.128.0.0","deviceowner":"jsmith","df_hosthead":"df_hosthead","df_hostname":"df_hostname","dlpdicthitcount":"4","dlpdict":"Credit Cards","dlpeng":"HIPAA","dlpidentifier":6646484838839026000,"eedone":"Yes","epochtime":1578128400,"fileclass":"Active Web Contents","flow_type":"Direct","forward_gateway_ip":"10.1.1.1","forward_gateway_name":"FWD_1","forward_type":"Direct","hour":22,"is_sslexpiredca":"Yes","is_sslselfsigned":"Yes","is_ssluntrustedca":"Pass","keyprotectiontype":"HSM Protection","location":"Headquarters","department":"Department%5CrN%40me","malwarecategory":"Adware","malwareclass":"Sandbox","minute":55,"mobappcategory":"Communication","mobappname":"Amazon","mobdevtype":"Google Android","module":"Administration","month":"Oct","month_of_year":10,"nssserviceip":"192.168.2.200","oapprulelabel":"5300295980","obwclassname":"10831489","ocip":6200694987,"ocpubip":624054738,"odevicehostname":"2168890624","odevicename":"2175092224","odeviceowner":"10831489","odlpdict":"10831489","odlpeng":"4094304256","odlprulename":"6857275752","ofwd_gw_name":"8794487099","ologin":"4094304256","ordr_rulename":"3399565100","ourlcat":"7956407282","ourlfilterrulelabel":"4951704103","ozpa_app_seg_name":"7648246731","externalsslpolicyreason":"Blocked","productversion":"5.0.902.95524_04","rdr_rulename":"FWD_Rule_1","refererhost":"www.example.com for http://www.example.com/index.html","reqheadersize":300,"reqdatasize":1000,"respheadersize":500,"respdatasize":10000,"riskscore":10,"ruletype":"File Type Control","second":48,"srvcertchainvalpass":"Unknown","srvcertvalidationtype":"EV (Extended Validation)","srvcertvalidityperiod":"Short","srvsslcipher":"SSL3_CK_RSA_NULL_MD5","serversslsessreuse":"Unknown","srvocspresult":"Good","srvtlsversion":"SSL2","srvwildcardcert":"Unknown","ssldecrypted":"Yes","throttlereqsize":5,"throttlerespsize":7,"totalsize":11800,"trafficredirectmethod":"DNAT (Destination Translation)","unscannabletype":"Encrypted File","upload_doctypename":"Corporate Finance","upload_fileclass":"upload_fileclass","upload_filetype":"RAR Files","urlcatmethod":"Database A","urlsubcat":"Entertainment","urlsupercat":"Travel","urlclass":"Bandwidth Loss","useragentclass":"Firefox","useragenttoken":"Google Chrome (0.x)","userlocationname":"userlocationname","year":2023,"ztunnelversion":"ZTUNNEL_1_0","zpa_app_seg_name":"ZPA_test_app_segment"}} +{"version":"v8","sourcetype":"zscalernss-web","event":{"time":"Mon Oct 16 22:55:48 2023","cloudname":"zscaler.net","host":"mail.google.com","serverip":"1.128.0.0","external_devid":"1234","devicemodel":"20L8S7WC08","action":"Allowed","recordid":123456789,"reason":"File Attachment Cautioned","threatseverity":"Critical (90–100)","tz":"GMT","filesubtype":"exe","upload_filesubtype":"rar","sha256":"81ec78bc8298568bb5ea66d3c2972b670d0f7459b6cdbbcaacce90ab417ab15c","bamd5":"196a3d797bfee07fe4596b69f4ce1141","filename":"nssfeed.txt","upload_filename":"nssfeed.exe","filetype":"RAR Files","devicename":"PC11NLPA%3A5F08D97BBF43257A8FB4BBF4061A38AE324EF734","devicehostname":"THINKPADSMITH","deviceostype":"iOS","deviceosversion":"Version 10.14.2 (Build 18C54)","devicetype":"Zscaler Client Connector","reqsize":1300,"reqmethod":"invalid","b64referer":"d3d3LmV4YW1wbGUuY29tL3NlYXJjaD9maWx0ZXJzPWd1aWQ6IjQwLWVuLWRpYSIgbGFuZzoiZW4iJmZvcm09UzAwJnE9aG93IHRvIHVzZSByZW1vdGUgZGVza3RvcCB0byBjb25uZWN0IHRvIGEgd2luZG93cyAxMCBwYw==","respsize":10500,"respcode":"100","reqversion":"1.1","respversion":"1","proto":"HTTP","company":"Zscaler","dlpmd5":"154f149b1443fbfa8c121d13e5c019a1","apprulelabel":"File_Sharing_1","dlprulename":"DLP_Rule_1","rulelabel":"URL_Filtering_1","urlfilterrulelabel":"URL_Filtering_2","cltip":"81.2.69.144","cltintip":"89.160.20.128","cltsourceport":12345,"threatname":"EICAR Test File","cltsslcipher":"SSL3_CK_RSA_NULL_MD5","clttlsversion":"SSL2","b64url":"d3d3LnRyeXRoaXNlbmNvZGV1cmwuY29tL3BhcmFtcz9JZD0xJnRzPTIwMDYtMDEtMDJUMTU6MDQ6MDVaMDc6MDAmdXNlcj02NTc5MiZ2ZXJzaW9uPTEwLjAuMTkwNDEuMTI2Ng==","useragent":"Mozilla/5.0","login":"jdoe@safemarch.com","applayerprotocol":"FTP","appclass":"Administration","appname":"Adobe Connect","appriskscore":"1","bandwidthclassname":"Entertainment","bandwidthrulename":"Office 365","bwthrottle":"Yes","bypassedtime":"Mon Oct 16 22:55:48 2023","bypassedtraffic":"1","cltsslsessreuse":"Unknown","cltpubip":"175.16.199.0","cltsslfailcount":100,"cltsslfailreason":"Bad Record Mac","contenttype":"application/vnd_apple_keynote","datacentercity":"Sa","datacentercountry":"US","datacenter":"CA Client Node DC","day":"Mon","day_of_month":16,"dept":"Sales","deviceappversion":"1.128.0.0","deviceowner":"jsmith","df_hosthead":"df_hosthead","df_hostname":"df_hostname","dlpdicthitcount":"4","dlpdict":"Credit Cards","dlpeng":"HIPAA","dlpidentifier":6646484838839026000,"eedone":"Yes","epochtime":1578128400,"fileclass":"Active Web Contents","flow_type":"Direct","forward_gateway_ip":"10.1.1.1","forward_gateway_name":"FWD_1","forward_type":"Direct","hour":22,"is_sslexpiredca":"Yes","is_sslselfsigned":"Yes","is_ssluntrustedca":"Pass","keyprotectiontype":"HSM Protection","location":"Headquarters","department":"Department%5CrN%40me","malwarecategory":"Adware","malwareclass":"Sandbox","minute":55,"mobappcategory":"Communication","mobappname":"Amazon","mobdevtype":"Google Android","module":"Administration","month":"Oct","month_of_year":10,"nssserviceip":"192.168.2.200","oapprulelabel":"5300295980","obwclassname":"10831489","ocip":6200694987,"ocpubip":624054738,"odevicehostname":"2168890624","odevicename":"2175092224","odeviceowner":"10831489","odlpdict":"10831489","odlpeng":"4094304256","odlprulename":"6857275752","ofwd_gw_name":"8794487099","ologin":"4094304256","ordr_rulename":"3399565100","ourlcat":"7956407282","ourlfilterrulelabel":"4951704103","ozpa_app_seg_name":"7648246731","externalsslpolicyreason":"Blocked","productversion":"5.0.902.95524_04","rdr_rulename":"FWD_Rule_1","refererhost":"www.example.com for http://www.example.com/index.html","reqheadersize":300,"reqdatasize":1000,"respheadersize":500,"respdatasize":10000,"riskscore":10,"ruletype":"File Type Control","second":48,"srvcertchainvalpass":"Unknown","srvcertvalidationtype":"EV (Extended Validation)","srvcertvalidityperiod":"Short","srvsslcipher":"SSL3_CK_RSA_NULL_MD5","serversslsessreuse":"Unknown","srvocspresult":"Good","srvtlsversion":"SSL2","srvwildcardcert":"Unknown","ssldecrypted":"Yes","throttlereqsize":5,"throttlerespsize":7,"totalsize":11800,"trafficredirectmethod":"DNAT (Destination Translation)","unscannabletype":"Encrypted File","upload_doctypename":"Corporate Finance","upload_fileclass":"upload_fileclass","upload_filetype":"RAR Files","urlcatmethod":"Database A","urlsubcat":"Entertainment","urlsupercat":"Travel","urlclass":"Bandwidth Loss","useragentclass":"Firefox","useragenttoken":"Google Chrome (0.x)","userlocationname":"userlocationname","year":2023,"ztunnelversion":"ZTUNNEL_1_0","zpa_app_seg_name":"ZPA_test_app_segment"}} ``` ### Enabling the integration in Elastic: diff --git a/packages/zscaler_zia/changelog.yml b/packages/zscaler_zia/changelog.yml index 2eb1c64fba8..5ea25b8f197 100644 --- a/packages/zscaler_zia/changelog.yml +++ b/packages/zscaler_zia/changelog.yml @@ -1,4 +1,9 @@ # newer versions go on top +- version: "3.2.1" + changes: + - description: In web v8, use b64 fields to avoid encoding issues. + type: bugfix + link: https://github.com/elastic/integrations/pull/10855 - version: "3.2.0" changes: - description: Add hex-encoded fields in web logs. diff --git a/packages/zscaler_zia/data_stream/web/_dev/test/pipeline/test-web-http-endpoint.log b/packages/zscaler_zia/data_stream/web/_dev/test/pipeline/test-web-http-endpoint.log index aeac0d96f76..98f0cb09878 100644 --- a/packages/zscaler_zia/data_stream/web/_dev/test/pipeline/test-web-http-endpoint.log +++ b/packages/zscaler_zia/data_stream/web/_dev/test/pipeline/test-web-http-endpoint.log @@ -1,2 +1,2 @@ -{"sourcetype":"zscalernss-web","event":{"time":"Mon Oct 16 22:55:48 2023","cloudname":"zscaler.net","host":"mail.google.com","serverip":"81.2.69.142","external_devid":"1234","devicemodel":"20L8S7WC08","action":"Allowed","recordid":"123456789","reason":"File Attachment Cautioned","threatseverity":"Critical (90–100)","tz":"GMT","filesubtype":"rar","upload_filesubtype":"rar","sha256":"81ec78bc8298568bb5ea66d3c2972b670d0f7459b6cdbbcaacce90ab417ab15c","bamd5":"196a3d797bfee07fe4596b69f4ce1141","filename":"nssfeed.txt","upload_filename":"nssfeed.exe","filetype":"RAR Files","devicename":"PC11NLPA:5F08D97BBF43257A8FB4BBF4061A38AE324EF734","devicehostname":"THINKPADSMITH","deviceostype":"iOS","deviceosversion":"Version 10.14.2 (Build 18C54)","devicetype":"Zscaler Client Connector","reqsize":"1300","reqmethod":"invalid","refererurl":"www.example.com","respsize":"10500","respcode":"100","reqversion":"1.1","respversion":"1","proto":"HTTP","company":"Zscaler","dlpmd5":"154f149b1443fbfa8c121d13e5c019a1","apprulelabel":"File_Sharing_1","dlprulename":"DLP_Rule_1","rulelabel":"URL_Filtering_1","urlfilterrulelabel":"URL_Filtering_1","cltip":"81.2.69.142","cltintip":"81.2.69.142","cltsourceport":"1235","threatname":"EICAR Test File","cltsslcipher":"SSL3_CK_RSA_NULL_MD5","clttlsversion":"SSL2","eurl":"www.trythisencodeurl.com%2Findex","useragent":"Mozilla/5.0","login":"jdoe@safemarch.com","applayerprotocol":"FTP","appclass":"Administration","appname":"Adobe Connect","appriskscore":"None","bandwidthclassname":"Entertainment","bandwidthrulename":"Office 365","bwthrottle":"Yes","bypassedtime":"Mon Oct 16 22:55:48 2023","bypassedtraffic":"0","cltsslsessreuse":"Unknown","cltpubip":"81.2.69.142","cltsslfailcount":"100","cltsslfailreason":"Bad Record Mac","contenttype":"application/vnd_apple_keynote","datacentercity":"Sa","datacentercountry":"US","datacenter":"CA Client Node DC","day":"Mon","day_of_month":"16","dept":"Sales","deviceappversion":"81.2.69.142","deviceowner":"jsmith","df_hosthead":"df_hosthead","df_hostname":"df_hostname","dlpdicthitcount":"4","dlpdict":"Credit Cards","dlpeng":"HIPAA","dlpidentifier":"6646484838839026000","eedone":"Yes","epochtime":"1578128400","fileclass":"Active Web Contents","flow_type":"Direct","forward_gateway_ip":"10.1.1.1","forward_gateway_name":"FWD_1","forward_type":"Direct","hour":"22","is_sslexpiredca":"Yes","is_sslselfsigned":"Yes","is_ssluntrustedca":"Pass","keyprotectiontype":"HSM Protection","location":"Headquarters","malwarecategory":"Adware","malwareclass":"Sandbox","minute":"55","mobappcategory":"Communication","mobappname":"Amazon","mobdevtype":"Google Android","module":"Administration","month":"Oct","month_of_year":"10","nssserviceip":"192.168.2.200","oapprulelabel":"5300295980","obwclassname":"10831489","ocip":"6200694987","ocpubip":"624054738","odevicehostname":"2168890624","odevicename":"2175092224","odeviceowner":"10831489","odlpdict":"10831489","odlpeng":"4094304256","odlprulename":"6857275752","ofwd_gw_name":"8794487099","ologin":"4094304256","ordr_rulename":"3399565100","ourlcat":"7956407282","ourlfilterrulelabel":"4951704103","ozpa_app_seg_name":"7648246731","externalsslpolicyreason":"Blocked","productversion":"5.0.902.95524_04","rdr_rulename":"FWD_Rule_1","refererhost":"www.example.com for http://www.example.com/index.html","reqheadersize":"300","reqdatasize":"1000","respheadersize":"500","respdatasize":"10000","riskscore":"10","ruletype":"File Type Control","second":"48","srvcertchainvalpass":"Unknown","srvcertvalidationtype":"EV (Extended Validation)","srvcertvalidityperiod":"Short","srvsslcipher":"SSL3_CK_RSA_NULL_MD5","serversslsessreuse":"Unknown","srvocspresult":"Good","srvtlsversion":"SSL2","srvwildcardcert":"Unknown","ssldecrypted":"Yes","throttlereqsize":"5","throttlerespsize":"7","totalsize":"11800","trafficredirectmethod":"DNAT (Destination Translation)","unscannabletype":"Encrypted File","upload_doctypename":"Corporate Finance","upload_fileclass":"upload_fileclass","upload_filetype":"RAR Files","urlcatmethod":"Database A","urlsubcat":"Entertainment","urlsupercat":"Travel","urlclass":"Bandwidth Loss","useragentclass":"Firefox","useragenttoken":"Google Chrome (0.x)","userlocationname":"userlocationname","year":"2023","ztunnelversion":"ZTUNNEL_1_0","zpa_app_seg_name":"ZPA_test_app_segment"}} -{"sourcetype":"zscalernss-web","event":{"time":"Mon Oct 16 22:55:48 2023","cloudname":"zscaler.net","host":"mail.google.com","serverip":"81.2.69.142","external_devid":"1234","devicemodel":"20L8S7WC08","action":"Blocked","recordid":"123456789","reason":"File Attachment Cautioned","threatseverity":"Critical (90–100)","tz":"GMT","filesubtype":"rar","upload_filesubtype":"rar","sha256":"81ec78bc8298568bb5ea66d3c2972b670d0f7459b6cdbbcaacce90ab417ab15c","bamd5":"196a3d797bfee07fe4596b69f4ce1141","filename":"nssfeed.txt","upload_filename":"nssfeed.exe","filetype":"RAR Files","devicename":"PC11NLPA:5F08D97BBF43257A8FB4BBF4061A38AE324EF734","devicehostname":"THINKPADSMITH","deviceostype":"iOS","deviceosversion":"Version 10.14.2 (Build 18C54)","devicetype":"Zscaler Client Connector","reqsize":"1300","reqmethod":"invalid","refererurl":"www.example.com","respsize":"10500","respcode":"100","reqversion":"1.1","respversion":"1","proto":"HTTP","company":"Zscaler","dlpmd5":"154f149b1443fbfa8c121d13e5c019a1","apprulelabel":"File_Sharing_1","dlprulename":"DLP_Rule_1","rulelabel":"URL_Filtering_1","urlfilterrulelabel":"URL_Filtering_1","cltip":"81.2.69.142","cltintip":"81.2.69.142","cltsourceport":"1235","threatname":"EICAR Test File","cltsslcipher":"SSL3_CK_RSA_NULL_MD5","clttlsversion":"SSL2","eurl":"www.trythisencodeurl.com%2Findex","useragent":"Mozilla/5.0","login":"jdoe@safemarch.com","applayerprotocol":"FTP","appclass":"Administration","appname":"Adobe Connect","appriskscore":"None","bandwidthclassname":"Entertainment","bandwidthrulename":"Office 365","bwthrottle":"Yes","bypassedtime":"Mon Oct 16 22:55:48 2023","bypassedtraffic":"1","cltsslsessreuse":"Unknown","cltpubip":"81.2.69.142","cltsslfailcount":"100","cltsslfailreason":"Bad Record Mac","contenttype":"application/vnd_apple_keynote","datacentercity":"Sa","datacentercountry":"US","datacenter":"CA Client Node DC","day":"Mon","day_of_month":"16","dept":"Sales","deviceappversion":"81.2.69.142","deviceowner":"jsmith","df_hosthead":"df_hosthead","df_hostname":"df_hostname","dlpdicthitcount":"4","dlpdict":"Credit Cards","dlpeng":"HIPAA","dlpidentifier":"6646484838839026000","eedone":"Yes","epochtime":"1578128400","fileclass":"Active Web Contents","flow_type":"Direct","forward_gateway_ip":"10.1.1.1","forward_gateway_name":"FWD_1","forward_type":"Direct","hour":"22","is_sslexpiredca":"Yes","is_sslselfsigned":"Yes","is_ssluntrustedca":"Pass","keyprotectiontype":"HSM Protection","location":"Headquarters","malwarecategory":"Adware","malwareclass":"Sandbox","minute":"55","mobappcategory":"Communication","mobappname":"Amazon","mobdevtype":"Google Android","module":"Administration","month":"Oct","month_of_year":"10","nssserviceip":"192.168.2.200","oapprulelabel":"5300295980","obwclassname":"10831489","ocip":"6200694987","ocpubip":"624054738","odevicehostname":"2168890624","odevicename":"2175092224","odeviceowner":"10831489","odlpdict":"10831489","odlpeng":"4094304256","odlprulename":"6857275752","ofwd_gw_name":"8794487099","ologin":"4094304256","ordr_rulename":"3399565100","ourlcat":"7956407282","ourlfilterrulelabel":"4951704103","ozpa_app_seg_name":"7648246731","externalsslpolicyreason":"Blocked","productversion":"5.0.902.95524_04","rdr_rulename":"FWD_Rule_1","refererhost":"www.example.com for http://www.example.com/index.html","reqheadersize":"300","reqdatasize":"1000","respheadersize":"500","respdatasize":"10000","riskscore":"10","ruletype":"File Type Control","second":"48","srvcertchainvalpass":"Unknown","srvcertvalidationtype":"EV (Extended Validation)","srvcertvalidityperiod":"Short","srvsslcipher":"SSL3_CK_RSA_NULL_MD5","serversslsessreuse":"Unknown","srvocspresult":"Good","srvtlsversion":"SSL2","srvwildcardcert":"Unknown","ssldecrypted":"Yes","throttlereqsize":"5","throttlerespsize":"7","totalsize":"11800","trafficredirectmethod":"DNAT (Destination Translation)","unscannabletype":"Encrypted File","upload_doctypename":"Corporate Finance","upload_fileclass":"upload_fileclass","upload_filetype":"RAR Files","urlcatmethod":"Database A","urlsubcat":"Entertainment","urlsupercat":"Travel","urlclass":"Bandwidth Loss","useragentclass":"Firefox","useragenttoken":"Google Chrome (0.x)","userlocationname":"userlocationname","year":"2023","ztunnelversion":"ZTUNNEL_1_0","zpa_app_seg_name":"ZPA_test_app_segment"}} \ No newline at end of file +{"version":"v8","sourcetype":"zscalernss-web","event":{"time":"Mon Oct 16 22:55:48 2023","cloudname":"zscaler.net","host":"mail.google.com","serverip":"81.2.69.142","external_devid":"1234","devicemodel":"20L8S7WC08","action":"Allowed","recordid":"123456789","reason":"File Attachment Cautioned","threatseverity":"Critical (90–100)","tz":"GMT","filesubtype":"rar","upload_filesubtype":"rar","sha256":"81ec78bc8298568bb5ea66d3c2972b670d0f7459b6cdbbcaacce90ab417ab15c","bamd5":"196a3d797bfee07fe4596b69f4ce1141","filename":"nssfeed.txt","upload_filename":"nssfeed.exe","filetype":"RAR Files","devicename":"PC11NLPA:5F08D97BBF43257A8FB4BBF4061A38AE324EF734","devicehostname":"THINKPADSMITH","deviceostype":"iOS","deviceosversion":"Version 10.14.2 (Build 18C54)","devicetype":"Zscaler Client Connector","reqsize":"1300","reqmethod":"invalid","b64referer":"d3d3LmV4YW1wbGUuY29t","respsize":"10500","respcode":"100","reqversion":"1.1","respversion":"1","proto":"HTTP","company":"Zscaler","dlpmd5":"154f149b1443fbfa8c121d13e5c019a1","apprulelabel":"File_Sharing_1","dlprulename":"DLP_Rule_1","rulelabel":"URL_Filtering_1","urlfilterrulelabel":"URL_Filtering_1","cltip":"81.2.69.142","cltintip":"81.2.69.142","cltsourceport":"1235","threatname":"EICAR Test File","cltsslcipher":"SSL3_CK_RSA_NULL_MD5","clttlsversion":"SSL2","b64url":"d3d3LnRyeXRoaXNlbmNvZGV1cmwuY29tL2luZGV4","useragent":"Mozilla/5.0","login":"jdoe@safemarch.com","applayerprotocol":"FTP","appclass":"Administration","appname":"Adobe Connect","appriskscore":"None","bandwidthclassname":"Entertainment","bandwidthrulename":"Office 365","bwthrottle":"Yes","bypassedtime":"Mon Oct 16 22:55:48 2023","bypassedtraffic":"0","cltsslsessreuse":"Unknown","cltpubip":"81.2.69.142","cltsslfailcount":"100","cltsslfailreason":"Bad Record Mac","contenttype":"application/vnd_apple_keynote","datacentercity":"Sa","datacentercountry":"US","datacenter":"CA Client Node DC","day":"Mon","day_of_month":"16","dept":"Sales","deviceappversion":"81.2.69.142","deviceowner":"jsmith","df_hosthead":"df_hosthead","df_hostname":"df_hostname","dlpdicthitcount":"4","dlpdict":"Credit Cards","dlpeng":"HIPAA","dlpidentifier":"6646484838839026000","eedone":"Yes","epochtime":"1578128400","fileclass":"Active Web Contents","flow_type":"Direct","forward_gateway_ip":"10.1.1.1","forward_gateway_name":"FWD_1","forward_type":"Direct","hour":"22","is_sslexpiredca":"Yes","is_sslselfsigned":"Yes","is_ssluntrustedca":"Pass","keyprotectiontype":"HSM Protection","location":"Headquarters","malwarecategory":"Adware","malwareclass":"Sandbox","minute":"55","mobappcategory":"Communication","mobappname":"Amazon","mobdevtype":"Google Android","module":"Administration","month":"Oct","month_of_year":"10","nssserviceip":"192.168.2.200","oapprulelabel":"5300295980","obwclassname":"10831489","ocip":"6200694987","ocpubip":"624054738","odevicehostname":"2168890624","odevicename":"2175092224","odeviceowner":"10831489","odlpdict":"10831489","odlpeng":"4094304256","odlprulename":"6857275752","ofwd_gw_name":"8794487099","ologin":"4094304256","ordr_rulename":"3399565100","ourlcat":"7956407282","ourlfilterrulelabel":"4951704103","ozpa_app_seg_name":"7648246731","externalsslpolicyreason":"Blocked","productversion":"5.0.902.95524_04","rdr_rulename":"FWD_Rule_1","refererhost":"www.example.com for http://www.example.com/index.html","reqheadersize":"300","reqdatasize":"1000","respheadersize":"500","respdatasize":"10000","riskscore":"10","ruletype":"File Type Control","second":"48","srvcertchainvalpass":"Unknown","srvcertvalidationtype":"EV (Extended Validation)","srvcertvalidityperiod":"Short","srvsslcipher":"SSL3_CK_RSA_NULL_MD5","serversslsessreuse":"Unknown","srvocspresult":"Good","srvtlsversion":"SSL2","srvwildcardcert":"Unknown","ssldecrypted":"Yes","throttlereqsize":"5","throttlerespsize":"7","totalsize":"11800","trafficredirectmethod":"DNAT (Destination Translation)","unscannabletype":"Encrypted File","upload_doctypename":"Corporate Finance","upload_fileclass":"upload_fileclass","upload_filetype":"RAR Files","urlcatmethod":"Database A","urlsubcat":"Entertainment","urlsupercat":"Travel","urlclass":"Bandwidth Loss","useragentclass":"Firefox","useragenttoken":"Google Chrome (0.x)","userlocationname":"userlocationname","year":"2023","ztunnelversion":"ZTUNNEL_1_0","zpa_app_seg_name":"ZPA_test_app_segment"}} +{"version":"v8","sourcetype":"zscalernss-web","event":{"time":"Mon Oct 16 22:55:48 2023","cloudname":"zscaler.net","host":"mail.google.com","serverip":"81.2.69.142","external_devid":"1234","devicemodel":"20L8S7WC08","action":"Blocked","recordid":"123456789","reason":"File Attachment Cautioned","threatseverity":"Critical (90–100)","tz":"GMT","filesubtype":"rar","upload_filesubtype":"rar","sha256":"81ec78bc8298568bb5ea66d3c2972b670d0f7459b6cdbbcaacce90ab417ab15c","bamd5":"196a3d797bfee07fe4596b69f4ce1141","filename":"nssfeed.txt","upload_filename":"nssfeed.exe","filetype":"RAR Files","devicename":"PC11NLPA:5F08D97BBF43257A8FB4BBF4061A38AE324EF734","devicehostname":"THINKPADSMITH","deviceostype":"iOS","deviceosversion":"Version 10.14.2 (Build 18C54)","devicetype":"Zscaler Client Connector","reqsize":"1300","reqmethod":"invalid","b64referer":"d3d3LmV4YW1wbGUuY29t","respsize":"10500","respcode":"100","reqversion":"1.1","respversion":"1","proto":"HTTP","company":"Zscaler","dlpmd5":"154f149b1443fbfa8c121d13e5c019a1","apprulelabel":"File_Sharing_1","dlprulename":"DLP_Rule_1","rulelabel":"URL_Filtering_1","urlfilterrulelabel":"URL_Filtering_1","cltip":"81.2.69.142","cltintip":"81.2.69.142","cltsourceport":"1235","threatname":"EICAR Test File","cltsslcipher":"SSL3_CK_RSA_NULL_MD5","clttlsversion":"SSL2","b64url":"d3d3LnRyeXRoaXNlbmNvZGV1cmwuY29tL2luZGV4","useragent":"Mozilla/5.0","login":"jdoe@safemarch.com","applayerprotocol":"FTP","appclass":"Administration","appname":"Adobe Connect","appriskscore":"None","bandwidthclassname":"Entertainment","bandwidthrulename":"Office 365","bwthrottle":"Yes","bypassedtime":"Mon Oct 16 22:55:48 2023","bypassedtraffic":"1","cltsslsessreuse":"Unknown","cltpubip":"81.2.69.142","cltsslfailcount":"100","cltsslfailreason":"Bad Record Mac","contenttype":"application/vnd_apple_keynote","datacentercity":"Sa","datacentercountry":"US","datacenter":"CA Client Node DC","day":"Mon","day_of_month":"16","dept":"Sales","deviceappversion":"81.2.69.142","deviceowner":"jsmith","df_hosthead":"df_hosthead","df_hostname":"df_hostname","dlpdicthitcount":"4","dlpdict":"Credit Cards","dlpeng":"HIPAA","dlpidentifier":"6646484838839026000","eedone":"Yes","epochtime":"1578128400","fileclass":"Active Web Contents","flow_type":"Direct","forward_gateway_ip":"10.1.1.1","forward_gateway_name":"FWD_1","forward_type":"Direct","hour":"22","is_sslexpiredca":"Yes","is_sslselfsigned":"Yes","is_ssluntrustedca":"Pass","keyprotectiontype":"HSM Protection","location":"Headquarters","malwarecategory":"Adware","malwareclass":"Sandbox","minute":"55","mobappcategory":"Communication","mobappname":"Amazon","mobdevtype":"Google Android","module":"Administration","month":"Oct","month_of_year":"10","nssserviceip":"192.168.2.200","oapprulelabel":"5300295980","obwclassname":"10831489","ocip":"6200694987","ocpubip":"624054738","odevicehostname":"2168890624","odevicename":"2175092224","odeviceowner":"10831489","odlpdict":"10831489","odlpeng":"4094304256","odlprulename":"6857275752","ofwd_gw_name":"8794487099","ologin":"4094304256","ordr_rulename":"3399565100","ourlcat":"7956407282","ourlfilterrulelabel":"4951704103","ozpa_app_seg_name":"7648246731","externalsslpolicyreason":"Blocked","productversion":"5.0.902.95524_04","rdr_rulename":"FWD_Rule_1","refererhost":"www.example.com for http://www.example.com/index.html","reqheadersize":"300","reqdatasize":"1000","respheadersize":"500","respdatasize":"10000","riskscore":"10","ruletype":"File Type Control","second":"48","srvcertchainvalpass":"Unknown","srvcertvalidationtype":"EV (Extended Validation)","srvcertvalidityperiod":"Short","srvsslcipher":"SSL3_CK_RSA_NULL_MD5","serversslsessreuse":"Unknown","srvocspresult":"Good","srvtlsversion":"SSL2","srvwildcardcert":"Unknown","ssldecrypted":"Yes","throttlereqsize":"5","throttlerespsize":"7","totalsize":"11800","trafficredirectmethod":"DNAT (Destination Translation)","unscannabletype":"Encrypted File","upload_doctypename":"Corporate Finance","upload_fileclass":"upload_fileclass","upload_filetype":"RAR Files","urlcatmethod":"Database A","urlsubcat":"Entertainment","urlsupercat":"Travel","urlclass":"Bandwidth Loss","useragentclass":"Firefox","useragenttoken":"Google Chrome (0.x)","userlocationname":"userlocationname","year":"2023","ztunnelversion":"ZTUNNEL_1_0","zpa_app_seg_name":"ZPA_test_app_segment"}} diff --git a/packages/zscaler_zia/data_stream/web/_dev/test/pipeline/test-web-http-endpoint.log-expected.json b/packages/zscaler_zia/data_stream/web/_dev/test/pipeline/test-web-http-endpoint.log-expected.json index d65fa098a97..3b9b1db3871 100644 --- a/packages/zscaler_zia/data_stream/web/_dev/test/pipeline/test-web-http-endpoint.log-expected.json +++ b/packages/zscaler_zia/data_stream/web/_dev/test/pipeline/test-web-http-endpoint.log-expected.json @@ -37,7 +37,7 @@ ], "id": "123456789", "kind": "event", - "original": "{\"sourcetype\":\"zscalernss-web\",\"event\":{\"time\":\"Mon Oct 16 22:55:48 2023\",\"cloudname\":\"zscaler.net\",\"host\":\"mail.google.com\",\"serverip\":\"81.2.69.142\",\"external_devid\":\"1234\",\"devicemodel\":\"20L8S7WC08\",\"action\":\"Allowed\",\"recordid\":\"123456789\",\"reason\":\"File Attachment Cautioned\",\"threatseverity\":\"Critical (90–100)\",\"tz\":\"GMT\",\"filesubtype\":\"rar\",\"upload_filesubtype\":\"rar\",\"sha256\":\"81ec78bc8298568bb5ea66d3c2972b670d0f7459b6cdbbcaacce90ab417ab15c\",\"bamd5\":\"196a3d797bfee07fe4596b69f4ce1141\",\"filename\":\"nssfeed.txt\",\"upload_filename\":\"nssfeed.exe\",\"filetype\":\"RAR Files\",\"devicename\":\"PC11NLPA:5F08D97BBF43257A8FB4BBF4061A38AE324EF734\",\"devicehostname\":\"THINKPADSMITH\",\"deviceostype\":\"iOS\",\"deviceosversion\":\"Version 10.14.2 (Build 18C54)\",\"devicetype\":\"Zscaler Client Connector\",\"reqsize\":\"1300\",\"reqmethod\":\"invalid\",\"refererurl\":\"www.example.com\",\"respsize\":\"10500\",\"respcode\":\"100\",\"reqversion\":\"1.1\",\"respversion\":\"1\",\"proto\":\"HTTP\",\"company\":\"Zscaler\",\"dlpmd5\":\"154f149b1443fbfa8c121d13e5c019a1\",\"apprulelabel\":\"File_Sharing_1\",\"dlprulename\":\"DLP_Rule_1\",\"rulelabel\":\"URL_Filtering_1\",\"urlfilterrulelabel\":\"URL_Filtering_1\",\"cltip\":\"81.2.69.142\",\"cltintip\":\"81.2.69.142\",\"cltsourceport\":\"1235\",\"threatname\":\"EICAR Test File\",\"cltsslcipher\":\"SSL3_CK_RSA_NULL_MD5\",\"clttlsversion\":\"SSL2\",\"eurl\":\"www.trythisencodeurl.com%2Findex\",\"useragent\":\"Mozilla/5.0\",\"login\":\"jdoe@safemarch.com\",\"applayerprotocol\":\"FTP\",\"appclass\":\"Administration\",\"appname\":\"Adobe Connect\",\"appriskscore\":\"None\",\"bandwidthclassname\":\"Entertainment\",\"bandwidthrulename\":\"Office 365\",\"bwthrottle\":\"Yes\",\"bypassedtime\":\"Mon Oct 16 22:55:48 2023\",\"bypassedtraffic\":\"0\",\"cltsslsessreuse\":\"Unknown\",\"cltpubip\":\"81.2.69.142\",\"cltsslfailcount\":\"100\",\"cltsslfailreason\":\"Bad Record Mac\",\"contenttype\":\"application/vnd_apple_keynote\",\"datacentercity\":\"Sa\",\"datacentercountry\":\"US\",\"datacenter\":\"CA Client Node DC\",\"day\":\"Mon\",\"day_of_month\":\"16\",\"dept\":\"Sales\",\"deviceappversion\":\"81.2.69.142\",\"deviceowner\":\"jsmith\",\"df_hosthead\":\"df_hosthead\",\"df_hostname\":\"df_hostname\",\"dlpdicthitcount\":\"4\",\"dlpdict\":\"Credit Cards\",\"dlpeng\":\"HIPAA\",\"dlpidentifier\":\"6646484838839026000\",\"eedone\":\"Yes\",\"epochtime\":\"1578128400\",\"fileclass\":\"Active Web Contents\",\"flow_type\":\"Direct\",\"forward_gateway_ip\":\"10.1.1.1\",\"forward_gateway_name\":\"FWD_1\",\"forward_type\":\"Direct\",\"hour\":\"22\",\"is_sslexpiredca\":\"Yes\",\"is_sslselfsigned\":\"Yes\",\"is_ssluntrustedca\":\"Pass\",\"keyprotectiontype\":\"HSM Protection\",\"location\":\"Headquarters\",\"malwarecategory\":\"Adware\",\"malwareclass\":\"Sandbox\",\"minute\":\"55\",\"mobappcategory\":\"Communication\",\"mobappname\":\"Amazon\",\"mobdevtype\":\"Google Android\",\"module\":\"Administration\",\"month\":\"Oct\",\"month_of_year\":\"10\",\"nssserviceip\":\"192.168.2.200\",\"oapprulelabel\":\"5300295980\",\"obwclassname\":\"10831489\",\"ocip\":\"6200694987\",\"ocpubip\":\"624054738\",\"odevicehostname\":\"2168890624\",\"odevicename\":\"2175092224\",\"odeviceowner\":\"10831489\",\"odlpdict\":\"10831489\",\"odlpeng\":\"4094304256\",\"odlprulename\":\"6857275752\",\"ofwd_gw_name\":\"8794487099\",\"ologin\":\"4094304256\",\"ordr_rulename\":\"3399565100\",\"ourlcat\":\"7956407282\",\"ourlfilterrulelabel\":\"4951704103\",\"ozpa_app_seg_name\":\"7648246731\",\"externalsslpolicyreason\":\"Blocked\",\"productversion\":\"5.0.902.95524_04\",\"rdr_rulename\":\"FWD_Rule_1\",\"refererhost\":\"www.example.com for http://www.example.com/index.html\",\"reqheadersize\":\"300\",\"reqdatasize\":\"1000\",\"respheadersize\":\"500\",\"respdatasize\":\"10000\",\"riskscore\":\"10\",\"ruletype\":\"File Type Control\",\"second\":\"48\",\"srvcertchainvalpass\":\"Unknown\",\"srvcertvalidationtype\":\"EV (Extended Validation)\",\"srvcertvalidityperiod\":\"Short\",\"srvsslcipher\":\"SSL3_CK_RSA_NULL_MD5\",\"serversslsessreuse\":\"Unknown\",\"srvocspresult\":\"Good\",\"srvtlsversion\":\"SSL2\",\"srvwildcardcert\":\"Unknown\",\"ssldecrypted\":\"Yes\",\"throttlereqsize\":\"5\",\"throttlerespsize\":\"7\",\"totalsize\":\"11800\",\"trafficredirectmethod\":\"DNAT (Destination Translation)\",\"unscannabletype\":\"Encrypted File\",\"upload_doctypename\":\"Corporate Finance\",\"upload_fileclass\":\"upload_fileclass\",\"upload_filetype\":\"RAR Files\",\"urlcatmethod\":\"Database A\",\"urlsubcat\":\"Entertainment\",\"urlsupercat\":\"Travel\",\"urlclass\":\"Bandwidth Loss\",\"useragentclass\":\"Firefox\",\"useragenttoken\":\"Google Chrome (0.x)\",\"userlocationname\":\"userlocationname\",\"year\":\"2023\",\"ztunnelversion\":\"ZTUNNEL_1_0\",\"zpa_app_seg_name\":\"ZPA_test_app_segment\"}}", + "original": "{\"version\":\"v8\",\"sourcetype\":\"zscalernss-web\",\"event\":{\"time\":\"Mon Oct 16 22:55:48 2023\",\"cloudname\":\"zscaler.net\",\"host\":\"mail.google.com\",\"serverip\":\"81.2.69.142\",\"external_devid\":\"1234\",\"devicemodel\":\"20L8S7WC08\",\"action\":\"Allowed\",\"recordid\":\"123456789\",\"reason\":\"File Attachment Cautioned\",\"threatseverity\":\"Critical (90–100)\",\"tz\":\"GMT\",\"filesubtype\":\"rar\",\"upload_filesubtype\":\"rar\",\"sha256\":\"81ec78bc8298568bb5ea66d3c2972b670d0f7459b6cdbbcaacce90ab417ab15c\",\"bamd5\":\"196a3d797bfee07fe4596b69f4ce1141\",\"filename\":\"nssfeed.txt\",\"upload_filename\":\"nssfeed.exe\",\"filetype\":\"RAR Files\",\"devicename\":\"PC11NLPA:5F08D97BBF43257A8FB4BBF4061A38AE324EF734\",\"devicehostname\":\"THINKPADSMITH\",\"deviceostype\":\"iOS\",\"deviceosversion\":\"Version 10.14.2 (Build 18C54)\",\"devicetype\":\"Zscaler Client Connector\",\"reqsize\":\"1300\",\"reqmethod\":\"invalid\",\"b64referer\":\"d3d3LmV4YW1wbGUuY29t\",\"respsize\":\"10500\",\"respcode\":\"100\",\"reqversion\":\"1.1\",\"respversion\":\"1\",\"proto\":\"HTTP\",\"company\":\"Zscaler\",\"dlpmd5\":\"154f149b1443fbfa8c121d13e5c019a1\",\"apprulelabel\":\"File_Sharing_1\",\"dlprulename\":\"DLP_Rule_1\",\"rulelabel\":\"URL_Filtering_1\",\"urlfilterrulelabel\":\"URL_Filtering_1\",\"cltip\":\"81.2.69.142\",\"cltintip\":\"81.2.69.142\",\"cltsourceport\":\"1235\",\"threatname\":\"EICAR Test File\",\"cltsslcipher\":\"SSL3_CK_RSA_NULL_MD5\",\"clttlsversion\":\"SSL2\",\"b64url\":\"d3d3LnRyeXRoaXNlbmNvZGV1cmwuY29tL2luZGV4\",\"useragent\":\"Mozilla/5.0\",\"login\":\"jdoe@safemarch.com\",\"applayerprotocol\":\"FTP\",\"appclass\":\"Administration\",\"appname\":\"Adobe Connect\",\"appriskscore\":\"None\",\"bandwidthclassname\":\"Entertainment\",\"bandwidthrulename\":\"Office 365\",\"bwthrottle\":\"Yes\",\"bypassedtime\":\"Mon Oct 16 22:55:48 2023\",\"bypassedtraffic\":\"0\",\"cltsslsessreuse\":\"Unknown\",\"cltpubip\":\"81.2.69.142\",\"cltsslfailcount\":\"100\",\"cltsslfailreason\":\"Bad Record Mac\",\"contenttype\":\"application/vnd_apple_keynote\",\"datacentercity\":\"Sa\",\"datacentercountry\":\"US\",\"datacenter\":\"CA Client Node DC\",\"day\":\"Mon\",\"day_of_month\":\"16\",\"dept\":\"Sales\",\"deviceappversion\":\"81.2.69.142\",\"deviceowner\":\"jsmith\",\"df_hosthead\":\"df_hosthead\",\"df_hostname\":\"df_hostname\",\"dlpdicthitcount\":\"4\",\"dlpdict\":\"Credit Cards\",\"dlpeng\":\"HIPAA\",\"dlpidentifier\":\"6646484838839026000\",\"eedone\":\"Yes\",\"epochtime\":\"1578128400\",\"fileclass\":\"Active Web Contents\",\"flow_type\":\"Direct\",\"forward_gateway_ip\":\"10.1.1.1\",\"forward_gateway_name\":\"FWD_1\",\"forward_type\":\"Direct\",\"hour\":\"22\",\"is_sslexpiredca\":\"Yes\",\"is_sslselfsigned\":\"Yes\",\"is_ssluntrustedca\":\"Pass\",\"keyprotectiontype\":\"HSM Protection\",\"location\":\"Headquarters\",\"malwarecategory\":\"Adware\",\"malwareclass\":\"Sandbox\",\"minute\":\"55\",\"mobappcategory\":\"Communication\",\"mobappname\":\"Amazon\",\"mobdevtype\":\"Google Android\",\"module\":\"Administration\",\"month\":\"Oct\",\"month_of_year\":\"10\",\"nssserviceip\":\"192.168.2.200\",\"oapprulelabel\":\"5300295980\",\"obwclassname\":\"10831489\",\"ocip\":\"6200694987\",\"ocpubip\":\"624054738\",\"odevicehostname\":\"2168890624\",\"odevicename\":\"2175092224\",\"odeviceowner\":\"10831489\",\"odlpdict\":\"10831489\",\"odlpeng\":\"4094304256\",\"odlprulename\":\"6857275752\",\"ofwd_gw_name\":\"8794487099\",\"ologin\":\"4094304256\",\"ordr_rulename\":\"3399565100\",\"ourlcat\":\"7956407282\",\"ourlfilterrulelabel\":\"4951704103\",\"ozpa_app_seg_name\":\"7648246731\",\"externalsslpolicyreason\":\"Blocked\",\"productversion\":\"5.0.902.95524_04\",\"rdr_rulename\":\"FWD_Rule_1\",\"refererhost\":\"www.example.com for http://www.example.com/index.html\",\"reqheadersize\":\"300\",\"reqdatasize\":\"1000\",\"respheadersize\":\"500\",\"respdatasize\":\"10000\",\"riskscore\":\"10\",\"ruletype\":\"File Type Control\",\"second\":\"48\",\"srvcertchainvalpass\":\"Unknown\",\"srvcertvalidationtype\":\"EV (Extended Validation)\",\"srvcertvalidityperiod\":\"Short\",\"srvsslcipher\":\"SSL3_CK_RSA_NULL_MD5\",\"serversslsessreuse\":\"Unknown\",\"srvocspresult\":\"Good\",\"srvtlsversion\":\"SSL2\",\"srvwildcardcert\":\"Unknown\",\"ssldecrypted\":\"Yes\",\"throttlereqsize\":\"5\",\"throttlerespsize\":\"7\",\"totalsize\":\"11800\",\"trafficredirectmethod\":\"DNAT (Destination Translation)\",\"unscannabletype\":\"Encrypted File\",\"upload_doctypename\":\"Corporate Finance\",\"upload_fileclass\":\"upload_fileclass\",\"upload_filetype\":\"RAR Files\",\"urlcatmethod\":\"Database A\",\"urlsubcat\":\"Entertainment\",\"urlsupercat\":\"Travel\",\"urlclass\":\"Bandwidth Loss\",\"useragentclass\":\"Firefox\",\"useragenttoken\":\"Google Chrome (0.x)\",\"userlocationname\":\"userlocationname\",\"year\":\"2023\",\"ztunnelversion\":\"ZTUNNEL_1_0\",\"zpa_app_seg_name\":\"ZPA_test_app_segment\"}}", "reason": "File Attachment Cautioned", "timezone": "GMT", "type": [ @@ -461,7 +461,7 @@ ], "id": "123456789", "kind": "event", - "original": "{\"sourcetype\":\"zscalernss-web\",\"event\":{\"time\":\"Mon Oct 16 22:55:48 2023\",\"cloudname\":\"zscaler.net\",\"host\":\"mail.google.com\",\"serverip\":\"81.2.69.142\",\"external_devid\":\"1234\",\"devicemodel\":\"20L8S7WC08\",\"action\":\"Blocked\",\"recordid\":\"123456789\",\"reason\":\"File Attachment Cautioned\",\"threatseverity\":\"Critical (90–100)\",\"tz\":\"GMT\",\"filesubtype\":\"rar\",\"upload_filesubtype\":\"rar\",\"sha256\":\"81ec78bc8298568bb5ea66d3c2972b670d0f7459b6cdbbcaacce90ab417ab15c\",\"bamd5\":\"196a3d797bfee07fe4596b69f4ce1141\",\"filename\":\"nssfeed.txt\",\"upload_filename\":\"nssfeed.exe\",\"filetype\":\"RAR Files\",\"devicename\":\"PC11NLPA:5F08D97BBF43257A8FB4BBF4061A38AE324EF734\",\"devicehostname\":\"THINKPADSMITH\",\"deviceostype\":\"iOS\",\"deviceosversion\":\"Version 10.14.2 (Build 18C54)\",\"devicetype\":\"Zscaler Client Connector\",\"reqsize\":\"1300\",\"reqmethod\":\"invalid\",\"refererurl\":\"www.example.com\",\"respsize\":\"10500\",\"respcode\":\"100\",\"reqversion\":\"1.1\",\"respversion\":\"1\",\"proto\":\"HTTP\",\"company\":\"Zscaler\",\"dlpmd5\":\"154f149b1443fbfa8c121d13e5c019a1\",\"apprulelabel\":\"File_Sharing_1\",\"dlprulename\":\"DLP_Rule_1\",\"rulelabel\":\"URL_Filtering_1\",\"urlfilterrulelabel\":\"URL_Filtering_1\",\"cltip\":\"81.2.69.142\",\"cltintip\":\"81.2.69.142\",\"cltsourceport\":\"1235\",\"threatname\":\"EICAR Test File\",\"cltsslcipher\":\"SSL3_CK_RSA_NULL_MD5\",\"clttlsversion\":\"SSL2\",\"eurl\":\"www.trythisencodeurl.com%2Findex\",\"useragent\":\"Mozilla/5.0\",\"login\":\"jdoe@safemarch.com\",\"applayerprotocol\":\"FTP\",\"appclass\":\"Administration\",\"appname\":\"Adobe Connect\",\"appriskscore\":\"None\",\"bandwidthclassname\":\"Entertainment\",\"bandwidthrulename\":\"Office 365\",\"bwthrottle\":\"Yes\",\"bypassedtime\":\"Mon Oct 16 22:55:48 2023\",\"bypassedtraffic\":\"1\",\"cltsslsessreuse\":\"Unknown\",\"cltpubip\":\"81.2.69.142\",\"cltsslfailcount\":\"100\",\"cltsslfailreason\":\"Bad Record Mac\",\"contenttype\":\"application/vnd_apple_keynote\",\"datacentercity\":\"Sa\",\"datacentercountry\":\"US\",\"datacenter\":\"CA Client Node DC\",\"day\":\"Mon\",\"day_of_month\":\"16\",\"dept\":\"Sales\",\"deviceappversion\":\"81.2.69.142\",\"deviceowner\":\"jsmith\",\"df_hosthead\":\"df_hosthead\",\"df_hostname\":\"df_hostname\",\"dlpdicthitcount\":\"4\",\"dlpdict\":\"Credit Cards\",\"dlpeng\":\"HIPAA\",\"dlpidentifier\":\"6646484838839026000\",\"eedone\":\"Yes\",\"epochtime\":\"1578128400\",\"fileclass\":\"Active Web Contents\",\"flow_type\":\"Direct\",\"forward_gateway_ip\":\"10.1.1.1\",\"forward_gateway_name\":\"FWD_1\",\"forward_type\":\"Direct\",\"hour\":\"22\",\"is_sslexpiredca\":\"Yes\",\"is_sslselfsigned\":\"Yes\",\"is_ssluntrustedca\":\"Pass\",\"keyprotectiontype\":\"HSM Protection\",\"location\":\"Headquarters\",\"malwarecategory\":\"Adware\",\"malwareclass\":\"Sandbox\",\"minute\":\"55\",\"mobappcategory\":\"Communication\",\"mobappname\":\"Amazon\",\"mobdevtype\":\"Google Android\",\"module\":\"Administration\",\"month\":\"Oct\",\"month_of_year\":\"10\",\"nssserviceip\":\"192.168.2.200\",\"oapprulelabel\":\"5300295980\",\"obwclassname\":\"10831489\",\"ocip\":\"6200694987\",\"ocpubip\":\"624054738\",\"odevicehostname\":\"2168890624\",\"odevicename\":\"2175092224\",\"odeviceowner\":\"10831489\",\"odlpdict\":\"10831489\",\"odlpeng\":\"4094304256\",\"odlprulename\":\"6857275752\",\"ofwd_gw_name\":\"8794487099\",\"ologin\":\"4094304256\",\"ordr_rulename\":\"3399565100\",\"ourlcat\":\"7956407282\",\"ourlfilterrulelabel\":\"4951704103\",\"ozpa_app_seg_name\":\"7648246731\",\"externalsslpolicyreason\":\"Blocked\",\"productversion\":\"5.0.902.95524_04\",\"rdr_rulename\":\"FWD_Rule_1\",\"refererhost\":\"www.example.com for http://www.example.com/index.html\",\"reqheadersize\":\"300\",\"reqdatasize\":\"1000\",\"respheadersize\":\"500\",\"respdatasize\":\"10000\",\"riskscore\":\"10\",\"ruletype\":\"File Type Control\",\"second\":\"48\",\"srvcertchainvalpass\":\"Unknown\",\"srvcertvalidationtype\":\"EV (Extended Validation)\",\"srvcertvalidityperiod\":\"Short\",\"srvsslcipher\":\"SSL3_CK_RSA_NULL_MD5\",\"serversslsessreuse\":\"Unknown\",\"srvocspresult\":\"Good\",\"srvtlsversion\":\"SSL2\",\"srvwildcardcert\":\"Unknown\",\"ssldecrypted\":\"Yes\",\"throttlereqsize\":\"5\",\"throttlerespsize\":\"7\",\"totalsize\":\"11800\",\"trafficredirectmethod\":\"DNAT (Destination Translation)\",\"unscannabletype\":\"Encrypted File\",\"upload_doctypename\":\"Corporate Finance\",\"upload_fileclass\":\"upload_fileclass\",\"upload_filetype\":\"RAR Files\",\"urlcatmethod\":\"Database A\",\"urlsubcat\":\"Entertainment\",\"urlsupercat\":\"Travel\",\"urlclass\":\"Bandwidth Loss\",\"useragentclass\":\"Firefox\",\"useragenttoken\":\"Google Chrome (0.x)\",\"userlocationname\":\"userlocationname\",\"year\":\"2023\",\"ztunnelversion\":\"ZTUNNEL_1_0\",\"zpa_app_seg_name\":\"ZPA_test_app_segment\"}}", + "original": "{\"version\":\"v8\",\"sourcetype\":\"zscalernss-web\",\"event\":{\"time\":\"Mon Oct 16 22:55:48 2023\",\"cloudname\":\"zscaler.net\",\"host\":\"mail.google.com\",\"serverip\":\"81.2.69.142\",\"external_devid\":\"1234\",\"devicemodel\":\"20L8S7WC08\",\"action\":\"Blocked\",\"recordid\":\"123456789\",\"reason\":\"File Attachment Cautioned\",\"threatseverity\":\"Critical (90–100)\",\"tz\":\"GMT\",\"filesubtype\":\"rar\",\"upload_filesubtype\":\"rar\",\"sha256\":\"81ec78bc8298568bb5ea66d3c2972b670d0f7459b6cdbbcaacce90ab417ab15c\",\"bamd5\":\"196a3d797bfee07fe4596b69f4ce1141\",\"filename\":\"nssfeed.txt\",\"upload_filename\":\"nssfeed.exe\",\"filetype\":\"RAR Files\",\"devicename\":\"PC11NLPA:5F08D97BBF43257A8FB4BBF4061A38AE324EF734\",\"devicehostname\":\"THINKPADSMITH\",\"deviceostype\":\"iOS\",\"deviceosversion\":\"Version 10.14.2 (Build 18C54)\",\"devicetype\":\"Zscaler Client Connector\",\"reqsize\":\"1300\",\"reqmethod\":\"invalid\",\"b64referer\":\"d3d3LmV4YW1wbGUuY29t\",\"respsize\":\"10500\",\"respcode\":\"100\",\"reqversion\":\"1.1\",\"respversion\":\"1\",\"proto\":\"HTTP\",\"company\":\"Zscaler\",\"dlpmd5\":\"154f149b1443fbfa8c121d13e5c019a1\",\"apprulelabel\":\"File_Sharing_1\",\"dlprulename\":\"DLP_Rule_1\",\"rulelabel\":\"URL_Filtering_1\",\"urlfilterrulelabel\":\"URL_Filtering_1\",\"cltip\":\"81.2.69.142\",\"cltintip\":\"81.2.69.142\",\"cltsourceport\":\"1235\",\"threatname\":\"EICAR Test File\",\"cltsslcipher\":\"SSL3_CK_RSA_NULL_MD5\",\"clttlsversion\":\"SSL2\",\"b64url\":\"d3d3LnRyeXRoaXNlbmNvZGV1cmwuY29tL2luZGV4\",\"useragent\":\"Mozilla/5.0\",\"login\":\"jdoe@safemarch.com\",\"applayerprotocol\":\"FTP\",\"appclass\":\"Administration\",\"appname\":\"Adobe Connect\",\"appriskscore\":\"None\",\"bandwidthclassname\":\"Entertainment\",\"bandwidthrulename\":\"Office 365\",\"bwthrottle\":\"Yes\",\"bypassedtime\":\"Mon Oct 16 22:55:48 2023\",\"bypassedtraffic\":\"1\",\"cltsslsessreuse\":\"Unknown\",\"cltpubip\":\"81.2.69.142\",\"cltsslfailcount\":\"100\",\"cltsslfailreason\":\"Bad Record Mac\",\"contenttype\":\"application/vnd_apple_keynote\",\"datacentercity\":\"Sa\",\"datacentercountry\":\"US\",\"datacenter\":\"CA Client Node DC\",\"day\":\"Mon\",\"day_of_month\":\"16\",\"dept\":\"Sales\",\"deviceappversion\":\"81.2.69.142\",\"deviceowner\":\"jsmith\",\"df_hosthead\":\"df_hosthead\",\"df_hostname\":\"df_hostname\",\"dlpdicthitcount\":\"4\",\"dlpdict\":\"Credit Cards\",\"dlpeng\":\"HIPAA\",\"dlpidentifier\":\"6646484838839026000\",\"eedone\":\"Yes\",\"epochtime\":\"1578128400\",\"fileclass\":\"Active Web Contents\",\"flow_type\":\"Direct\",\"forward_gateway_ip\":\"10.1.1.1\",\"forward_gateway_name\":\"FWD_1\",\"forward_type\":\"Direct\",\"hour\":\"22\",\"is_sslexpiredca\":\"Yes\",\"is_sslselfsigned\":\"Yes\",\"is_ssluntrustedca\":\"Pass\",\"keyprotectiontype\":\"HSM Protection\",\"location\":\"Headquarters\",\"malwarecategory\":\"Adware\",\"malwareclass\":\"Sandbox\",\"minute\":\"55\",\"mobappcategory\":\"Communication\",\"mobappname\":\"Amazon\",\"mobdevtype\":\"Google Android\",\"module\":\"Administration\",\"month\":\"Oct\",\"month_of_year\":\"10\",\"nssserviceip\":\"192.168.2.200\",\"oapprulelabel\":\"5300295980\",\"obwclassname\":\"10831489\",\"ocip\":\"6200694987\",\"ocpubip\":\"624054738\",\"odevicehostname\":\"2168890624\",\"odevicename\":\"2175092224\",\"odeviceowner\":\"10831489\",\"odlpdict\":\"10831489\",\"odlpeng\":\"4094304256\",\"odlprulename\":\"6857275752\",\"ofwd_gw_name\":\"8794487099\",\"ologin\":\"4094304256\",\"ordr_rulename\":\"3399565100\",\"ourlcat\":\"7956407282\",\"ourlfilterrulelabel\":\"4951704103\",\"ozpa_app_seg_name\":\"7648246731\",\"externalsslpolicyreason\":\"Blocked\",\"productversion\":\"5.0.902.95524_04\",\"rdr_rulename\":\"FWD_Rule_1\",\"refererhost\":\"www.example.com for http://www.example.com/index.html\",\"reqheadersize\":\"300\",\"reqdatasize\":\"1000\",\"respheadersize\":\"500\",\"respdatasize\":\"10000\",\"riskscore\":\"10\",\"ruletype\":\"File Type Control\",\"second\":\"48\",\"srvcertchainvalpass\":\"Unknown\",\"srvcertvalidationtype\":\"EV (Extended Validation)\",\"srvcertvalidityperiod\":\"Short\",\"srvsslcipher\":\"SSL3_CK_RSA_NULL_MD5\",\"serversslsessreuse\":\"Unknown\",\"srvocspresult\":\"Good\",\"srvtlsversion\":\"SSL2\",\"srvwildcardcert\":\"Unknown\",\"ssldecrypted\":\"Yes\",\"throttlereqsize\":\"5\",\"throttlerespsize\":\"7\",\"totalsize\":\"11800\",\"trafficredirectmethod\":\"DNAT (Destination Translation)\",\"unscannabletype\":\"Encrypted File\",\"upload_doctypename\":\"Corporate Finance\",\"upload_fileclass\":\"upload_fileclass\",\"upload_filetype\":\"RAR Files\",\"urlcatmethod\":\"Database A\",\"urlsubcat\":\"Entertainment\",\"urlsupercat\":\"Travel\",\"urlclass\":\"Bandwidth Loss\",\"useragentclass\":\"Firefox\",\"useragenttoken\":\"Google Chrome (0.x)\",\"userlocationname\":\"userlocationname\",\"year\":\"2023\",\"ztunnelversion\":\"ZTUNNEL_1_0\",\"zpa_app_seg_name\":\"ZPA_test_app_segment\"}}", "reason": "File Attachment Cautioned", "timezone": "GMT", "type": [ diff --git a/packages/zscaler_zia/data_stream/web/_dev/test/pipeline/test-web.log b/packages/zscaler_zia/data_stream/web/_dev/test/pipeline/test-web.log index 9261975fd9e..b3f89a9c703 100644 --- a/packages/zscaler_zia/data_stream/web/_dev/test/pipeline/test-web.log +++ b/packages/zscaler_zia/data_stream/web/_dev/test/pipeline/test-web.log @@ -1,5 +1,5 @@ -{"sourcetype":"zscalernss-web","event":{"time":"Mon Oct 16 22:55:48 2023","cloudname":"zscaler.net","host":"mail.google.com","serverip":"1.128.0.0","external_devid":"1234","devicemodel":"20L8S7WC08","action":"Allowed","recordid":123456789,"reason":"File Attachment Cautioned","threatseverity":"Critical (90–100)","tz":"GMT","filesubtype":"exe","upload_filesubtype":"rar","sha256":"81ec78bc8298568bb5ea66d3c2972b670d0f7459b6cdbbcaacce90ab417ab15c","bamd5":"196a3d797bfee07fe4596b69f4ce1141","filename":"nssfeed.txt","upload_filename":"nssfeed.exe","filetype":"RAR Files","devicename":"PC11NLPA%3A5F08D97BBF43257A8FB4BBF4061A38AE324EF734","devicehostname":"THINKPADSMITH","deviceostype":"iOS","deviceosversion":"Version 10.14.2 (Build 18C54)","devicetype":"Zscaler Client Connector","reqsize":1300,"reqmethod":"invalid","refererurl":"www.example.com","respsize":10500,"respcode":"100","reqversion":"1.1","respversion":"1","proto":"HTTP","company":"Zscaler","dlpmd5":"154f149b1443fbfa8c121d13e5c019a1","apprulelabel":"File_Sharing_1","dlprulename":"DLP_Rule_1","rulelabel":"URL_Filtering_1","urlfilterrulelabel":"URL_Filtering_2","cltip":"81.2.69.144","cltintip":"89.160.20.128","cltsourceport":12345,"threatname":"EICAR Test File","cltsslcipher":"SSL3_CK_RSA_NULL_MD5","clttlsversion":"SSL2","eurl":"www.trythisencodeurl.com:443/index?qtime=2023-04-12T23%3A20%3A50.52Z","useragent":"Mozilla/5.0","login":"jdoe@safemarch.com","applayerprotocol":"FTP","appclass":"Administration","appname":"Adobe Connect","appriskscore":"1","bandwidthclassname":"Entertainment","bandwidthrulename":"Office 365","bwthrottle":"Yes","bypassedtime":"Mon Oct 16 22:55:48 2023","bypassedtraffic":"1","cltsslsessreuse":"Unknown","cltpubip":"175.16.199.0","cltsslfailcount":100,"cltsslfailreason":"Bad Record Mac","contenttype":"application/vnd_apple_keynote","datacentercity":"Sa","datacentercountry":"US","datacenter":"CA Client Node DC","day":"Mon","day_of_month":16,"dept":"Sales","deviceappversion":"1.128.0.0","deviceowner":"jsmith","df_hosthead":"df_hosthead","df_hostname":"df_hostname","dlpdicthitcount":"4","dlpdict":"Credit Cards","dlpeng":"HIPAA","dlpidentifier":6646484838839026000,"eedone":"Yes","epochtime":1578128400,"fileclass":"Active Web Contents","flow_type":"Direct","forward_gateway_ip":"10.1.1.1","forward_gateway_name":"FWD_1","forward_type":"Direct","hour":22,"is_sslexpiredca":"Yes","is_sslselfsigned":"Yes","is_ssluntrustedca":"Pass","keyprotectiontype":"HSM Protection","location":"Headquarters","malwarecategory":"Adware","malwareclass":"Sandbox","minute":55,"mobappcategory":"Communication","mobappname":"Amazon","mobdevtype":"Google Android","module":"Administration","month":"Oct","month_of_year":10,"nssserviceip":"192.168.2.200","oapprulelabel":"5300295980","obwclassname":"10831489","ocip":6200694987,"ocpubip":624054738,"odevicehostname":"2168890624","odevicename":"2175092224","odeviceowner":"10831489","odlpdict":"10831489","odlpeng":"4094304256","odlprulename":"6857275752","ofwd_gw_name":"8794487099","ologin":"4094304256","ordr_rulename":"3399565100","ourlcat":"7956407282","ourlfilterrulelabel":"4951704103","ozpa_app_seg_name":"7648246731","externalsslpolicyreason":"Blocked","productversion":"5.0.902.95524_04","rdr_rulename":"FWD_Rule_1","refererhost":"www.example.com for http://www.example.com/index.html","reqheadersize":300,"reqdatasize":1000,"respheadersize":500,"respdatasize":10000,"riskscore":10,"ruletype":"File Type Control","second":48,"srvcertchainvalpass":"Unknown","srvcertvalidationtype":"EV (Extended Validation)","srvcertvalidityperiod":"Short","srvsslcipher":"SSL3_CK_RSA_NULL_MD5","serversslsessreuse":"Unknown","srvocspresult":"Good","srvtlsversion":"SSL2","srvwildcardcert":"Unknown","ssldecrypted":"Yes","throttlereqsize":5,"throttlerespsize":7,"totalsize":11800,"trafficredirectmethod":"DNAT (Destination Translation)","unscannabletype":"Encrypted File","upload_doctypename":"Corporate Finance","upload_fileclass":"upload_fileclass","upload_filetype":"RAR Files","urlcatmethod":"Database A","urlsubcat":"Entertainment","urlsupercat":"Travel","urlclass":"Bandwidth Loss","useragentclass":"Firefox","useragenttoken":"Google Chrome (0.x)","userlocationname":"userlocationname","year":2023,"ztunnelversion":"ZTUNNEL_1_0","zpa_app_seg_name":"ZPA_test_app_segment"}} -{"sourcetype":"zscalernss-web","event":{"time":"Mon Oct 17 22:55:48 2023","cloudname":"zscaler.net","host":"mail.google.com","serverip":"1.128.0.1","external_devid":"2345","devicemodel":"20L8S7WC09","action":"Allowed","recordid":123456780,"reason":"File Attachment Cautioned","threatseverity":"Critical (90–100)","tz":"GMT","filesubtype":"exe","upload_filesubtype":"rar","sha256":"81ec78bc8298568bb5ea66d3c2972b670d0f7459b6cdbbcaacce90ab417ab15c","bamd5":"196a3d797bfee07fe4596b69f4ce1141","filename":"nssfeed.txt","upload_filename":"nssfeed.exe","filetype":"RAR Files","devicename":"PC11NLPA%3A5F08D97BBF43257A8FB4BBF4061A38AE324EF734","devicehostname":"THINKPADSMITH","deviceostype":"iOS","deviceosversion":"Version 10.14.2 (Build 18C54)","devicetype":"Zscaler Client Connector","reqsize":1300,"reqmethod":"invalid","refererurl":"www.example.com","respsize":10500,"respcode":"100","reqversion":"1.1","respversion":"1","proto":"HTTPS","company":"Zscaler","dlpmd5":"154f149b1443fbfa8c121d13e5c019a1","apprulelabel":"File_Sharing_1","dlprulename":"DLP_Rule_1","rulelabel":"URL_Filtering_1","urlfilterrulelabel":"URL_Filtering_2","cltip":"81.2.69.144","cltintip":"89.160.20.128","cltsourceport":12345,"threatname":"EICAR Test File","cltsslcipher":"SSL3_CK_RSA_NULL_MD5","clttlsversion":"SSL2","eurl":"www.example.com%3A443","useragent":"Mozilla/5.0","login":"jdoe@safemarch.com","applayerprotocol":"FTP","appclass":"Administration","appname":"Adobe Connect","appriskscore":"1","bandwidthclassname":"Entertainment","bandwidthrulename":"Office 365","bwthrottle":"Yes","bypassedtime":"Mon Oct 16 22:55:48 2023","bypassedtraffic":"1","cltsslsessreuse":"Unknown","cltpubip":"175.16.199.0","cltsslfailcount":100,"cltsslfailreason":"Bad Record Mac","contenttype":"application/vnd_apple_keynote","datacentercity":"Sa","datacentercountry":"US","datacenter":"CA Client Node DC","day":"Mon","day_of_month":16,"dept":"Sales","deviceappversion":"1.128.0.1","deviceowner":"jsmith","df_hosthead":"df_hosthead","df_hostname":"df_hostname","dlpdicthitcount":"4","dlpdict":"Credit Cards","dlpeng":"HIPAA","dlpidentifier":6646484838839026000,"eedone":"Yes","epochtime":1578128400,"fileclass":"Active Web Contents","flow_type":"Direct","forward_gateway_ip":"10.1.1.1","forward_gateway_name":"FWD_1","forward_type":"Direct","hour":22,"is_sslexpiredca":"Yes","is_sslselfsigned":"Yes","is_ssluntrustedca":"Pass","keyprotectiontype":"HSM Protection","location":"Headquarters","malwarecategory":"Adware","malwareclass":"Sandbox","minute":55,"mobappcategory":"Communication","mobappname":"Amazon","mobdevtype":"Google Android","module":"Administration","month":"Oct","month_of_year":10,"nssserviceip":"192.168.2.200","oapprulelabel":"5300295980","obwclassname":"10831489","ocip":6200694987,"ocpubip":624054738,"odevicehostname":"2168890624","odevicename":"2175092224","odeviceowner":"10831489","odlpdict":"10831489","odlpeng":"4094304256","odlprulename":"6857275752","ofwd_gw_name":"8794487099","ologin":"4094304256","ordr_rulename":"3399565100","ourlcat":"7956407282","ourlfilterrulelabel":"4951704103","ozpa_app_seg_name":"7648246731","externalsslpolicyreason":"Blocked","productversion":"5.0.902.95524_04","rdr_rulename":"FWD_Rule_1","refererhost":"www.example.com for http://www.example.com/index.html","reqheadersize":300,"reqdatasize":1000,"respheadersize":500,"respdatasize":10000,"riskscore":10,"ruletype":"File Type Control","second":48,"srvcertchainvalpass":"Unknown","srvcertvalidationtype":"EV (Extended Validation)","srvcertvalidityperiod":"Short","srvsslcipher":"SSL3_CK_RSA_NULL_MD5","serversslsessreuse":"Unknown","srvocspresult":"Good","srvtlsversion":"SSL2","srvwildcardcert":"Unknown","ssldecrypted":"Yes","throttlereqsize":5,"throttlerespsize":7,"totalsize":11800,"trafficredirectmethod":"DNAT (Destination Translation)","unscannabletype":"Encrypted File","upload_doctypename":"Corporate Finance","upload_fileclass":"upload_fileclass","upload_filetype":"RAR Files","urlcatmethod":"Database A","urlsubcat":"Entertainment","urlsupercat":"Travel","urlclass":"Bandwidth Loss","useragentclass":"Firefox","useragenttoken":"Google Chrome (0.x)","userlocationname":"userlocationname","year":2023,"ztunnelversion":"ZTUNNEL_1_0","zpa_app_seg_name":"ZPA_test_app_segment"}} -{"sourcetype":"zscalernss-web","event":{"time":"Mon Oct 18 23:55:48 2023","cloudname":"zscaler.net","host":"mail.google.com","serverip":"1.128.0.2","external_devid":"2346","devicemodel":"20L8S7WC10","action":"Allowed","recordid":123456781,"reason":"File Attachment Cautioned","threatseverity":"Critical (90–100)","tz":"GMT","filesubtype":"exe","upload_filesubtype":"rar","sha256":"81ec78bc8298568bb5ea66d3c2972b670d0f7459b6cdbbcaacce90ab417ab15c","bamd5":"196a3d797bfee07fe4596b69f4ce1141","filename":"nssfeed.txt","upload_filename":"nssfeed.exe","filetype":"RAR Files","devicename":"PC11NLPA%3A5F08D97BBF43257A8FB4BBF4061A38AE324EF734","devicehostname":"THINKPADSMITH","deviceostype":"iOS","deviceosversion":"Version 10.14.2 (Build 18C54)","devicetype":"Zscaler Client Connector","reqsize":1300,"reqmethod":"invalid","refererurl":"www.example.com","respsize":10500,"respcode":"100","reqversion":"1.1","respversion":"1","proto":"SSL","company":"Zscaler","dlpmd5":"154f149b1443fbfa8c121d13e5c019a1","apprulelabel":"File_Sharing_1","dlprulename":"DLP_Rule_1","rulelabel":"URL_Filtering_1","urlfilterrulelabel":"URL_Filtering_2","cltip":"81.2.69.144","cltintip":"89.160.20.128","cltsourceport":12345,"threatname":"EICAR Test File","cltsslcipher":"SSL3_CK_RSA_NULL_MD5","clttlsversion":"SSL2","eurl":"www.example.com.com/params?Id=1&ts=2006-01-02T15%3A04%3A05Z07%3A00&user=65792&version=10.0.19041.1266","useragent":"Mozilla/5.0","login":"jdoe@safemarch.com","applayerprotocol":"FTP","appclass":"Administration","appname":"Adobe Connect","appriskscore":"1","bandwidthclassname":"Entertainment","bandwidthrulename":"Office 365","bwthrottle":"Yes","bypassedtime":"Mon Oct 16 22:55:48 2023","bypassedtraffic":"1","cltsslsessreuse":"Unknown","cltpubip":"175.16.199.0","cltsslfailcount":100,"cltsslfailreason":"Bad Record Mac","contenttype":"application/vnd_apple_keynote","datacentercity":"Sa","datacentercountry":"US","datacenter":"CA Client Node DC","day":"Mon","day_of_month":16,"dept":"Sales","deviceappversion":"1.128.0.1","deviceowner":"jsmith","df_hosthead":"df_hosthead","df_hostname":"df_hostname","dlpdicthitcount":"4","dlpdict":"Credit Cards","dlpeng":"HIPAA","dlpidentifier":6646484838839026000,"eedone":"Yes","epochtime":1578128400,"fileclass":"Active Web Contents","flow_type":"Direct","forward_gateway_ip":"10.1.1.1","forward_gateway_name":"FWD_1","forward_type":"Direct","hour":22,"is_sslexpiredca":"Yes","is_sslselfsigned":"Yes","is_ssluntrustedca":"Pass","keyprotectiontype":"HSM Protection","location":"Headquarters","malwarecategory":"Adware","malwareclass":"Sandbox","minute":55,"mobappcategory":"Communication","mobappname":"Amazon","mobdevtype":"Google Android","module":"Administration","month":"Oct","month_of_year":10,"nssserviceip":"192.168.2.200","oapprulelabel":"5300295980","obwclassname":"10831489","ocip":6200694987,"ocpubip":624054738,"odevicehostname":"2168890624","odevicename":"2175092224","odeviceowner":"10831489","odlpdict":"10831489","odlpeng":"4094304256","odlprulename":"6857275752","ofwd_gw_name":"8794487099","ologin":"4094304256","ordr_rulename":"3399565100","ourlcat":"7956407282","ourlfilterrulelabel":"4951704103","ozpa_app_seg_name":"7648246731","externalsslpolicyreason":"Blocked","productversion":"5.0.902.95524_04","rdr_rulename":"FWD_Rule_1","refererhost":"www.example.com for http://www.example.com/index.html","reqheadersize":300,"reqdatasize":1000,"respheadersize":500,"respdatasize":10000,"riskscore":10,"ruletype":"File Type Control","second":48,"srvcertchainvalpass":"Unknown","srvcertvalidationtype":"EV (Extended Validation)","srvcertvalidityperiod":"Short","srvsslcipher":"SSL3_CK_RSA_NULL_MD5","serversslsessreuse":"Unknown","srvocspresult":"Good","srvtlsversion":"SSL2","srvwildcardcert":"Unknown","ssldecrypted":"Yes","throttlereqsize":5,"throttlerespsize":7,"totalsize":11800,"trafficredirectmethod":"DNAT (Destination Translation)","unscannabletype":"Encrypted File","upload_doctypename":"Corporate Finance","upload_fileclass":"upload_fileclass","upload_filetype":"RAR Files","urlcatmethod":"Database A","urlsubcat":"Entertainment","urlsupercat":"Travel","urlclass":"Bandwidth Loss","useragentclass":"Firefox","useragenttoken":"Google Chrome (0.x)","userlocationname":"userlocationname","year":2023,"ztunnelversion":"ZTUNNEL_1_0","zpa_app_seg_name":"ZPA_test_app_segment"}} -{"sourcetype":"zscalernss-web","event":{"time":"Mon Oct 18 23:55:48 2023","cloudname":"zscaler.net","host":"mail.google.com","serverip":"1.128.0.2","external_devid":"2346","devicemodel":"20L8S7WC10","action":"Allowed","recordid":123456781,"reason":"File Attachment Cautioned","threatseverity":"Critical (90–100)","tz":"GMT","filesubtype":"exe","upload_filesubtype":"rar","sha256":"81ec78bc8298568bb5ea66d3c2972b670d0f7459b6cdbbcaacce90ab417ab15c","bamd5":"196a3d797bfee07fe4596b69f4ce1141","filename":"nssfeed.txt","upload_filename":"nssfeed.exe","filetype":"RAR Files","devicename":"PC11NLPA%3A5F08D97BBF43257A8FB4BBF4061A38AE324EF734","devicehostname":"THINKPADSMITH","deviceostype":"iOS","deviceosversion":"Version 10.14.2 (Build 18C54)","devicetype":"Zscaler Client Connector","reqsize":1300,"reqmethod":"invalid","refererurl":"www.example.com","respsize":10500,"respcode":"100","reqversion":"1.1","respversion":"1","proto":"SSL","company":"Zscaler","dlpmd5":"154f149b1443fbfa8c121d13e5c019a1","apprulelabel":"File_Sharing_1","dlprulename":"DLP_Rule_1","rulelabel":"URL_Filtering_1","urlfilterrulelabel":"URL_Filtering_2","cltip":"81.2.69.144","cltintip":"89.160.20.128","cltsourceport":12345,"threatname":"EICAR Test File","cltsslcipher":"SSL3_CK_RSA_NULL_MD5","clttlsversion":"SSL2","eurl":"www.youtube.com/api/stats/abcd?afmt=251&bat=330.017%3A0.96%3A1&bh=330.017%3A121.264&bwe=330.017%3A7458601&bwm=330.017%3A2407754%3A0.844&c=WEB&cbr=Edge+Chromium&cbrver=115.0.0.0&cl=655399956&cmt=330.017%3A328.837&cos=Windows&cosver=10.0&cplatform=DESKTOP&cplayer=UNIPLAYER&cpn=FUB73SQWxSHKADxvJ&cver=2.20240724.03.00&docid=WVhG_sNVLasD&el=detailpage&fexp=v1%2C23848225%2C137802%2C18617%2C204121%2C230596%2C222097%2C16229%2C133212%2C14625955%2C11684381%2C7222%2C14207%2C9859%2C12177%2C9954%2C1192%2C7913%2C18310%2C273%2C4147%2C2819%2C2%2C16344%2C1424%2C19204%2C9948%2C2196%2C9996%2C19%2C2%2C1082%2C6953%2C101%2C1401%2C9542%2C2471%2C3292%2C2716%2C1538%2C723%2C2575%2C9567%2C1375%2C3761%2C4162%2C8610%2C173%2C201%2C10406%2C321%2C148%2C2%2C343%2C1783%2C14%2C1322%2C50%2C621%2C702%2C1062%2C1769%2C1823%2C896%2C2291%2C2912%2C7568%2C342&fmt=398&ns=yt&referrer=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3Disa90_67as&sdetail=rv%3Aisa89_68ad&seq=13&sourceid=yw&vps=330.017%3APL","useragent":"Mozilla/5.0","login":"jdoe@safemarch.com","applayerprotocol":"FTP","appclass":"Administration","appname":"Adobe Connect","appriskscore":"1","bandwidthclassname":"Entertainment","bandwidthrulename":"Office 365","bwthrottle":"Yes","bypassedtime":"Mon Oct 16 22:55:48 2023","bypassedtraffic":"1","cltsslsessreuse":"Unknown","cltpubip":"175.16.199.0","cltsslfailcount":100,"cltsslfailreason":"Bad Record Mac","contenttype":"application/vnd_apple_keynote","datacentercity":"Sa","datacentercountry":"US","datacenter":"CA Client Node DC","day":"Mon","day_of_month":16,"dept":"Sales","deviceappversion":"1.128.0.1","deviceowner":"jsmith","df_hosthead":"df_hosthead","df_hostname":"df_hostname","dlpdicthitcount":"4","dlpdict":"Credit Cards","dlpeng":"HIPAA","dlpidentifier":6646484838839026000,"eedone":"Yes","epochtime":1578128400,"fileclass":"Active Web Contents","flow_type":"Direct","forward_gateway_ip":"10.1.1.1","forward_gateway_name":"FWD_1","forward_type":"Direct","hour":22,"is_sslexpiredca":"Yes","is_sslselfsigned":"Yes","is_ssluntrustedca":"Pass","keyprotectiontype":"HSM Protection","location":"Headquarters","malwarecategory":"Adware","malwareclass":"Sandbox","minute":55,"mobappcategory":"Communication","mobappname":"Amazon","mobdevtype":"Google Android","module":"Administration","month":"Oct","month_of_year":10,"nssserviceip":"192.168.2.200","oapprulelabel":"5300295980","obwclassname":"10831489","ocip":6200694987,"ocpubip":624054738,"odevicehostname":"2168890624","odevicename":"2175092224","odeviceowner":"10831489","odlpdict":"10831489","odlpeng":"4094304256","odlprulename":"6857275752","ofwd_gw_name":"8794487099","ologin":"4094304256","ordr_rulename":"3399565100","ourlcat":"7956407282","ourlfilterrulelabel":"4951704103","ozpa_app_seg_name":"7648246731","externalsslpolicyreason":"Blocked","productversion":"5.0.902.95524_04","rdr_rulename":"FWD_Rule_1","refererhost":"www.example.com for http://www.example.com/index.html","reqheadersize":300,"reqdatasize":1000,"respheadersize":500,"respdatasize":10000,"riskscore":10,"ruletype":"File Type Control","second":48,"srvcertchainvalpass":"Unknown","srvcertvalidationtype":"EV (Extended Validation)","srvcertvalidityperiod":"Short","srvsslcipher":"SSL3_CK_RSA_NULL_MD5","serversslsessreuse":"Unknown","srvocspresult":"Good","srvtlsversion":"SSL2","srvwildcardcert":"Unknown","ssldecrypted":"Yes","throttlereqsize":5,"throttlerespsize":7,"totalsize":11800,"trafficredirectmethod":"DNAT (Destination Translation)","unscannabletype":"Encrypted File","upload_doctypename":"Corporate Finance","upload_fileclass":"upload_fileclass","upload_filetype":"RAR Files","urlcatmethod":"Database A","urlsubcat":"Entertainment","urlsupercat":"Travel","urlclass":"Bandwidth Loss","useragentclass":"Firefox","useragenttoken":"Google Chrome (0.x)","userlocationname":"userlocationname","year":2023,"ztunnelversion":"ZTUNNEL_1_0","zpa_app_seg_name":"ZPA_test_app_segment"}} -{"sourcetype":"zscalernss-web","event":{"time":"Mon Oct 20 22:55:48 2023","cloudname":"zscaler.net","host":"mail.google.com","serverip":"1.128.0.4","external_devid":"2347","devicemodel":"20L8S7WC12","action":"Allowed","recordid":123456782,"reason":"File Attachment Cautioned","threatseverity":"Critical (90–100)","tz":"GMT","filesubtype":"exe","upload_filesubtype":"rar","sha256":"81ec78bc8298568bb5ea66d3c2972b670d0f7459b6cdbbcaacce90ab417ab15c","bamd5":"196a3d797bfee07fe4596b69f4ce1141","filename":"nssfeed.txt","upload_filename":"nssfeed.exe","filetype":"RAR Files","devicename":"device%5CrN%40me","devicehostname":"THINKPADSMITH","deviceostype":"iOS","deviceosversion":"Version 10.14.2 (Build 18C54)","devicetype":"Zscaler Client Connector","reqsize":1300,"reqmethod":"invalid","refererurl":"www.example.com","refererpath":"/search?filters=guid%3A%2240-en-dia%22+lang%3A%22en%22&form=S00&q=how+to+use+remote+desktop+to+connect+to+a+windows+10+pc","respsize":10500,"respcode":"100","reqversion":"1.1","respversion":"1","proto":"HTTPS","company":"Zscaler","dlpmd5":"154f149b1443fbfa8c121d13e5c019a1","apprulelabel":"File_Sharing_1","dlprulename":"DLP_Rule_1","rulelabel":"URL_Filtering_1","urlfilterrulelabel":"URL_Filtering_2","cltip":"81.2.69.144","cltintip":"89.160.20.128","cltsourceport":12345,"threatname":"EICAR Test File","cltsslcipher":"SSL3_CK_RSA_NULL_MD5","clttlsversion":"SSL2","eurl":"www.example.com%3A443","urlpath":"/params?Id=1&ts=2006-01-02T15%3A04%3A05Z07%3A00&user=65792&version=10.0.19041.1266","useragent":"Mozilla/5.0","login":"jdoe@safemarch.com","applayerprotocol":"FTP","appclass":"Administration","appname":"Adobe Connect","appriskscore":"1","bandwidthclassname":"Entertainment","bandwidthrulename":"Office 365","bwthrottle":"Yes","bypassedtime":"Mon Oct 16 22:55:48 2023","bypassedtraffic":"1","cltsslsessreuse":"Unknown","cltpubip":"175.16.199.0","cltsslfailcount":100,"cltsslfailreason":"Bad Record Mac","contenttype":"application/vnd_apple_keynote","datacentercity":"Sa","datacentercountry":"US","datacenter":"CA Client Node DC","day":"Mon","day_of_month":16,"dept":"Sales","deviceappversion":"1.128.0.1","deviceowner":"jsmith","df_hosthead":"df_hosthead","df_hostname":"df_hostname","dlpdicthitcount":"4","dlpdict":"Credit Cards","dlpeng":"HIPAA","dlpidentifier":6646484838839026000,"eedone":"Yes","epochtime":1578128400,"fileclass":"Active Web Contents","flow_type":"Direct","forward_gateway_ip":"10.1.1.1","forward_gateway_name":"FWD_1","forward_type":"Direct","hour":22,"is_sslexpiredca":"Yes","is_sslselfsigned":"Yes","is_ssluntrustedca":"Pass","keyprotectiontype":"HSM Protection","location":"Headquarters","department":"Department%5CrN%40me","malwarecategory":"Adware","malwareclass":"Sandbox","minute":55,"mobappcategory":"Communication","mobappname":"Amazon","mobdevtype":"Google Android","module":"Administration","month":"Oct","month_of_year":10,"nssserviceip":"192.168.2.200","oapprulelabel":"5300295980","obwclassname":"10831489","ocip":6200694987,"ocpubip":624054738,"odevicehostname":"2168890624","odevicename":"2175092224","odeviceowner":"10831489","odlpdict":"10831489","odlpeng":"4094304256","odlprulename":"6857275752","ofwd_gw_name":"8794487099","ologin":"4094304256","ordr_rulename":"3399565100","ourlcat":"7956407282","ourlfilterrulelabel":"4951704103","ozpa_app_seg_name":"7648246731","externalsslpolicyreason":"Blocked","productversion":"5.0.902.95524_04","rdr_rulename":"FWD_Rule_1","refererhost":"www.example.com for http://www.example.com/index.html","reqheadersize":300,"reqdatasize":1000,"respheadersize":500,"respdatasize":10000,"riskscore":10,"ruletype":"File Type Control","second":48,"srvcertchainvalpass":"Unknown","srvcertvalidationtype":"EV (Extended Validation)","srvcertvalidityperiod":"Short","srvsslcipher":"SSL3_CK_RSA_NULL_MD5","serversslsessreuse":"Unknown","srvocspresult":"Good","srvtlsversion":"SSL2","srvwildcardcert":"Unknown","ssldecrypted":"Yes","throttlereqsize":5,"throttlerespsize":7,"totalsize":11800,"trafficredirectmethod":"DNAT (Destination Translation)","unscannabletype":"Encrypted File","upload_doctypename":"Corporate Finance","upload_fileclass":"upload_fileclass","upload_filetype":"RAR Files","urlcatmethod":"Database A","urlsubcat":"Entertainment","urlsupercat":"Travel","urlclass":"Bandwidth Loss","useragentclass":"Firefox","useragenttoken":"Google Chrome (0.x)","userlocationname":"userlocationname","year":2023,"ztunnelversion":"ZTUNNEL_1_0","zpa_app_seg_name":"ZPA_test_app_segment"}} \ No newline at end of file +{"version":"v8","sourcetype":"zscalernss-web","event":{"time":"Mon Oct 16 22:55:48 2023","cloudname":"zscaler.net","host":"mail.google.com","serverip":"1.128.0.0","external_devid":"1234","devicemodel":"20L8S7WC08","action":"Allowed","recordid":123456789,"reason":"File Attachment Cautioned","threatseverity":"Critical (90–100)","tz":"GMT","filesubtype":"exe","upload_filesubtype":"rar","sha256":"81ec78bc8298568bb5ea66d3c2972b670d0f7459b6cdbbcaacce90ab417ab15c","bamd5":"196a3d797bfee07fe4596b69f4ce1141","filename":"nssfeed.txt","upload_filename":"nssfeed.exe","filetype":"RAR Files","devicename":"PC11NLPA%3A5F08D97BBF43257A8FB4BBF4061A38AE324EF734","devicehostname":"THINKPADSMITH","deviceostype":"iOS","deviceosversion":"Version 10.14.2 (Build 18C54)","devicetype":"Zscaler Client Connector","reqsize":1300,"reqmethod":"invalid","b64referer":"d3d3LmV4YW1wbGUuY29t","respsize":10500,"respcode":"100","reqversion":"1.1","respversion":"1","proto":"HTTP","company":"Zscaler","dlpmd5":"154f149b1443fbfa8c121d13e5c019a1","apprulelabel":"File_Sharing_1","dlprulename":"DLP_Rule_1","rulelabel":"URL_Filtering_1","urlfilterrulelabel":"URL_Filtering_2","cltip":"81.2.69.144","cltintip":"89.160.20.128","cltsourceport":12345,"threatname":"EICAR Test File","cltsslcipher":"SSL3_CK_RSA_NULL_MD5","clttlsversion":"SSL2","b64url":"d3d3LnRyeXRoaXNlbmNvZGV1cmwuY29tOjQ0My9pbmRleD9xdGltZT0yMDIzLTA0LTEyVDIzOjIwOjUwLjUyWg==","useragent":"Mozilla/5.0","login":"jdoe@safemarch.com","applayerprotocol":"FTP","appclass":"Administration","appname":"Adobe Connect","appriskscore":"1","bandwidthclassname":"Entertainment","bandwidthrulename":"Office 365","bwthrottle":"Yes","bypassedtime":"Mon Oct 16 22:55:48 2023","bypassedtraffic":"1","cltsslsessreuse":"Unknown","cltpubip":"175.16.199.0","cltsslfailcount":100,"cltsslfailreason":"Bad Record Mac","contenttype":"application/vnd_apple_keynote","datacentercity":"Sa","datacentercountry":"US","datacenter":"CA Client Node DC","day":"Mon","day_of_month":16,"dept":"Sales","deviceappversion":"1.128.0.0","deviceowner":"jsmith","df_hosthead":"df_hosthead","df_hostname":"df_hostname","dlpdicthitcount":"4","dlpdict":"Credit Cards","dlpeng":"HIPAA","dlpidentifier":6646484838839026000,"eedone":"Yes","epochtime":1578128400,"fileclass":"Active Web Contents","flow_type":"Direct","forward_gateway_ip":"10.1.1.1","forward_gateway_name":"FWD_1","forward_type":"Direct","hour":22,"is_sslexpiredca":"Yes","is_sslselfsigned":"Yes","is_ssluntrustedca":"Pass","keyprotectiontype":"HSM Protection","location":"Headquarters","malwarecategory":"Adware","malwareclass":"Sandbox","minute":55,"mobappcategory":"Communication","mobappname":"Amazon","mobdevtype":"Google Android","module":"Administration","month":"Oct","month_of_year":10,"nssserviceip":"192.168.2.200","oapprulelabel":"5300295980","obwclassname":"10831489","ocip":6200694987,"ocpubip":624054738,"odevicehostname":"2168890624","odevicename":"2175092224","odeviceowner":"10831489","odlpdict":"10831489","odlpeng":"4094304256","odlprulename":"6857275752","ofwd_gw_name":"8794487099","ologin":"4094304256","ordr_rulename":"3399565100","ourlcat":"7956407282","ourlfilterrulelabel":"4951704103","ozpa_app_seg_name":"7648246731","externalsslpolicyreason":"Blocked","productversion":"5.0.902.95524_04","rdr_rulename":"FWD_Rule_1","refererhost":"www.example.com for http://www.example.com/index.html","reqheadersize":300,"reqdatasize":1000,"respheadersize":500,"respdatasize":10000,"riskscore":10,"ruletype":"File Type Control","second":48,"srvcertchainvalpass":"Unknown","srvcertvalidationtype":"EV (Extended Validation)","srvcertvalidityperiod":"Short","srvsslcipher":"SSL3_CK_RSA_NULL_MD5","serversslsessreuse":"Unknown","srvocspresult":"Good","srvtlsversion":"SSL2","srvwildcardcert":"Unknown","ssldecrypted":"Yes","throttlereqsize":5,"throttlerespsize":7,"totalsize":11800,"trafficredirectmethod":"DNAT (Destination Translation)","unscannabletype":"Encrypted File","upload_doctypename":"Corporate Finance","upload_fileclass":"upload_fileclass","upload_filetype":"RAR Files","urlcatmethod":"Database A","urlsubcat":"Entertainment","urlsupercat":"Travel","urlclass":"Bandwidth Loss","useragentclass":"Firefox","useragenttoken":"Google Chrome (0.x)","userlocationname":"userlocationname","year":2023,"ztunnelversion":"ZTUNNEL_1_0","zpa_app_seg_name":"ZPA_test_app_segment"}} +{"version":"v8","sourcetype":"zscalernss-web","event":{"time":"Mon Oct 17 22:55:48 2023","cloudname":"zscaler.net","host":"mail.google.com","serverip":"1.128.0.1","external_devid":"2345","devicemodel":"20L8S7WC09","action":"Allowed","recordid":123456780,"reason":"File Attachment Cautioned","threatseverity":"Critical (90–100)","tz":"GMT","filesubtype":"exe","upload_filesubtype":"rar","sha256":"81ec78bc8298568bb5ea66d3c2972b670d0f7459b6cdbbcaacce90ab417ab15c","bamd5":"196a3d797bfee07fe4596b69f4ce1141","filename":"nssfeed.txt","upload_filename":"nssfeed.exe","filetype":"RAR Files","devicename":"PC11NLPA%3A5F08D97BBF43257A8FB4BBF4061A38AE324EF734","devicehostname":"THINKPADSMITH","deviceostype":"iOS","deviceosversion":"Version 10.14.2 (Build 18C54)","devicetype":"Zscaler Client Connector","reqsize":1300,"reqmethod":"invalid","b64referer":"d3d3LmV4YW1wbGUuY29t","respsize":10500,"respcode":"100","reqversion":"1.1","respversion":"1","proto":"HTTPS","company":"Zscaler","dlpmd5":"154f149b1443fbfa8c121d13e5c019a1","apprulelabel":"File_Sharing_1","dlprulename":"DLP_Rule_1","rulelabel":"URL_Filtering_1","urlfilterrulelabel":"URL_Filtering_2","cltip":"81.2.69.144","cltintip":"89.160.20.128","cltsourceport":12345,"threatname":"EICAR Test File","cltsslcipher":"SSL3_CK_RSA_NULL_MD5","clttlsversion":"SSL2","b64url":"d3d3LmV4YW1wbGUuY29tOjQ0Mw==","useragent":"Mozilla/5.0","login":"jdoe@safemarch.com","applayerprotocol":"FTP","appclass":"Administration","appname":"Adobe Connect","appriskscore":"1","bandwidthclassname":"Entertainment","bandwidthrulename":"Office 365","bwthrottle":"Yes","bypassedtime":"Mon Oct 16 22:55:48 2023","bypassedtraffic":"1","cltsslsessreuse":"Unknown","cltpubip":"175.16.199.0","cltsslfailcount":100,"cltsslfailreason":"Bad Record Mac","contenttype":"application/vnd_apple_keynote","datacentercity":"Sa","datacentercountry":"US","datacenter":"CA Client Node DC","day":"Mon","day_of_month":16,"dept":"Sales","deviceappversion":"1.128.0.1","deviceowner":"jsmith","df_hosthead":"df_hosthead","df_hostname":"df_hostname","dlpdicthitcount":"4","dlpdict":"Credit Cards","dlpeng":"HIPAA","dlpidentifier":6646484838839026000,"eedone":"Yes","epochtime":1578128400,"fileclass":"Active Web Contents","flow_type":"Direct","forward_gateway_ip":"10.1.1.1","forward_gateway_name":"FWD_1","forward_type":"Direct","hour":22,"is_sslexpiredca":"Yes","is_sslselfsigned":"Yes","is_ssluntrustedca":"Pass","keyprotectiontype":"HSM Protection","location":"Headquarters","malwarecategory":"Adware","malwareclass":"Sandbox","minute":55,"mobappcategory":"Communication","mobappname":"Amazon","mobdevtype":"Google Android","module":"Administration","month":"Oct","month_of_year":10,"nssserviceip":"192.168.2.200","oapprulelabel":"5300295980","obwclassname":"10831489","ocip":6200694987,"ocpubip":624054738,"odevicehostname":"2168890624","odevicename":"2175092224","odeviceowner":"10831489","odlpdict":"10831489","odlpeng":"4094304256","odlprulename":"6857275752","ofwd_gw_name":"8794487099","ologin":"4094304256","ordr_rulename":"3399565100","ourlcat":"7956407282","ourlfilterrulelabel":"4951704103","ozpa_app_seg_name":"7648246731","externalsslpolicyreason":"Blocked","productversion":"5.0.902.95524_04","rdr_rulename":"FWD_Rule_1","refererhost":"www.example.com for http://www.example.com/index.html","reqheadersize":300,"reqdatasize":1000,"respheadersize":500,"respdatasize":10000,"riskscore":10,"ruletype":"File Type Control","second":48,"srvcertchainvalpass":"Unknown","srvcertvalidationtype":"EV (Extended Validation)","srvcertvalidityperiod":"Short","srvsslcipher":"SSL3_CK_RSA_NULL_MD5","serversslsessreuse":"Unknown","srvocspresult":"Good","srvtlsversion":"SSL2","srvwildcardcert":"Unknown","ssldecrypted":"Yes","throttlereqsize":5,"throttlerespsize":7,"totalsize":11800,"trafficredirectmethod":"DNAT (Destination Translation)","unscannabletype":"Encrypted File","upload_doctypename":"Corporate Finance","upload_fileclass":"upload_fileclass","upload_filetype":"RAR Files","urlcatmethod":"Database A","urlsubcat":"Entertainment","urlsupercat":"Travel","urlclass":"Bandwidth Loss","useragentclass":"Firefox","useragenttoken":"Google Chrome (0.x)","userlocationname":"userlocationname","year":2023,"ztunnelversion":"ZTUNNEL_1_0","zpa_app_seg_name":"ZPA_test_app_segment"}} +{"version":"v8","sourcetype":"zscalernss-web","event":{"time":"Mon Oct 18 23:55:48 2023","cloudname":"zscaler.net","host":"mail.google.com","serverip":"1.128.0.2","external_devid":"2346","devicemodel":"20L8S7WC10","action":"Allowed","recordid":123456781,"reason":"File Attachment Cautioned","threatseverity":"Critical (90–100)","tz":"GMT","filesubtype":"exe","upload_filesubtype":"rar","sha256":"81ec78bc8298568bb5ea66d3c2972b670d0f7459b6cdbbcaacce90ab417ab15c","bamd5":"196a3d797bfee07fe4596b69f4ce1141","filename":"nssfeed.txt","upload_filename":"nssfeed.exe","filetype":"RAR Files","devicename":"PC11NLPA%3A5F08D97BBF43257A8FB4BBF4061A38AE324EF734","devicehostname":"THINKPADSMITH","deviceostype":"iOS","deviceosversion":"Version 10.14.2 (Build 18C54)","devicetype":"Zscaler Client Connector","reqsize":1300,"reqmethod":"invalid","b64referer":"d3d3LmV4YW1wbGUuY29t","respsize":10500,"respcode":"100","reqversion":"1.1","respversion":"1","proto":"SSL","company":"Zscaler","dlpmd5":"154f149b1443fbfa8c121d13e5c019a1","apprulelabel":"File_Sharing_1","dlprulename":"DLP_Rule_1","rulelabel":"URL_Filtering_1","urlfilterrulelabel":"URL_Filtering_2","cltip":"81.2.69.144","cltintip":"89.160.20.128","cltsourceport":12345,"threatname":"EICAR Test File","cltsslcipher":"SSL3_CK_RSA_NULL_MD5","clttlsversion":"SSL2","b64url":"d3d3LmV4YW1wbGUuY29tLmNvbS9wYXJhbXM/SWQ9MSZ0cz0yMDA2LTAxLTAyVDE1OjA0OjA1WjA3OjAwJnVzZXI9NjU3OTImdmVyc2lvbj0xMC4wLjE5MDQxLjEyNjY=","useragent":"Mozilla/5.0","login":"jdoe@safemarch.com","applayerprotocol":"FTP","appclass":"Administration","appname":"Adobe Connect","appriskscore":"1","bandwidthclassname":"Entertainment","bandwidthrulename":"Office 365","bwthrottle":"Yes","bypassedtime":"Mon Oct 16 22:55:48 2023","bypassedtraffic":"1","cltsslsessreuse":"Unknown","cltpubip":"175.16.199.0","cltsslfailcount":100,"cltsslfailreason":"Bad Record Mac","contenttype":"application/vnd_apple_keynote","datacentercity":"Sa","datacentercountry":"US","datacenter":"CA Client Node DC","day":"Mon","day_of_month":16,"dept":"Sales","deviceappversion":"1.128.0.1","deviceowner":"jsmith","df_hosthead":"df_hosthead","df_hostname":"df_hostname","dlpdicthitcount":"4","dlpdict":"Credit Cards","dlpeng":"HIPAA","dlpidentifier":6646484838839026000,"eedone":"Yes","epochtime":1578128400,"fileclass":"Active Web Contents","flow_type":"Direct","forward_gateway_ip":"10.1.1.1","forward_gateway_name":"FWD_1","forward_type":"Direct","hour":22,"is_sslexpiredca":"Yes","is_sslselfsigned":"Yes","is_ssluntrustedca":"Pass","keyprotectiontype":"HSM Protection","location":"Headquarters","malwarecategory":"Adware","malwareclass":"Sandbox","minute":55,"mobappcategory":"Communication","mobappname":"Amazon","mobdevtype":"Google Android","module":"Administration","month":"Oct","month_of_year":10,"nssserviceip":"192.168.2.200","oapprulelabel":"5300295980","obwclassname":"10831489","ocip":6200694987,"ocpubip":624054738,"odevicehostname":"2168890624","odevicename":"2175092224","odeviceowner":"10831489","odlpdict":"10831489","odlpeng":"4094304256","odlprulename":"6857275752","ofwd_gw_name":"8794487099","ologin":"4094304256","ordr_rulename":"3399565100","ourlcat":"7956407282","ourlfilterrulelabel":"4951704103","ozpa_app_seg_name":"7648246731","externalsslpolicyreason":"Blocked","productversion":"5.0.902.95524_04","rdr_rulename":"FWD_Rule_1","refererhost":"www.example.com for http://www.example.com/index.html","reqheadersize":300,"reqdatasize":1000,"respheadersize":500,"respdatasize":10000,"riskscore":10,"ruletype":"File Type Control","second":48,"srvcertchainvalpass":"Unknown","srvcertvalidationtype":"EV (Extended Validation)","srvcertvalidityperiod":"Short","srvsslcipher":"SSL3_CK_RSA_NULL_MD5","serversslsessreuse":"Unknown","srvocspresult":"Good","srvtlsversion":"SSL2","srvwildcardcert":"Unknown","ssldecrypted":"Yes","throttlereqsize":5,"throttlerespsize":7,"totalsize":11800,"trafficredirectmethod":"DNAT (Destination Translation)","unscannabletype":"Encrypted File","upload_doctypename":"Corporate Finance","upload_fileclass":"upload_fileclass","upload_filetype":"RAR Files","urlcatmethod":"Database A","urlsubcat":"Entertainment","urlsupercat":"Travel","urlclass":"Bandwidth Loss","useragentclass":"Firefox","useragenttoken":"Google Chrome (0.x)","userlocationname":"userlocationname","year":2023,"ztunnelversion":"ZTUNNEL_1_0","zpa_app_seg_name":"ZPA_test_app_segment"}} +{"version":"v8","sourcetype":"zscalernss-web","event":{"time":"Mon Oct 18 23:55:48 2023","cloudname":"zscaler.net","host":"mail.google.com","serverip":"1.128.0.2","external_devid":"2346","devicemodel":"20L8S7WC10","action":"Allowed","recordid":123456781,"reason":"File Attachment Cautioned","threatseverity":"Critical (90–100)","tz":"GMT","filesubtype":"exe","upload_filesubtype":"rar","sha256":"81ec78bc8298568bb5ea66d3c2972b670d0f7459b6cdbbcaacce90ab417ab15c","bamd5":"196a3d797bfee07fe4596b69f4ce1141","filename":"nssfeed.txt","upload_filename":"nssfeed.exe","filetype":"RAR Files","devicename":"PC11NLPA%3A5F08D97BBF43257A8FB4BBF4061A38AE324EF734","devicehostname":"THINKPADSMITH","deviceostype":"iOS","deviceosversion":"Version 10.14.2 (Build 18C54)","devicetype":"Zscaler Client Connector","reqsize":1300,"reqmethod":"invalid","b64referer":"d3d3LmV4YW1wbGUuY29t","respsize":10500,"respcode":"100","reqversion":"1.1","respversion":"1","proto":"SSL","company":"Zscaler","dlpmd5":"154f149b1443fbfa8c121d13e5c019a1","apprulelabel":"File_Sharing_1","dlprulename":"DLP_Rule_1","rulelabel":"URL_Filtering_1","urlfilterrulelabel":"URL_Filtering_2","cltip":"81.2.69.144","cltintip":"89.160.20.128","cltsourceport":12345,"threatname":"EICAR Test File","cltsslcipher":"SSL3_CK_RSA_NULL_MD5","clttlsversion":"SSL2","b64url":"d3d3LnlvdXR1YmUuY29tL2FwaS9zdGF0cy9hYmNkP2FmbXQ9MjUxJmJhdD0zMzAuMDE3OjAuOTY6MSZiaD0zMzAuMDE3OjEyMS4yNjQmYndlPTMzMC4wMTc6NzQ1ODYwMSZid209MzMwLjAxNzoyNDA3NzU0OjAuODQ0JmM9V0VCJmNicj1FZGdlIENocm9taXVtJmNicnZlcj0xMTUuMC4wLjAmY2w9NjU1Mzk5OTU2JmNtdD0zMzAuMDE3OjMyOC44MzcmY29zPVdpbmRvd3MmY29zdmVyPTEwLjAmY3BsYXRmb3JtPURFU0tUT1AmY3BsYXllcj1VTklQTEFZRVImY3BuPUZVQjczU1FXeFNIS0FEeHZKJmN2ZXI9Mi4yMDI0MDcyNC4wMy4wMCZkb2NpZD1XVmhHX3NOVkxhc0QmZWw9ZGV0YWlscGFnZSZmZXhwPXYxLDIzODQ4MjI1LDEzNzgwMiwxODYxNywyMDQxMjEsMjMwNTk2LDIyMjA5NywxNjIyOSwxMzMyMTIsMTQ2MjU5NTUsMTE2ODQzODEsNzIyMiwxNDIwNyw5ODU5LDEyMTc3LDk5NTQsMTE5Miw3OTEzLDE4MzEwLDI3Myw0MTQ3LDI4MTksMiwxNjM0NCwxNDI0LDE5MjA0LDk5NDgsMjE5Niw5OTk2LDE5LDIsMTA4Miw2OTUzLDEwMSwxNDAxLDk1NDIsMjQ3MSwzMjkyLDI3MTYsMTUzOCw3MjMsMjU3NSw5NTY3LDEzNzUsMzc2MSw0MTYyLDg2MTAsMTczLDIwMSwxMDQwNiwzMjEsMTQ4LDIsMzQzLDE3ODMsMTQsMTMyMiw1MCw2MjEsNzAyLDEwNjIsMTc2OSwxODIzLDg5NiwyMjkxLDI5MTIsNzU2OCwzNDImZm10PTM5OCZucz15dCZyZWZlcnJlcj1odHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PWlzYTkwXzY3YXMmc2RldGFpbD1ydjppc2E4OV82OGFkJnNlcT0xMyZzb3VyY2VpZD15dyZ2cHM9MzMwLjAxNzpQTA==","useragent":"Mozilla/5.0","login":"jdoe@safemarch.com","applayerprotocol":"FTP","appclass":"Administration","appname":"Adobe Connect","appriskscore":"1","bandwidthclassname":"Entertainment","bandwidthrulename":"Office 365","bwthrottle":"Yes","bypassedtime":"Mon Oct 16 22:55:48 2023","bypassedtraffic":"1","cltsslsessreuse":"Unknown","cltpubip":"175.16.199.0","cltsslfailcount":100,"cltsslfailreason":"Bad Record Mac","contenttype":"application/vnd_apple_keynote","datacentercity":"Sa","datacentercountry":"US","datacenter":"CA Client Node DC","day":"Mon","day_of_month":16,"dept":"Sales","deviceappversion":"1.128.0.1","deviceowner":"jsmith","df_hosthead":"df_hosthead","df_hostname":"df_hostname","dlpdicthitcount":"4","dlpdict":"Credit Cards","dlpeng":"HIPAA","dlpidentifier":6646484838839026000,"eedone":"Yes","epochtime":1578128400,"fileclass":"Active Web Contents","flow_type":"Direct","forward_gateway_ip":"10.1.1.1","forward_gateway_name":"FWD_1","forward_type":"Direct","hour":22,"is_sslexpiredca":"Yes","is_sslselfsigned":"Yes","is_ssluntrustedca":"Pass","keyprotectiontype":"HSM Protection","location":"Headquarters","malwarecategory":"Adware","malwareclass":"Sandbox","minute":55,"mobappcategory":"Communication","mobappname":"Amazon","mobdevtype":"Google Android","module":"Administration","month":"Oct","month_of_year":10,"nssserviceip":"192.168.2.200","oapprulelabel":"5300295980","obwclassname":"10831489","ocip":6200694987,"ocpubip":624054738,"odevicehostname":"2168890624","odevicename":"2175092224","odeviceowner":"10831489","odlpdict":"10831489","odlpeng":"4094304256","odlprulename":"6857275752","ofwd_gw_name":"8794487099","ologin":"4094304256","ordr_rulename":"3399565100","ourlcat":"7956407282","ourlfilterrulelabel":"4951704103","ozpa_app_seg_name":"7648246731","externalsslpolicyreason":"Blocked","productversion":"5.0.902.95524_04","rdr_rulename":"FWD_Rule_1","refererhost":"www.example.com for http://www.example.com/index.html","reqheadersize":300,"reqdatasize":1000,"respheadersize":500,"respdatasize":10000,"riskscore":10,"ruletype":"File Type Control","second":48,"srvcertchainvalpass":"Unknown","srvcertvalidationtype":"EV (Extended Validation)","srvcertvalidityperiod":"Short","srvsslcipher":"SSL3_CK_RSA_NULL_MD5","serversslsessreuse":"Unknown","srvocspresult":"Good","srvtlsversion":"SSL2","srvwildcardcert":"Unknown","ssldecrypted":"Yes","throttlereqsize":5,"throttlerespsize":7,"totalsize":11800,"trafficredirectmethod":"DNAT (Destination Translation)","unscannabletype":"Encrypted File","upload_doctypename":"Corporate Finance","upload_fileclass":"upload_fileclass","upload_filetype":"RAR Files","urlcatmethod":"Database A","urlsubcat":"Entertainment","urlsupercat":"Travel","urlclass":"Bandwidth Loss","useragentclass":"Firefox","useragenttoken":"Google Chrome (0.x)","userlocationname":"userlocationname","year":2023,"ztunnelversion":"ZTUNNEL_1_0","zpa_app_seg_name":"ZPA_test_app_segment"}} +{"version":"v8","sourcetype":"zscalernss-web","event":{"time":"Mon Oct 20 22:55:48 2023","cloudname":"zscaler.net","host":"mail.google.com","serverip":"1.128.0.4","external_devid":"2347","devicemodel":"20L8S7WC12","action":"Allowed","recordid":123456782,"reason":"File Attachment Cautioned","threatseverity":"Critical (90–100)","tz":"GMT","filesubtype":"exe","upload_filesubtype":"rar","sha256":"81ec78bc8298568bb5ea66d3c2972b670d0f7459b6cdbbcaacce90ab417ab15c","bamd5":"196a3d797bfee07fe4596b69f4ce1141","filename":"nssfeed.txt","upload_filename":"nssfeed.exe","filetype":"RAR Files","devicename":"device%5CrN%40me","devicehostname":"THINKPADSMITH","deviceostype":"iOS","deviceosversion":"Version 10.14.2 (Build 18C54)","devicetype":"Zscaler Client Connector","reqsize":1300,"reqmethod":"invalid","b64referer":"d3d3LmV4YW1wbGUuY29tL3NlYXJjaD9maWx0ZXJzPWd1aWQlM0ElMjI0MC1lbi1kaWElMjIrbGFuZyUzQSUyMmVuJTIyJmZvcm09UzAwJnE9aG93K3RvK3VzZStyZW1vdGUrZGVza3RvcCt0bytjb25uZWN0K3RvK2Erd2luZG93cysxMCtwYw==","respsize":10500,"respcode":"100","reqversion":"1.1","respversion":"1","proto":"HTTPS","company":"Zscaler","dlpmd5":"154f149b1443fbfa8c121d13e5c019a1","apprulelabel":"File_Sharing_1","dlprulename":"DLP_Rule_1","rulelabel":"URL_Filtering_1","urlfilterrulelabel":"URL_Filtering_2","cltip":"81.2.69.144","cltintip":"89.160.20.128","cltsourceport":12345,"threatname":"EICAR Test File","cltsslcipher":"SSL3_CK_RSA_NULL_MD5","clttlsversion":"SSL2","b64url":"d3d3LmV4YW1wbGUuY29tOjQ0Mw==","useragent":"Mozilla/5.0","login":"jdoe@safemarch.com","applayerprotocol":"FTP","appclass":"Administration","appname":"Adobe Connect","appriskscore":"1","bandwidthclassname":"Entertainment","bandwidthrulename":"Office 365","bwthrottle":"Yes","bypassedtime":"Mon Oct 16 22:55:48 2023","bypassedtraffic":"1","cltsslsessreuse":"Unknown","cltpubip":"175.16.199.0","cltsslfailcount":100,"cltsslfailreason":"Bad Record Mac","contenttype":"application/vnd_apple_keynote","datacentercity":"Sa","datacentercountry":"US","datacenter":"CA Client Node DC","day":"Mon","day_of_month":16,"dept":"Sales","deviceappversion":"1.128.0.1","deviceowner":"jsmith","df_hosthead":"df_hosthead","df_hostname":"df_hostname","dlpdicthitcount":"4","dlpdict":"Credit Cards","dlpeng":"HIPAA","dlpidentifier":6646484838839026000,"eedone":"Yes","epochtime":1578128400,"fileclass":"Active Web Contents","flow_type":"Direct","forward_gateway_ip":"10.1.1.1","forward_gateway_name":"FWD_1","forward_type":"Direct","hour":22,"is_sslexpiredca":"Yes","is_sslselfsigned":"Yes","is_ssluntrustedca":"Pass","keyprotectiontype":"HSM Protection","location":"Headquarters","department":"Department%5CrN%40me","malwarecategory":"Adware","malwareclass":"Sandbox","minute":55,"mobappcategory":"Communication","mobappname":"Amazon","mobdevtype":"Google Android","module":"Administration","month":"Oct","month_of_year":10,"nssserviceip":"192.168.2.200","oapprulelabel":"5300295980","obwclassname":"10831489","ocip":6200694987,"ocpubip":624054738,"odevicehostname":"2168890624","odevicename":"2175092224","odeviceowner":"10831489","odlpdict":"10831489","odlpeng":"4094304256","odlprulename":"6857275752","ofwd_gw_name":"8794487099","ologin":"4094304256","ordr_rulename":"3399565100","ourlcat":"7956407282","ourlfilterrulelabel":"4951704103","ozpa_app_seg_name":"7648246731","externalsslpolicyreason":"Blocked","productversion":"5.0.902.95524_04","rdr_rulename":"FWD_Rule_1","refererhost":"www.example.com for http://www.example.com/index.html","reqheadersize":300,"reqdatasize":1000,"respheadersize":500,"respdatasize":10000,"riskscore":10,"ruletype":"File Type Control","second":48,"srvcertchainvalpass":"Unknown","srvcertvalidationtype":"EV (Extended Validation)","srvcertvalidityperiod":"Short","srvsslcipher":"SSL3_CK_RSA_NULL_MD5","serversslsessreuse":"Unknown","srvocspresult":"Good","srvtlsversion":"SSL2","srvwildcardcert":"Unknown","ssldecrypted":"Yes","throttlereqsize":5,"throttlerespsize":7,"totalsize":11800,"trafficredirectmethod":"DNAT (Destination Translation)","unscannabletype":"Encrypted File","upload_doctypename":"Corporate Finance","upload_fileclass":"upload_fileclass","upload_filetype":"RAR Files","urlcatmethod":"Database A","urlsubcat":"Entertainment","urlsupercat":"Travel","urlclass":"Bandwidth Loss","useragentclass":"Firefox","useragenttoken":"Google Chrome (0.x)","userlocationname":"userlocationname","year":2023,"ztunnelversion":"ZTUNNEL_1_0","zpa_app_seg_name":"ZPA_test_app_segment"}} diff --git a/packages/zscaler_zia/data_stream/web/_dev/test/pipeline/test-web.log-expected.json b/packages/zscaler_zia/data_stream/web/_dev/test/pipeline/test-web.log-expected.json index 0b34939b972..807aa718edd 100644 --- a/packages/zscaler_zia/data_stream/web/_dev/test/pipeline/test-web.log-expected.json +++ b/packages/zscaler_zia/data_stream/web/_dev/test/pipeline/test-web.log-expected.json @@ -25,7 +25,7 @@ ], "id": "123456789", "kind": "event", - "original": "{\"sourcetype\":\"zscalernss-web\",\"event\":{\"time\":\"Mon Oct 16 22:55:48 2023\",\"cloudname\":\"zscaler.net\",\"host\":\"mail.google.com\",\"serverip\":\"1.128.0.0\",\"external_devid\":\"1234\",\"devicemodel\":\"20L8S7WC08\",\"action\":\"Allowed\",\"recordid\":123456789,\"reason\":\"File Attachment Cautioned\",\"threatseverity\":\"Critical (90–100)\",\"tz\":\"GMT\",\"filesubtype\":\"exe\",\"upload_filesubtype\":\"rar\",\"sha256\":\"81ec78bc8298568bb5ea66d3c2972b670d0f7459b6cdbbcaacce90ab417ab15c\",\"bamd5\":\"196a3d797bfee07fe4596b69f4ce1141\",\"filename\":\"nssfeed.txt\",\"upload_filename\":\"nssfeed.exe\",\"filetype\":\"RAR Files\",\"devicename\":\"PC11NLPA%3A5F08D97BBF43257A8FB4BBF4061A38AE324EF734\",\"devicehostname\":\"THINKPADSMITH\",\"deviceostype\":\"iOS\",\"deviceosversion\":\"Version 10.14.2 (Build 18C54)\",\"devicetype\":\"Zscaler Client Connector\",\"reqsize\":1300,\"reqmethod\":\"invalid\",\"refererurl\":\"www.example.com\",\"respsize\":10500,\"respcode\":\"100\",\"reqversion\":\"1.1\",\"respversion\":\"1\",\"proto\":\"HTTP\",\"company\":\"Zscaler\",\"dlpmd5\":\"154f149b1443fbfa8c121d13e5c019a1\",\"apprulelabel\":\"File_Sharing_1\",\"dlprulename\":\"DLP_Rule_1\",\"rulelabel\":\"URL_Filtering_1\",\"urlfilterrulelabel\":\"URL_Filtering_2\",\"cltip\":\"81.2.69.144\",\"cltintip\":\"89.160.20.128\",\"cltsourceport\":12345,\"threatname\":\"EICAR Test File\",\"cltsslcipher\":\"SSL3_CK_RSA_NULL_MD5\",\"clttlsversion\":\"SSL2\",\"eurl\":\"www.trythisencodeurl.com:443/index?qtime=2023-04-12T23%3A20%3A50.52Z\",\"useragent\":\"Mozilla/5.0\",\"login\":\"jdoe@safemarch.com\",\"applayerprotocol\":\"FTP\",\"appclass\":\"Administration\",\"appname\":\"Adobe Connect\",\"appriskscore\":\"1\",\"bandwidthclassname\":\"Entertainment\",\"bandwidthrulename\":\"Office 365\",\"bwthrottle\":\"Yes\",\"bypassedtime\":\"Mon Oct 16 22:55:48 2023\",\"bypassedtraffic\":\"1\",\"cltsslsessreuse\":\"Unknown\",\"cltpubip\":\"175.16.199.0\",\"cltsslfailcount\":100,\"cltsslfailreason\":\"Bad Record Mac\",\"contenttype\":\"application/vnd_apple_keynote\",\"datacentercity\":\"Sa\",\"datacentercountry\":\"US\",\"datacenter\":\"CA Client Node DC\",\"day\":\"Mon\",\"day_of_month\":16,\"dept\":\"Sales\",\"deviceappversion\":\"1.128.0.0\",\"deviceowner\":\"jsmith\",\"df_hosthead\":\"df_hosthead\",\"df_hostname\":\"df_hostname\",\"dlpdicthitcount\":\"4\",\"dlpdict\":\"Credit Cards\",\"dlpeng\":\"HIPAA\",\"dlpidentifier\":6646484838839026000,\"eedone\":\"Yes\",\"epochtime\":1578128400,\"fileclass\":\"Active Web Contents\",\"flow_type\":\"Direct\",\"forward_gateway_ip\":\"10.1.1.1\",\"forward_gateway_name\":\"FWD_1\",\"forward_type\":\"Direct\",\"hour\":22,\"is_sslexpiredca\":\"Yes\",\"is_sslselfsigned\":\"Yes\",\"is_ssluntrustedca\":\"Pass\",\"keyprotectiontype\":\"HSM Protection\",\"location\":\"Headquarters\",\"malwarecategory\":\"Adware\",\"malwareclass\":\"Sandbox\",\"minute\":55,\"mobappcategory\":\"Communication\",\"mobappname\":\"Amazon\",\"mobdevtype\":\"Google Android\",\"module\":\"Administration\",\"month\":\"Oct\",\"month_of_year\":10,\"nssserviceip\":\"192.168.2.200\",\"oapprulelabel\":\"5300295980\",\"obwclassname\":\"10831489\",\"ocip\":6200694987,\"ocpubip\":624054738,\"odevicehostname\":\"2168890624\",\"odevicename\":\"2175092224\",\"odeviceowner\":\"10831489\",\"odlpdict\":\"10831489\",\"odlpeng\":\"4094304256\",\"odlprulename\":\"6857275752\",\"ofwd_gw_name\":\"8794487099\",\"ologin\":\"4094304256\",\"ordr_rulename\":\"3399565100\",\"ourlcat\":\"7956407282\",\"ourlfilterrulelabel\":\"4951704103\",\"ozpa_app_seg_name\":\"7648246731\",\"externalsslpolicyreason\":\"Blocked\",\"productversion\":\"5.0.902.95524_04\",\"rdr_rulename\":\"FWD_Rule_1\",\"refererhost\":\"www.example.com for http://www.example.com/index.html\",\"reqheadersize\":300,\"reqdatasize\":1000,\"respheadersize\":500,\"respdatasize\":10000,\"riskscore\":10,\"ruletype\":\"File Type Control\",\"second\":48,\"srvcertchainvalpass\":\"Unknown\",\"srvcertvalidationtype\":\"EV (Extended Validation)\",\"srvcertvalidityperiod\":\"Short\",\"srvsslcipher\":\"SSL3_CK_RSA_NULL_MD5\",\"serversslsessreuse\":\"Unknown\",\"srvocspresult\":\"Good\",\"srvtlsversion\":\"SSL2\",\"srvwildcardcert\":\"Unknown\",\"ssldecrypted\":\"Yes\",\"throttlereqsize\":5,\"throttlerespsize\":7,\"totalsize\":11800,\"trafficredirectmethod\":\"DNAT (Destination Translation)\",\"unscannabletype\":\"Encrypted File\",\"upload_doctypename\":\"Corporate Finance\",\"upload_fileclass\":\"upload_fileclass\",\"upload_filetype\":\"RAR Files\",\"urlcatmethod\":\"Database A\",\"urlsubcat\":\"Entertainment\",\"urlsupercat\":\"Travel\",\"urlclass\":\"Bandwidth Loss\",\"useragentclass\":\"Firefox\",\"useragenttoken\":\"Google Chrome (0.x)\",\"userlocationname\":\"userlocationname\",\"year\":2023,\"ztunnelversion\":\"ZTUNNEL_1_0\",\"zpa_app_seg_name\":\"ZPA_test_app_segment\"}}", + "original": "{\"version\":\"v8\",\"sourcetype\":\"zscalernss-web\",\"event\":{\"time\":\"Mon Oct 16 22:55:48 2023\",\"cloudname\":\"zscaler.net\",\"host\":\"mail.google.com\",\"serverip\":\"1.128.0.0\",\"external_devid\":\"1234\",\"devicemodel\":\"20L8S7WC08\",\"action\":\"Allowed\",\"recordid\":123456789,\"reason\":\"File Attachment Cautioned\",\"threatseverity\":\"Critical (90–100)\",\"tz\":\"GMT\",\"filesubtype\":\"exe\",\"upload_filesubtype\":\"rar\",\"sha256\":\"81ec78bc8298568bb5ea66d3c2972b670d0f7459b6cdbbcaacce90ab417ab15c\",\"bamd5\":\"196a3d797bfee07fe4596b69f4ce1141\",\"filename\":\"nssfeed.txt\",\"upload_filename\":\"nssfeed.exe\",\"filetype\":\"RAR Files\",\"devicename\":\"PC11NLPA%3A5F08D97BBF43257A8FB4BBF4061A38AE324EF734\",\"devicehostname\":\"THINKPADSMITH\",\"deviceostype\":\"iOS\",\"deviceosversion\":\"Version 10.14.2 (Build 18C54)\",\"devicetype\":\"Zscaler Client Connector\",\"reqsize\":1300,\"reqmethod\":\"invalid\",\"b64referer\":\"d3d3LmV4YW1wbGUuY29t\",\"respsize\":10500,\"respcode\":\"100\",\"reqversion\":\"1.1\",\"respversion\":\"1\",\"proto\":\"HTTP\",\"company\":\"Zscaler\",\"dlpmd5\":\"154f149b1443fbfa8c121d13e5c019a1\",\"apprulelabel\":\"File_Sharing_1\",\"dlprulename\":\"DLP_Rule_1\",\"rulelabel\":\"URL_Filtering_1\",\"urlfilterrulelabel\":\"URL_Filtering_2\",\"cltip\":\"81.2.69.144\",\"cltintip\":\"89.160.20.128\",\"cltsourceport\":12345,\"threatname\":\"EICAR Test File\",\"cltsslcipher\":\"SSL3_CK_RSA_NULL_MD5\",\"clttlsversion\":\"SSL2\",\"b64url\":\"d3d3LnRyeXRoaXNlbmNvZGV1cmwuY29tOjQ0My9pbmRleD9xdGltZT0yMDIzLTA0LTEyVDIzOjIwOjUwLjUyWg==\",\"useragent\":\"Mozilla/5.0\",\"login\":\"jdoe@safemarch.com\",\"applayerprotocol\":\"FTP\",\"appclass\":\"Administration\",\"appname\":\"Adobe Connect\",\"appriskscore\":\"1\",\"bandwidthclassname\":\"Entertainment\",\"bandwidthrulename\":\"Office 365\",\"bwthrottle\":\"Yes\",\"bypassedtime\":\"Mon Oct 16 22:55:48 2023\",\"bypassedtraffic\":\"1\",\"cltsslsessreuse\":\"Unknown\",\"cltpubip\":\"175.16.199.0\",\"cltsslfailcount\":100,\"cltsslfailreason\":\"Bad Record Mac\",\"contenttype\":\"application/vnd_apple_keynote\",\"datacentercity\":\"Sa\",\"datacentercountry\":\"US\",\"datacenter\":\"CA Client Node DC\",\"day\":\"Mon\",\"day_of_month\":16,\"dept\":\"Sales\",\"deviceappversion\":\"1.128.0.0\",\"deviceowner\":\"jsmith\",\"df_hosthead\":\"df_hosthead\",\"df_hostname\":\"df_hostname\",\"dlpdicthitcount\":\"4\",\"dlpdict\":\"Credit Cards\",\"dlpeng\":\"HIPAA\",\"dlpidentifier\":6646484838839026000,\"eedone\":\"Yes\",\"epochtime\":1578128400,\"fileclass\":\"Active Web Contents\",\"flow_type\":\"Direct\",\"forward_gateway_ip\":\"10.1.1.1\",\"forward_gateway_name\":\"FWD_1\",\"forward_type\":\"Direct\",\"hour\":22,\"is_sslexpiredca\":\"Yes\",\"is_sslselfsigned\":\"Yes\",\"is_ssluntrustedca\":\"Pass\",\"keyprotectiontype\":\"HSM Protection\",\"location\":\"Headquarters\",\"malwarecategory\":\"Adware\",\"malwareclass\":\"Sandbox\",\"minute\":55,\"mobappcategory\":\"Communication\",\"mobappname\":\"Amazon\",\"mobdevtype\":\"Google Android\",\"module\":\"Administration\",\"month\":\"Oct\",\"month_of_year\":10,\"nssserviceip\":\"192.168.2.200\",\"oapprulelabel\":\"5300295980\",\"obwclassname\":\"10831489\",\"ocip\":6200694987,\"ocpubip\":624054738,\"odevicehostname\":\"2168890624\",\"odevicename\":\"2175092224\",\"odeviceowner\":\"10831489\",\"odlpdict\":\"10831489\",\"odlpeng\":\"4094304256\",\"odlprulename\":\"6857275752\",\"ofwd_gw_name\":\"8794487099\",\"ologin\":\"4094304256\",\"ordr_rulename\":\"3399565100\",\"ourlcat\":\"7956407282\",\"ourlfilterrulelabel\":\"4951704103\",\"ozpa_app_seg_name\":\"7648246731\",\"externalsslpolicyreason\":\"Blocked\",\"productversion\":\"5.0.902.95524_04\",\"rdr_rulename\":\"FWD_Rule_1\",\"refererhost\":\"www.example.com for http://www.example.com/index.html\",\"reqheadersize\":300,\"reqdatasize\":1000,\"respheadersize\":500,\"respdatasize\":10000,\"riskscore\":10,\"ruletype\":\"File Type Control\",\"second\":48,\"srvcertchainvalpass\":\"Unknown\",\"srvcertvalidationtype\":\"EV (Extended Validation)\",\"srvcertvalidityperiod\":\"Short\",\"srvsslcipher\":\"SSL3_CK_RSA_NULL_MD5\",\"serversslsessreuse\":\"Unknown\",\"srvocspresult\":\"Good\",\"srvtlsversion\":\"SSL2\",\"srvwildcardcert\":\"Unknown\",\"ssldecrypted\":\"Yes\",\"throttlereqsize\":5,\"throttlerespsize\":7,\"totalsize\":11800,\"trafficredirectmethod\":\"DNAT (Destination Translation)\",\"unscannabletype\":\"Encrypted File\",\"upload_doctypename\":\"Corporate Finance\",\"upload_fileclass\":\"upload_fileclass\",\"upload_filetype\":\"RAR Files\",\"urlcatmethod\":\"Database A\",\"urlsubcat\":\"Entertainment\",\"urlsupercat\":\"Travel\",\"urlclass\":\"Bandwidth Loss\",\"useragentclass\":\"Firefox\",\"useragenttoken\":\"Google Chrome (0.x)\",\"userlocationname\":\"userlocationname\",\"year\":2023,\"ztunnelversion\":\"ZTUNNEL_1_0\",\"zpa_app_seg_name\":\"ZPA_test_app_segment\"}}", "reason": "File Attachment Cautioned", "timezone": "GMT", "type": [ @@ -445,7 +445,7 @@ ], "id": "123456780", "kind": "event", - "original": "{\"sourcetype\":\"zscalernss-web\",\"event\":{\"time\":\"Mon Oct 17 22:55:48 2023\",\"cloudname\":\"zscaler.net\",\"host\":\"mail.google.com\",\"serverip\":\"1.128.0.1\",\"external_devid\":\"2345\",\"devicemodel\":\"20L8S7WC09\",\"action\":\"Allowed\",\"recordid\":123456780,\"reason\":\"File Attachment Cautioned\",\"threatseverity\":\"Critical (90–100)\",\"tz\":\"GMT\",\"filesubtype\":\"exe\",\"upload_filesubtype\":\"rar\",\"sha256\":\"81ec78bc8298568bb5ea66d3c2972b670d0f7459b6cdbbcaacce90ab417ab15c\",\"bamd5\":\"196a3d797bfee07fe4596b69f4ce1141\",\"filename\":\"nssfeed.txt\",\"upload_filename\":\"nssfeed.exe\",\"filetype\":\"RAR Files\",\"devicename\":\"PC11NLPA%3A5F08D97BBF43257A8FB4BBF4061A38AE324EF734\",\"devicehostname\":\"THINKPADSMITH\",\"deviceostype\":\"iOS\",\"deviceosversion\":\"Version 10.14.2 (Build 18C54)\",\"devicetype\":\"Zscaler Client Connector\",\"reqsize\":1300,\"reqmethod\":\"invalid\",\"refererurl\":\"www.example.com\",\"respsize\":10500,\"respcode\":\"100\",\"reqversion\":\"1.1\",\"respversion\":\"1\",\"proto\":\"HTTPS\",\"company\":\"Zscaler\",\"dlpmd5\":\"154f149b1443fbfa8c121d13e5c019a1\",\"apprulelabel\":\"File_Sharing_1\",\"dlprulename\":\"DLP_Rule_1\",\"rulelabel\":\"URL_Filtering_1\",\"urlfilterrulelabel\":\"URL_Filtering_2\",\"cltip\":\"81.2.69.144\",\"cltintip\":\"89.160.20.128\",\"cltsourceport\":12345,\"threatname\":\"EICAR Test File\",\"cltsslcipher\":\"SSL3_CK_RSA_NULL_MD5\",\"clttlsversion\":\"SSL2\",\"eurl\":\"www.example.com%3A443\",\"useragent\":\"Mozilla/5.0\",\"login\":\"jdoe@safemarch.com\",\"applayerprotocol\":\"FTP\",\"appclass\":\"Administration\",\"appname\":\"Adobe Connect\",\"appriskscore\":\"1\",\"bandwidthclassname\":\"Entertainment\",\"bandwidthrulename\":\"Office 365\",\"bwthrottle\":\"Yes\",\"bypassedtime\":\"Mon Oct 16 22:55:48 2023\",\"bypassedtraffic\":\"1\",\"cltsslsessreuse\":\"Unknown\",\"cltpubip\":\"175.16.199.0\",\"cltsslfailcount\":100,\"cltsslfailreason\":\"Bad Record Mac\",\"contenttype\":\"application/vnd_apple_keynote\",\"datacentercity\":\"Sa\",\"datacentercountry\":\"US\",\"datacenter\":\"CA Client Node DC\",\"day\":\"Mon\",\"day_of_month\":16,\"dept\":\"Sales\",\"deviceappversion\":\"1.128.0.1\",\"deviceowner\":\"jsmith\",\"df_hosthead\":\"df_hosthead\",\"df_hostname\":\"df_hostname\",\"dlpdicthitcount\":\"4\",\"dlpdict\":\"Credit Cards\",\"dlpeng\":\"HIPAA\",\"dlpidentifier\":6646484838839026000,\"eedone\":\"Yes\",\"epochtime\":1578128400,\"fileclass\":\"Active Web Contents\",\"flow_type\":\"Direct\",\"forward_gateway_ip\":\"10.1.1.1\",\"forward_gateway_name\":\"FWD_1\",\"forward_type\":\"Direct\",\"hour\":22,\"is_sslexpiredca\":\"Yes\",\"is_sslselfsigned\":\"Yes\",\"is_ssluntrustedca\":\"Pass\",\"keyprotectiontype\":\"HSM Protection\",\"location\":\"Headquarters\",\"malwarecategory\":\"Adware\",\"malwareclass\":\"Sandbox\",\"minute\":55,\"mobappcategory\":\"Communication\",\"mobappname\":\"Amazon\",\"mobdevtype\":\"Google Android\",\"module\":\"Administration\",\"month\":\"Oct\",\"month_of_year\":10,\"nssserviceip\":\"192.168.2.200\",\"oapprulelabel\":\"5300295980\",\"obwclassname\":\"10831489\",\"ocip\":6200694987,\"ocpubip\":624054738,\"odevicehostname\":\"2168890624\",\"odevicename\":\"2175092224\",\"odeviceowner\":\"10831489\",\"odlpdict\":\"10831489\",\"odlpeng\":\"4094304256\",\"odlprulename\":\"6857275752\",\"ofwd_gw_name\":\"8794487099\",\"ologin\":\"4094304256\",\"ordr_rulename\":\"3399565100\",\"ourlcat\":\"7956407282\",\"ourlfilterrulelabel\":\"4951704103\",\"ozpa_app_seg_name\":\"7648246731\",\"externalsslpolicyreason\":\"Blocked\",\"productversion\":\"5.0.902.95524_04\",\"rdr_rulename\":\"FWD_Rule_1\",\"refererhost\":\"www.example.com for http://www.example.com/index.html\",\"reqheadersize\":300,\"reqdatasize\":1000,\"respheadersize\":500,\"respdatasize\":10000,\"riskscore\":10,\"ruletype\":\"File Type Control\",\"second\":48,\"srvcertchainvalpass\":\"Unknown\",\"srvcertvalidationtype\":\"EV (Extended Validation)\",\"srvcertvalidityperiod\":\"Short\",\"srvsslcipher\":\"SSL3_CK_RSA_NULL_MD5\",\"serversslsessreuse\":\"Unknown\",\"srvocspresult\":\"Good\",\"srvtlsversion\":\"SSL2\",\"srvwildcardcert\":\"Unknown\",\"ssldecrypted\":\"Yes\",\"throttlereqsize\":5,\"throttlerespsize\":7,\"totalsize\":11800,\"trafficredirectmethod\":\"DNAT (Destination Translation)\",\"unscannabletype\":\"Encrypted File\",\"upload_doctypename\":\"Corporate Finance\",\"upload_fileclass\":\"upload_fileclass\",\"upload_filetype\":\"RAR Files\",\"urlcatmethod\":\"Database A\",\"urlsubcat\":\"Entertainment\",\"urlsupercat\":\"Travel\",\"urlclass\":\"Bandwidth Loss\",\"useragentclass\":\"Firefox\",\"useragenttoken\":\"Google Chrome (0.x)\",\"userlocationname\":\"userlocationname\",\"year\":2023,\"ztunnelversion\":\"ZTUNNEL_1_0\",\"zpa_app_seg_name\":\"ZPA_test_app_segment\"}}", + "original": "{\"version\":\"v8\",\"sourcetype\":\"zscalernss-web\",\"event\":{\"time\":\"Mon Oct 17 22:55:48 2023\",\"cloudname\":\"zscaler.net\",\"host\":\"mail.google.com\",\"serverip\":\"1.128.0.1\",\"external_devid\":\"2345\",\"devicemodel\":\"20L8S7WC09\",\"action\":\"Allowed\",\"recordid\":123456780,\"reason\":\"File Attachment Cautioned\",\"threatseverity\":\"Critical (90–100)\",\"tz\":\"GMT\",\"filesubtype\":\"exe\",\"upload_filesubtype\":\"rar\",\"sha256\":\"81ec78bc8298568bb5ea66d3c2972b670d0f7459b6cdbbcaacce90ab417ab15c\",\"bamd5\":\"196a3d797bfee07fe4596b69f4ce1141\",\"filename\":\"nssfeed.txt\",\"upload_filename\":\"nssfeed.exe\",\"filetype\":\"RAR Files\",\"devicename\":\"PC11NLPA%3A5F08D97BBF43257A8FB4BBF4061A38AE324EF734\",\"devicehostname\":\"THINKPADSMITH\",\"deviceostype\":\"iOS\",\"deviceosversion\":\"Version 10.14.2 (Build 18C54)\",\"devicetype\":\"Zscaler Client Connector\",\"reqsize\":1300,\"reqmethod\":\"invalid\",\"b64referer\":\"d3d3LmV4YW1wbGUuY29t\",\"respsize\":10500,\"respcode\":\"100\",\"reqversion\":\"1.1\",\"respversion\":\"1\",\"proto\":\"HTTPS\",\"company\":\"Zscaler\",\"dlpmd5\":\"154f149b1443fbfa8c121d13e5c019a1\",\"apprulelabel\":\"File_Sharing_1\",\"dlprulename\":\"DLP_Rule_1\",\"rulelabel\":\"URL_Filtering_1\",\"urlfilterrulelabel\":\"URL_Filtering_2\",\"cltip\":\"81.2.69.144\",\"cltintip\":\"89.160.20.128\",\"cltsourceport\":12345,\"threatname\":\"EICAR Test File\",\"cltsslcipher\":\"SSL3_CK_RSA_NULL_MD5\",\"clttlsversion\":\"SSL2\",\"b64url\":\"d3d3LmV4YW1wbGUuY29tOjQ0Mw==\",\"useragent\":\"Mozilla/5.0\",\"login\":\"jdoe@safemarch.com\",\"applayerprotocol\":\"FTP\",\"appclass\":\"Administration\",\"appname\":\"Adobe Connect\",\"appriskscore\":\"1\",\"bandwidthclassname\":\"Entertainment\",\"bandwidthrulename\":\"Office 365\",\"bwthrottle\":\"Yes\",\"bypassedtime\":\"Mon Oct 16 22:55:48 2023\",\"bypassedtraffic\":\"1\",\"cltsslsessreuse\":\"Unknown\",\"cltpubip\":\"175.16.199.0\",\"cltsslfailcount\":100,\"cltsslfailreason\":\"Bad Record Mac\",\"contenttype\":\"application/vnd_apple_keynote\",\"datacentercity\":\"Sa\",\"datacentercountry\":\"US\",\"datacenter\":\"CA Client Node DC\",\"day\":\"Mon\",\"day_of_month\":16,\"dept\":\"Sales\",\"deviceappversion\":\"1.128.0.1\",\"deviceowner\":\"jsmith\",\"df_hosthead\":\"df_hosthead\",\"df_hostname\":\"df_hostname\",\"dlpdicthitcount\":\"4\",\"dlpdict\":\"Credit Cards\",\"dlpeng\":\"HIPAA\",\"dlpidentifier\":6646484838839026000,\"eedone\":\"Yes\",\"epochtime\":1578128400,\"fileclass\":\"Active Web Contents\",\"flow_type\":\"Direct\",\"forward_gateway_ip\":\"10.1.1.1\",\"forward_gateway_name\":\"FWD_1\",\"forward_type\":\"Direct\",\"hour\":22,\"is_sslexpiredca\":\"Yes\",\"is_sslselfsigned\":\"Yes\",\"is_ssluntrustedca\":\"Pass\",\"keyprotectiontype\":\"HSM Protection\",\"location\":\"Headquarters\",\"malwarecategory\":\"Adware\",\"malwareclass\":\"Sandbox\",\"minute\":55,\"mobappcategory\":\"Communication\",\"mobappname\":\"Amazon\",\"mobdevtype\":\"Google Android\",\"module\":\"Administration\",\"month\":\"Oct\",\"month_of_year\":10,\"nssserviceip\":\"192.168.2.200\",\"oapprulelabel\":\"5300295980\",\"obwclassname\":\"10831489\",\"ocip\":6200694987,\"ocpubip\":624054738,\"odevicehostname\":\"2168890624\",\"odevicename\":\"2175092224\",\"odeviceowner\":\"10831489\",\"odlpdict\":\"10831489\",\"odlpeng\":\"4094304256\",\"odlprulename\":\"6857275752\",\"ofwd_gw_name\":\"8794487099\",\"ologin\":\"4094304256\",\"ordr_rulename\":\"3399565100\",\"ourlcat\":\"7956407282\",\"ourlfilterrulelabel\":\"4951704103\",\"ozpa_app_seg_name\":\"7648246731\",\"externalsslpolicyreason\":\"Blocked\",\"productversion\":\"5.0.902.95524_04\",\"rdr_rulename\":\"FWD_Rule_1\",\"refererhost\":\"www.example.com for http://www.example.com/index.html\",\"reqheadersize\":300,\"reqdatasize\":1000,\"respheadersize\":500,\"respdatasize\":10000,\"riskscore\":10,\"ruletype\":\"File Type Control\",\"second\":48,\"srvcertchainvalpass\":\"Unknown\",\"srvcertvalidationtype\":\"EV (Extended Validation)\",\"srvcertvalidityperiod\":\"Short\",\"srvsslcipher\":\"SSL3_CK_RSA_NULL_MD5\",\"serversslsessreuse\":\"Unknown\",\"srvocspresult\":\"Good\",\"srvtlsversion\":\"SSL2\",\"srvwildcardcert\":\"Unknown\",\"ssldecrypted\":\"Yes\",\"throttlereqsize\":5,\"throttlerespsize\":7,\"totalsize\":11800,\"trafficredirectmethod\":\"DNAT (Destination Translation)\",\"unscannabletype\":\"Encrypted File\",\"upload_doctypename\":\"Corporate Finance\",\"upload_fileclass\":\"upload_fileclass\",\"upload_filetype\":\"RAR Files\",\"urlcatmethod\":\"Database A\",\"urlsubcat\":\"Entertainment\",\"urlsupercat\":\"Travel\",\"urlclass\":\"Bandwidth Loss\",\"useragentclass\":\"Firefox\",\"useragenttoken\":\"Google Chrome (0.x)\",\"userlocationname\":\"userlocationname\",\"year\":2023,\"ztunnelversion\":\"ZTUNNEL_1_0\",\"zpa_app_seg_name\":\"ZPA_test_app_segment\"}}", "reason": "File Attachment Cautioned", "timezone": "GMT", "type": [ @@ -863,7 +863,7 @@ ], "id": "123456781", "kind": "event", - "original": "{\"sourcetype\":\"zscalernss-web\",\"event\":{\"time\":\"Mon Oct 18 23:55:48 2023\",\"cloudname\":\"zscaler.net\",\"host\":\"mail.google.com\",\"serverip\":\"1.128.0.2\",\"external_devid\":\"2346\",\"devicemodel\":\"20L8S7WC10\",\"action\":\"Allowed\",\"recordid\":123456781,\"reason\":\"File Attachment Cautioned\",\"threatseverity\":\"Critical (90–100)\",\"tz\":\"GMT\",\"filesubtype\":\"exe\",\"upload_filesubtype\":\"rar\",\"sha256\":\"81ec78bc8298568bb5ea66d3c2972b670d0f7459b6cdbbcaacce90ab417ab15c\",\"bamd5\":\"196a3d797bfee07fe4596b69f4ce1141\",\"filename\":\"nssfeed.txt\",\"upload_filename\":\"nssfeed.exe\",\"filetype\":\"RAR Files\",\"devicename\":\"PC11NLPA%3A5F08D97BBF43257A8FB4BBF4061A38AE324EF734\",\"devicehostname\":\"THINKPADSMITH\",\"deviceostype\":\"iOS\",\"deviceosversion\":\"Version 10.14.2 (Build 18C54)\",\"devicetype\":\"Zscaler Client Connector\",\"reqsize\":1300,\"reqmethod\":\"invalid\",\"refererurl\":\"www.example.com\",\"respsize\":10500,\"respcode\":\"100\",\"reqversion\":\"1.1\",\"respversion\":\"1\",\"proto\":\"SSL\",\"company\":\"Zscaler\",\"dlpmd5\":\"154f149b1443fbfa8c121d13e5c019a1\",\"apprulelabel\":\"File_Sharing_1\",\"dlprulename\":\"DLP_Rule_1\",\"rulelabel\":\"URL_Filtering_1\",\"urlfilterrulelabel\":\"URL_Filtering_2\",\"cltip\":\"81.2.69.144\",\"cltintip\":\"89.160.20.128\",\"cltsourceport\":12345,\"threatname\":\"EICAR Test File\",\"cltsslcipher\":\"SSL3_CK_RSA_NULL_MD5\",\"clttlsversion\":\"SSL2\",\"eurl\":\"www.example.com.com/params?Id=1&ts=2006-01-02T15%3A04%3A05Z07%3A00&user=65792&version=10.0.19041.1266\",\"useragent\":\"Mozilla/5.0\",\"login\":\"jdoe@safemarch.com\",\"applayerprotocol\":\"FTP\",\"appclass\":\"Administration\",\"appname\":\"Adobe Connect\",\"appriskscore\":\"1\",\"bandwidthclassname\":\"Entertainment\",\"bandwidthrulename\":\"Office 365\",\"bwthrottle\":\"Yes\",\"bypassedtime\":\"Mon Oct 16 22:55:48 2023\",\"bypassedtraffic\":\"1\",\"cltsslsessreuse\":\"Unknown\",\"cltpubip\":\"175.16.199.0\",\"cltsslfailcount\":100,\"cltsslfailreason\":\"Bad Record Mac\",\"contenttype\":\"application/vnd_apple_keynote\",\"datacentercity\":\"Sa\",\"datacentercountry\":\"US\",\"datacenter\":\"CA Client Node DC\",\"day\":\"Mon\",\"day_of_month\":16,\"dept\":\"Sales\",\"deviceappversion\":\"1.128.0.1\",\"deviceowner\":\"jsmith\",\"df_hosthead\":\"df_hosthead\",\"df_hostname\":\"df_hostname\",\"dlpdicthitcount\":\"4\",\"dlpdict\":\"Credit Cards\",\"dlpeng\":\"HIPAA\",\"dlpidentifier\":6646484838839026000,\"eedone\":\"Yes\",\"epochtime\":1578128400,\"fileclass\":\"Active Web Contents\",\"flow_type\":\"Direct\",\"forward_gateway_ip\":\"10.1.1.1\",\"forward_gateway_name\":\"FWD_1\",\"forward_type\":\"Direct\",\"hour\":22,\"is_sslexpiredca\":\"Yes\",\"is_sslselfsigned\":\"Yes\",\"is_ssluntrustedca\":\"Pass\",\"keyprotectiontype\":\"HSM Protection\",\"location\":\"Headquarters\",\"malwarecategory\":\"Adware\",\"malwareclass\":\"Sandbox\",\"minute\":55,\"mobappcategory\":\"Communication\",\"mobappname\":\"Amazon\",\"mobdevtype\":\"Google Android\",\"module\":\"Administration\",\"month\":\"Oct\",\"month_of_year\":10,\"nssserviceip\":\"192.168.2.200\",\"oapprulelabel\":\"5300295980\",\"obwclassname\":\"10831489\",\"ocip\":6200694987,\"ocpubip\":624054738,\"odevicehostname\":\"2168890624\",\"odevicename\":\"2175092224\",\"odeviceowner\":\"10831489\",\"odlpdict\":\"10831489\",\"odlpeng\":\"4094304256\",\"odlprulename\":\"6857275752\",\"ofwd_gw_name\":\"8794487099\",\"ologin\":\"4094304256\",\"ordr_rulename\":\"3399565100\",\"ourlcat\":\"7956407282\",\"ourlfilterrulelabel\":\"4951704103\",\"ozpa_app_seg_name\":\"7648246731\",\"externalsslpolicyreason\":\"Blocked\",\"productversion\":\"5.0.902.95524_04\",\"rdr_rulename\":\"FWD_Rule_1\",\"refererhost\":\"www.example.com for http://www.example.com/index.html\",\"reqheadersize\":300,\"reqdatasize\":1000,\"respheadersize\":500,\"respdatasize\":10000,\"riskscore\":10,\"ruletype\":\"File Type Control\",\"second\":48,\"srvcertchainvalpass\":\"Unknown\",\"srvcertvalidationtype\":\"EV (Extended Validation)\",\"srvcertvalidityperiod\":\"Short\",\"srvsslcipher\":\"SSL3_CK_RSA_NULL_MD5\",\"serversslsessreuse\":\"Unknown\",\"srvocspresult\":\"Good\",\"srvtlsversion\":\"SSL2\",\"srvwildcardcert\":\"Unknown\",\"ssldecrypted\":\"Yes\",\"throttlereqsize\":5,\"throttlerespsize\":7,\"totalsize\":11800,\"trafficredirectmethod\":\"DNAT (Destination Translation)\",\"unscannabletype\":\"Encrypted File\",\"upload_doctypename\":\"Corporate Finance\",\"upload_fileclass\":\"upload_fileclass\",\"upload_filetype\":\"RAR Files\",\"urlcatmethod\":\"Database A\",\"urlsubcat\":\"Entertainment\",\"urlsupercat\":\"Travel\",\"urlclass\":\"Bandwidth Loss\",\"useragentclass\":\"Firefox\",\"useragenttoken\":\"Google Chrome (0.x)\",\"userlocationname\":\"userlocationname\",\"year\":2023,\"ztunnelversion\":\"ZTUNNEL_1_0\",\"zpa_app_seg_name\":\"ZPA_test_app_segment\"}}", + "original": "{\"version\":\"v8\",\"sourcetype\":\"zscalernss-web\",\"event\":{\"time\":\"Mon Oct 18 23:55:48 2023\",\"cloudname\":\"zscaler.net\",\"host\":\"mail.google.com\",\"serverip\":\"1.128.0.2\",\"external_devid\":\"2346\",\"devicemodel\":\"20L8S7WC10\",\"action\":\"Allowed\",\"recordid\":123456781,\"reason\":\"File Attachment Cautioned\",\"threatseverity\":\"Critical (90–100)\",\"tz\":\"GMT\",\"filesubtype\":\"exe\",\"upload_filesubtype\":\"rar\",\"sha256\":\"81ec78bc8298568bb5ea66d3c2972b670d0f7459b6cdbbcaacce90ab417ab15c\",\"bamd5\":\"196a3d797bfee07fe4596b69f4ce1141\",\"filename\":\"nssfeed.txt\",\"upload_filename\":\"nssfeed.exe\",\"filetype\":\"RAR Files\",\"devicename\":\"PC11NLPA%3A5F08D97BBF43257A8FB4BBF4061A38AE324EF734\",\"devicehostname\":\"THINKPADSMITH\",\"deviceostype\":\"iOS\",\"deviceosversion\":\"Version 10.14.2 (Build 18C54)\",\"devicetype\":\"Zscaler Client Connector\",\"reqsize\":1300,\"reqmethod\":\"invalid\",\"b64referer\":\"d3d3LmV4YW1wbGUuY29t\",\"respsize\":10500,\"respcode\":\"100\",\"reqversion\":\"1.1\",\"respversion\":\"1\",\"proto\":\"SSL\",\"company\":\"Zscaler\",\"dlpmd5\":\"154f149b1443fbfa8c121d13e5c019a1\",\"apprulelabel\":\"File_Sharing_1\",\"dlprulename\":\"DLP_Rule_1\",\"rulelabel\":\"URL_Filtering_1\",\"urlfilterrulelabel\":\"URL_Filtering_2\",\"cltip\":\"81.2.69.144\",\"cltintip\":\"89.160.20.128\",\"cltsourceport\":12345,\"threatname\":\"EICAR Test File\",\"cltsslcipher\":\"SSL3_CK_RSA_NULL_MD5\",\"clttlsversion\":\"SSL2\",\"b64url\":\"d3d3LmV4YW1wbGUuY29tLmNvbS9wYXJhbXM/SWQ9MSZ0cz0yMDA2LTAxLTAyVDE1OjA0OjA1WjA3OjAwJnVzZXI9NjU3OTImdmVyc2lvbj0xMC4wLjE5MDQxLjEyNjY=\",\"useragent\":\"Mozilla/5.0\",\"login\":\"jdoe@safemarch.com\",\"applayerprotocol\":\"FTP\",\"appclass\":\"Administration\",\"appname\":\"Adobe Connect\",\"appriskscore\":\"1\",\"bandwidthclassname\":\"Entertainment\",\"bandwidthrulename\":\"Office 365\",\"bwthrottle\":\"Yes\",\"bypassedtime\":\"Mon Oct 16 22:55:48 2023\",\"bypassedtraffic\":\"1\",\"cltsslsessreuse\":\"Unknown\",\"cltpubip\":\"175.16.199.0\",\"cltsslfailcount\":100,\"cltsslfailreason\":\"Bad Record Mac\",\"contenttype\":\"application/vnd_apple_keynote\",\"datacentercity\":\"Sa\",\"datacentercountry\":\"US\",\"datacenter\":\"CA Client Node DC\",\"day\":\"Mon\",\"day_of_month\":16,\"dept\":\"Sales\",\"deviceappversion\":\"1.128.0.1\",\"deviceowner\":\"jsmith\",\"df_hosthead\":\"df_hosthead\",\"df_hostname\":\"df_hostname\",\"dlpdicthitcount\":\"4\",\"dlpdict\":\"Credit Cards\",\"dlpeng\":\"HIPAA\",\"dlpidentifier\":6646484838839026000,\"eedone\":\"Yes\",\"epochtime\":1578128400,\"fileclass\":\"Active Web Contents\",\"flow_type\":\"Direct\",\"forward_gateway_ip\":\"10.1.1.1\",\"forward_gateway_name\":\"FWD_1\",\"forward_type\":\"Direct\",\"hour\":22,\"is_sslexpiredca\":\"Yes\",\"is_sslselfsigned\":\"Yes\",\"is_ssluntrustedca\":\"Pass\",\"keyprotectiontype\":\"HSM Protection\",\"location\":\"Headquarters\",\"malwarecategory\":\"Adware\",\"malwareclass\":\"Sandbox\",\"minute\":55,\"mobappcategory\":\"Communication\",\"mobappname\":\"Amazon\",\"mobdevtype\":\"Google Android\",\"module\":\"Administration\",\"month\":\"Oct\",\"month_of_year\":10,\"nssserviceip\":\"192.168.2.200\",\"oapprulelabel\":\"5300295980\",\"obwclassname\":\"10831489\",\"ocip\":6200694987,\"ocpubip\":624054738,\"odevicehostname\":\"2168890624\",\"odevicename\":\"2175092224\",\"odeviceowner\":\"10831489\",\"odlpdict\":\"10831489\",\"odlpeng\":\"4094304256\",\"odlprulename\":\"6857275752\",\"ofwd_gw_name\":\"8794487099\",\"ologin\":\"4094304256\",\"ordr_rulename\":\"3399565100\",\"ourlcat\":\"7956407282\",\"ourlfilterrulelabel\":\"4951704103\",\"ozpa_app_seg_name\":\"7648246731\",\"externalsslpolicyreason\":\"Blocked\",\"productversion\":\"5.0.902.95524_04\",\"rdr_rulename\":\"FWD_Rule_1\",\"refererhost\":\"www.example.com for http://www.example.com/index.html\",\"reqheadersize\":300,\"reqdatasize\":1000,\"respheadersize\":500,\"respdatasize\":10000,\"riskscore\":10,\"ruletype\":\"File Type Control\",\"second\":48,\"srvcertchainvalpass\":\"Unknown\",\"srvcertvalidationtype\":\"EV (Extended Validation)\",\"srvcertvalidityperiod\":\"Short\",\"srvsslcipher\":\"SSL3_CK_RSA_NULL_MD5\",\"serversslsessreuse\":\"Unknown\",\"srvocspresult\":\"Good\",\"srvtlsversion\":\"SSL2\",\"srvwildcardcert\":\"Unknown\",\"ssldecrypted\":\"Yes\",\"throttlereqsize\":5,\"throttlerespsize\":7,\"totalsize\":11800,\"trafficredirectmethod\":\"DNAT (Destination Translation)\",\"unscannabletype\":\"Encrypted File\",\"upload_doctypename\":\"Corporate Finance\",\"upload_fileclass\":\"upload_fileclass\",\"upload_filetype\":\"RAR Files\",\"urlcatmethod\":\"Database A\",\"urlsubcat\":\"Entertainment\",\"urlsupercat\":\"Travel\",\"urlclass\":\"Bandwidth Loss\",\"useragentclass\":\"Firefox\",\"useragenttoken\":\"Google Chrome (0.x)\",\"userlocationname\":\"userlocationname\",\"year\":2023,\"ztunnelversion\":\"ZTUNNEL_1_0\",\"zpa_app_seg_name\":\"ZPA_test_app_segment\"}}", "reason": "File Attachment Cautioned", "timezone": "GMT", "type": [ @@ -1282,7 +1282,7 @@ ], "id": "123456781", "kind": "event", - "original": "{\"sourcetype\":\"zscalernss-web\",\"event\":{\"time\":\"Mon Oct 18 23:55:48 2023\",\"cloudname\":\"zscaler.net\",\"host\":\"mail.google.com\",\"serverip\":\"1.128.0.2\",\"external_devid\":\"2346\",\"devicemodel\":\"20L8S7WC10\",\"action\":\"Allowed\",\"recordid\":123456781,\"reason\":\"File Attachment Cautioned\",\"threatseverity\":\"Critical (90–100)\",\"tz\":\"GMT\",\"filesubtype\":\"exe\",\"upload_filesubtype\":\"rar\",\"sha256\":\"81ec78bc8298568bb5ea66d3c2972b670d0f7459b6cdbbcaacce90ab417ab15c\",\"bamd5\":\"196a3d797bfee07fe4596b69f4ce1141\",\"filename\":\"nssfeed.txt\",\"upload_filename\":\"nssfeed.exe\",\"filetype\":\"RAR Files\",\"devicename\":\"PC11NLPA%3A5F08D97BBF43257A8FB4BBF4061A38AE324EF734\",\"devicehostname\":\"THINKPADSMITH\",\"deviceostype\":\"iOS\",\"deviceosversion\":\"Version 10.14.2 (Build 18C54)\",\"devicetype\":\"Zscaler Client Connector\",\"reqsize\":1300,\"reqmethod\":\"invalid\",\"refererurl\":\"www.example.com\",\"respsize\":10500,\"respcode\":\"100\",\"reqversion\":\"1.1\",\"respversion\":\"1\",\"proto\":\"SSL\",\"company\":\"Zscaler\",\"dlpmd5\":\"154f149b1443fbfa8c121d13e5c019a1\",\"apprulelabel\":\"File_Sharing_1\",\"dlprulename\":\"DLP_Rule_1\",\"rulelabel\":\"URL_Filtering_1\",\"urlfilterrulelabel\":\"URL_Filtering_2\",\"cltip\":\"81.2.69.144\",\"cltintip\":\"89.160.20.128\",\"cltsourceport\":12345,\"threatname\":\"EICAR Test File\",\"cltsslcipher\":\"SSL3_CK_RSA_NULL_MD5\",\"clttlsversion\":\"SSL2\",\"eurl\":\"www.youtube.com/api/stats/abcd?afmt=251&bat=330.017%3A0.96%3A1&bh=330.017%3A121.264&bwe=330.017%3A7458601&bwm=330.017%3A2407754%3A0.844&c=WEB&cbr=Edge+Chromium&cbrver=115.0.0.0&cl=655399956&cmt=330.017%3A328.837&cos=Windows&cosver=10.0&cplatform=DESKTOP&cplayer=UNIPLAYER&cpn=FUB73SQWxSHKADxvJ&cver=2.20240724.03.00&docid=WVhG_sNVLasD&el=detailpage&fexp=v1%2C23848225%2C137802%2C18617%2C204121%2C230596%2C222097%2C16229%2C133212%2C14625955%2C11684381%2C7222%2C14207%2C9859%2C12177%2C9954%2C1192%2C7913%2C18310%2C273%2C4147%2C2819%2C2%2C16344%2C1424%2C19204%2C9948%2C2196%2C9996%2C19%2C2%2C1082%2C6953%2C101%2C1401%2C9542%2C2471%2C3292%2C2716%2C1538%2C723%2C2575%2C9567%2C1375%2C3761%2C4162%2C8610%2C173%2C201%2C10406%2C321%2C148%2C2%2C343%2C1783%2C14%2C1322%2C50%2C621%2C702%2C1062%2C1769%2C1823%2C896%2C2291%2C2912%2C7568%2C342&fmt=398&ns=yt&referrer=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3Disa90_67as&sdetail=rv%3Aisa89_68ad&seq=13&sourceid=yw&vps=330.017%3APL\",\"useragent\":\"Mozilla/5.0\",\"login\":\"jdoe@safemarch.com\",\"applayerprotocol\":\"FTP\",\"appclass\":\"Administration\",\"appname\":\"Adobe Connect\",\"appriskscore\":\"1\",\"bandwidthclassname\":\"Entertainment\",\"bandwidthrulename\":\"Office 365\",\"bwthrottle\":\"Yes\",\"bypassedtime\":\"Mon Oct 16 22:55:48 2023\",\"bypassedtraffic\":\"1\",\"cltsslsessreuse\":\"Unknown\",\"cltpubip\":\"175.16.199.0\",\"cltsslfailcount\":100,\"cltsslfailreason\":\"Bad Record Mac\",\"contenttype\":\"application/vnd_apple_keynote\",\"datacentercity\":\"Sa\",\"datacentercountry\":\"US\",\"datacenter\":\"CA Client Node DC\",\"day\":\"Mon\",\"day_of_month\":16,\"dept\":\"Sales\",\"deviceappversion\":\"1.128.0.1\",\"deviceowner\":\"jsmith\",\"df_hosthead\":\"df_hosthead\",\"df_hostname\":\"df_hostname\",\"dlpdicthitcount\":\"4\",\"dlpdict\":\"Credit Cards\",\"dlpeng\":\"HIPAA\",\"dlpidentifier\":6646484838839026000,\"eedone\":\"Yes\",\"epochtime\":1578128400,\"fileclass\":\"Active Web Contents\",\"flow_type\":\"Direct\",\"forward_gateway_ip\":\"10.1.1.1\",\"forward_gateway_name\":\"FWD_1\",\"forward_type\":\"Direct\",\"hour\":22,\"is_sslexpiredca\":\"Yes\",\"is_sslselfsigned\":\"Yes\",\"is_ssluntrustedca\":\"Pass\",\"keyprotectiontype\":\"HSM Protection\",\"location\":\"Headquarters\",\"malwarecategory\":\"Adware\",\"malwareclass\":\"Sandbox\",\"minute\":55,\"mobappcategory\":\"Communication\",\"mobappname\":\"Amazon\",\"mobdevtype\":\"Google Android\",\"module\":\"Administration\",\"month\":\"Oct\",\"month_of_year\":10,\"nssserviceip\":\"192.168.2.200\",\"oapprulelabel\":\"5300295980\",\"obwclassname\":\"10831489\",\"ocip\":6200694987,\"ocpubip\":624054738,\"odevicehostname\":\"2168890624\",\"odevicename\":\"2175092224\",\"odeviceowner\":\"10831489\",\"odlpdict\":\"10831489\",\"odlpeng\":\"4094304256\",\"odlprulename\":\"6857275752\",\"ofwd_gw_name\":\"8794487099\",\"ologin\":\"4094304256\",\"ordr_rulename\":\"3399565100\",\"ourlcat\":\"7956407282\",\"ourlfilterrulelabel\":\"4951704103\",\"ozpa_app_seg_name\":\"7648246731\",\"externalsslpolicyreason\":\"Blocked\",\"productversion\":\"5.0.902.95524_04\",\"rdr_rulename\":\"FWD_Rule_1\",\"refererhost\":\"www.example.com for http://www.example.com/index.html\",\"reqheadersize\":300,\"reqdatasize\":1000,\"respheadersize\":500,\"respdatasize\":10000,\"riskscore\":10,\"ruletype\":\"File Type Control\",\"second\":48,\"srvcertchainvalpass\":\"Unknown\",\"srvcertvalidationtype\":\"EV (Extended Validation)\",\"srvcertvalidityperiod\":\"Short\",\"srvsslcipher\":\"SSL3_CK_RSA_NULL_MD5\",\"serversslsessreuse\":\"Unknown\",\"srvocspresult\":\"Good\",\"srvtlsversion\":\"SSL2\",\"srvwildcardcert\":\"Unknown\",\"ssldecrypted\":\"Yes\",\"throttlereqsize\":5,\"throttlerespsize\":7,\"totalsize\":11800,\"trafficredirectmethod\":\"DNAT (Destination Translation)\",\"unscannabletype\":\"Encrypted File\",\"upload_doctypename\":\"Corporate Finance\",\"upload_fileclass\":\"upload_fileclass\",\"upload_filetype\":\"RAR Files\",\"urlcatmethod\":\"Database A\",\"urlsubcat\":\"Entertainment\",\"urlsupercat\":\"Travel\",\"urlclass\":\"Bandwidth Loss\",\"useragentclass\":\"Firefox\",\"useragenttoken\":\"Google Chrome (0.x)\",\"userlocationname\":\"userlocationname\",\"year\":2023,\"ztunnelversion\":\"ZTUNNEL_1_0\",\"zpa_app_seg_name\":\"ZPA_test_app_segment\"}}", + "original": "{\"version\":\"v8\",\"sourcetype\":\"zscalernss-web\",\"event\":{\"time\":\"Mon Oct 18 23:55:48 2023\",\"cloudname\":\"zscaler.net\",\"host\":\"mail.google.com\",\"serverip\":\"1.128.0.2\",\"external_devid\":\"2346\",\"devicemodel\":\"20L8S7WC10\",\"action\":\"Allowed\",\"recordid\":123456781,\"reason\":\"File Attachment Cautioned\",\"threatseverity\":\"Critical (90–100)\",\"tz\":\"GMT\",\"filesubtype\":\"exe\",\"upload_filesubtype\":\"rar\",\"sha256\":\"81ec78bc8298568bb5ea66d3c2972b670d0f7459b6cdbbcaacce90ab417ab15c\",\"bamd5\":\"196a3d797bfee07fe4596b69f4ce1141\",\"filename\":\"nssfeed.txt\",\"upload_filename\":\"nssfeed.exe\",\"filetype\":\"RAR Files\",\"devicename\":\"PC11NLPA%3A5F08D97BBF43257A8FB4BBF4061A38AE324EF734\",\"devicehostname\":\"THINKPADSMITH\",\"deviceostype\":\"iOS\",\"deviceosversion\":\"Version 10.14.2 (Build 18C54)\",\"devicetype\":\"Zscaler Client Connector\",\"reqsize\":1300,\"reqmethod\":\"invalid\",\"b64referer\":\"d3d3LmV4YW1wbGUuY29t\",\"respsize\":10500,\"respcode\":\"100\",\"reqversion\":\"1.1\",\"respversion\":\"1\",\"proto\":\"SSL\",\"company\":\"Zscaler\",\"dlpmd5\":\"154f149b1443fbfa8c121d13e5c019a1\",\"apprulelabel\":\"File_Sharing_1\",\"dlprulename\":\"DLP_Rule_1\",\"rulelabel\":\"URL_Filtering_1\",\"urlfilterrulelabel\":\"URL_Filtering_2\",\"cltip\":\"81.2.69.144\",\"cltintip\":\"89.160.20.128\",\"cltsourceport\":12345,\"threatname\":\"EICAR Test File\",\"cltsslcipher\":\"SSL3_CK_RSA_NULL_MD5\",\"clttlsversion\":\"SSL2\",\"b64url\":\"d3d3LnlvdXR1YmUuY29tL2FwaS9zdGF0cy9hYmNkP2FmbXQ9MjUxJmJhdD0zMzAuMDE3OjAuOTY6MSZiaD0zMzAuMDE3OjEyMS4yNjQmYndlPTMzMC4wMTc6NzQ1ODYwMSZid209MzMwLjAxNzoyNDA3NzU0OjAuODQ0JmM9V0VCJmNicj1FZGdlIENocm9taXVtJmNicnZlcj0xMTUuMC4wLjAmY2w9NjU1Mzk5OTU2JmNtdD0zMzAuMDE3OjMyOC44MzcmY29zPVdpbmRvd3MmY29zdmVyPTEwLjAmY3BsYXRmb3JtPURFU0tUT1AmY3BsYXllcj1VTklQTEFZRVImY3BuPUZVQjczU1FXeFNIS0FEeHZKJmN2ZXI9Mi4yMDI0MDcyNC4wMy4wMCZkb2NpZD1XVmhHX3NOVkxhc0QmZWw9ZGV0YWlscGFnZSZmZXhwPXYxLDIzODQ4MjI1LDEzNzgwMiwxODYxNywyMDQxMjEsMjMwNTk2LDIyMjA5NywxNjIyOSwxMzMyMTIsMTQ2MjU5NTUsMTE2ODQzODEsNzIyMiwxNDIwNyw5ODU5LDEyMTc3LDk5NTQsMTE5Miw3OTEzLDE4MzEwLDI3Myw0MTQ3LDI4MTksMiwxNjM0NCwxNDI0LDE5MjA0LDk5NDgsMjE5Niw5OTk2LDE5LDIsMTA4Miw2OTUzLDEwMSwxNDAxLDk1NDIsMjQ3MSwzMjkyLDI3MTYsMTUzOCw3MjMsMjU3NSw5NTY3LDEzNzUsMzc2MSw0MTYyLDg2MTAsMTczLDIwMSwxMDQwNiwzMjEsMTQ4LDIsMzQzLDE3ODMsMTQsMTMyMiw1MCw2MjEsNzAyLDEwNjIsMTc2OSwxODIzLDg5NiwyMjkxLDI5MTIsNzU2OCwzNDImZm10PTM5OCZucz15dCZyZWZlcnJlcj1odHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PWlzYTkwXzY3YXMmc2RldGFpbD1ydjppc2E4OV82OGFkJnNlcT0xMyZzb3VyY2VpZD15dyZ2cHM9MzMwLjAxNzpQTA==\",\"useragent\":\"Mozilla/5.0\",\"login\":\"jdoe@safemarch.com\",\"applayerprotocol\":\"FTP\",\"appclass\":\"Administration\",\"appname\":\"Adobe Connect\",\"appriskscore\":\"1\",\"bandwidthclassname\":\"Entertainment\",\"bandwidthrulename\":\"Office 365\",\"bwthrottle\":\"Yes\",\"bypassedtime\":\"Mon Oct 16 22:55:48 2023\",\"bypassedtraffic\":\"1\",\"cltsslsessreuse\":\"Unknown\",\"cltpubip\":\"175.16.199.0\",\"cltsslfailcount\":100,\"cltsslfailreason\":\"Bad Record Mac\",\"contenttype\":\"application/vnd_apple_keynote\",\"datacentercity\":\"Sa\",\"datacentercountry\":\"US\",\"datacenter\":\"CA Client Node DC\",\"day\":\"Mon\",\"day_of_month\":16,\"dept\":\"Sales\",\"deviceappversion\":\"1.128.0.1\",\"deviceowner\":\"jsmith\",\"df_hosthead\":\"df_hosthead\",\"df_hostname\":\"df_hostname\",\"dlpdicthitcount\":\"4\",\"dlpdict\":\"Credit Cards\",\"dlpeng\":\"HIPAA\",\"dlpidentifier\":6646484838839026000,\"eedone\":\"Yes\",\"epochtime\":1578128400,\"fileclass\":\"Active Web Contents\",\"flow_type\":\"Direct\",\"forward_gateway_ip\":\"10.1.1.1\",\"forward_gateway_name\":\"FWD_1\",\"forward_type\":\"Direct\",\"hour\":22,\"is_sslexpiredca\":\"Yes\",\"is_sslselfsigned\":\"Yes\",\"is_ssluntrustedca\":\"Pass\",\"keyprotectiontype\":\"HSM Protection\",\"location\":\"Headquarters\",\"malwarecategory\":\"Adware\",\"malwareclass\":\"Sandbox\",\"minute\":55,\"mobappcategory\":\"Communication\",\"mobappname\":\"Amazon\",\"mobdevtype\":\"Google Android\",\"module\":\"Administration\",\"month\":\"Oct\",\"month_of_year\":10,\"nssserviceip\":\"192.168.2.200\",\"oapprulelabel\":\"5300295980\",\"obwclassname\":\"10831489\",\"ocip\":6200694987,\"ocpubip\":624054738,\"odevicehostname\":\"2168890624\",\"odevicename\":\"2175092224\",\"odeviceowner\":\"10831489\",\"odlpdict\":\"10831489\",\"odlpeng\":\"4094304256\",\"odlprulename\":\"6857275752\",\"ofwd_gw_name\":\"8794487099\",\"ologin\":\"4094304256\",\"ordr_rulename\":\"3399565100\",\"ourlcat\":\"7956407282\",\"ourlfilterrulelabel\":\"4951704103\",\"ozpa_app_seg_name\":\"7648246731\",\"externalsslpolicyreason\":\"Blocked\",\"productversion\":\"5.0.902.95524_04\",\"rdr_rulename\":\"FWD_Rule_1\",\"refererhost\":\"www.example.com for http://www.example.com/index.html\",\"reqheadersize\":300,\"reqdatasize\":1000,\"respheadersize\":500,\"respdatasize\":10000,\"riskscore\":10,\"ruletype\":\"File Type Control\",\"second\":48,\"srvcertchainvalpass\":\"Unknown\",\"srvcertvalidationtype\":\"EV (Extended Validation)\",\"srvcertvalidityperiod\":\"Short\",\"srvsslcipher\":\"SSL3_CK_RSA_NULL_MD5\",\"serversslsessreuse\":\"Unknown\",\"srvocspresult\":\"Good\",\"srvtlsversion\":\"SSL2\",\"srvwildcardcert\":\"Unknown\",\"ssldecrypted\":\"Yes\",\"throttlereqsize\":5,\"throttlerespsize\":7,\"totalsize\":11800,\"trafficredirectmethod\":\"DNAT (Destination Translation)\",\"unscannabletype\":\"Encrypted File\",\"upload_doctypename\":\"Corporate Finance\",\"upload_fileclass\":\"upload_fileclass\",\"upload_filetype\":\"RAR Files\",\"urlcatmethod\":\"Database A\",\"urlsubcat\":\"Entertainment\",\"urlsupercat\":\"Travel\",\"urlclass\":\"Bandwidth Loss\",\"useragentclass\":\"Firefox\",\"useragenttoken\":\"Google Chrome (0.x)\",\"userlocationname\":\"userlocationname\",\"year\":2023,\"ztunnelversion\":\"ZTUNNEL_1_0\",\"zpa_app_seg_name\":\"ZPA_test_app_segment\"}}", "reason": "File Attachment Cautioned", "timezone": "GMT", "type": [ @@ -1701,7 +1701,7 @@ ], "id": "123456782", "kind": "event", - "original": "{\"sourcetype\":\"zscalernss-web\",\"event\":{\"time\":\"Mon Oct 20 22:55:48 2023\",\"cloudname\":\"zscaler.net\",\"host\":\"mail.google.com\",\"serverip\":\"1.128.0.4\",\"external_devid\":\"2347\",\"devicemodel\":\"20L8S7WC12\",\"action\":\"Allowed\",\"recordid\":123456782,\"reason\":\"File Attachment Cautioned\",\"threatseverity\":\"Critical (90–100)\",\"tz\":\"GMT\",\"filesubtype\":\"exe\",\"upload_filesubtype\":\"rar\",\"sha256\":\"81ec78bc8298568bb5ea66d3c2972b670d0f7459b6cdbbcaacce90ab417ab15c\",\"bamd5\":\"196a3d797bfee07fe4596b69f4ce1141\",\"filename\":\"nssfeed.txt\",\"upload_filename\":\"nssfeed.exe\",\"filetype\":\"RAR Files\",\"devicename\":\"device%5CrN%40me\",\"devicehostname\":\"THINKPADSMITH\",\"deviceostype\":\"iOS\",\"deviceosversion\":\"Version 10.14.2 (Build 18C54)\",\"devicetype\":\"Zscaler Client Connector\",\"reqsize\":1300,\"reqmethod\":\"invalid\",\"refererurl\":\"www.example.com\",\"refererpath\":\"/search?filters=guid%3A%2240-en-dia%22+lang%3A%22en%22&form=S00&q=how+to+use+remote+desktop+to+connect+to+a+windows+10+pc\",\"respsize\":10500,\"respcode\":\"100\",\"reqversion\":\"1.1\",\"respversion\":\"1\",\"proto\":\"HTTPS\",\"company\":\"Zscaler\",\"dlpmd5\":\"154f149b1443fbfa8c121d13e5c019a1\",\"apprulelabel\":\"File_Sharing_1\",\"dlprulename\":\"DLP_Rule_1\",\"rulelabel\":\"URL_Filtering_1\",\"urlfilterrulelabel\":\"URL_Filtering_2\",\"cltip\":\"81.2.69.144\",\"cltintip\":\"89.160.20.128\",\"cltsourceport\":12345,\"threatname\":\"EICAR Test File\",\"cltsslcipher\":\"SSL3_CK_RSA_NULL_MD5\",\"clttlsversion\":\"SSL2\",\"eurl\":\"www.example.com%3A443\",\"urlpath\":\"/params?Id=1&ts=2006-01-02T15%3A04%3A05Z07%3A00&user=65792&version=10.0.19041.1266\",\"useragent\":\"Mozilla/5.0\",\"login\":\"jdoe@safemarch.com\",\"applayerprotocol\":\"FTP\",\"appclass\":\"Administration\",\"appname\":\"Adobe Connect\",\"appriskscore\":\"1\",\"bandwidthclassname\":\"Entertainment\",\"bandwidthrulename\":\"Office 365\",\"bwthrottle\":\"Yes\",\"bypassedtime\":\"Mon Oct 16 22:55:48 2023\",\"bypassedtraffic\":\"1\",\"cltsslsessreuse\":\"Unknown\",\"cltpubip\":\"175.16.199.0\",\"cltsslfailcount\":100,\"cltsslfailreason\":\"Bad Record Mac\",\"contenttype\":\"application/vnd_apple_keynote\",\"datacentercity\":\"Sa\",\"datacentercountry\":\"US\",\"datacenter\":\"CA Client Node DC\",\"day\":\"Mon\",\"day_of_month\":16,\"dept\":\"Sales\",\"deviceappversion\":\"1.128.0.1\",\"deviceowner\":\"jsmith\",\"df_hosthead\":\"df_hosthead\",\"df_hostname\":\"df_hostname\",\"dlpdicthitcount\":\"4\",\"dlpdict\":\"Credit Cards\",\"dlpeng\":\"HIPAA\",\"dlpidentifier\":6646484838839026000,\"eedone\":\"Yes\",\"epochtime\":1578128400,\"fileclass\":\"Active Web Contents\",\"flow_type\":\"Direct\",\"forward_gateway_ip\":\"10.1.1.1\",\"forward_gateway_name\":\"FWD_1\",\"forward_type\":\"Direct\",\"hour\":22,\"is_sslexpiredca\":\"Yes\",\"is_sslselfsigned\":\"Yes\",\"is_ssluntrustedca\":\"Pass\",\"keyprotectiontype\":\"HSM Protection\",\"location\":\"Headquarters\",\"department\":\"Department%5CrN%40me\",\"malwarecategory\":\"Adware\",\"malwareclass\":\"Sandbox\",\"minute\":55,\"mobappcategory\":\"Communication\",\"mobappname\":\"Amazon\",\"mobdevtype\":\"Google Android\",\"module\":\"Administration\",\"month\":\"Oct\",\"month_of_year\":10,\"nssserviceip\":\"192.168.2.200\",\"oapprulelabel\":\"5300295980\",\"obwclassname\":\"10831489\",\"ocip\":6200694987,\"ocpubip\":624054738,\"odevicehostname\":\"2168890624\",\"odevicename\":\"2175092224\",\"odeviceowner\":\"10831489\",\"odlpdict\":\"10831489\",\"odlpeng\":\"4094304256\",\"odlprulename\":\"6857275752\",\"ofwd_gw_name\":\"8794487099\",\"ologin\":\"4094304256\",\"ordr_rulename\":\"3399565100\",\"ourlcat\":\"7956407282\",\"ourlfilterrulelabel\":\"4951704103\",\"ozpa_app_seg_name\":\"7648246731\",\"externalsslpolicyreason\":\"Blocked\",\"productversion\":\"5.0.902.95524_04\",\"rdr_rulename\":\"FWD_Rule_1\",\"refererhost\":\"www.example.com for http://www.example.com/index.html\",\"reqheadersize\":300,\"reqdatasize\":1000,\"respheadersize\":500,\"respdatasize\":10000,\"riskscore\":10,\"ruletype\":\"File Type Control\",\"second\":48,\"srvcertchainvalpass\":\"Unknown\",\"srvcertvalidationtype\":\"EV (Extended Validation)\",\"srvcertvalidityperiod\":\"Short\",\"srvsslcipher\":\"SSL3_CK_RSA_NULL_MD5\",\"serversslsessreuse\":\"Unknown\",\"srvocspresult\":\"Good\",\"srvtlsversion\":\"SSL2\",\"srvwildcardcert\":\"Unknown\",\"ssldecrypted\":\"Yes\",\"throttlereqsize\":5,\"throttlerespsize\":7,\"totalsize\":11800,\"trafficredirectmethod\":\"DNAT (Destination Translation)\",\"unscannabletype\":\"Encrypted File\",\"upload_doctypename\":\"Corporate Finance\",\"upload_fileclass\":\"upload_fileclass\",\"upload_filetype\":\"RAR Files\",\"urlcatmethod\":\"Database A\",\"urlsubcat\":\"Entertainment\",\"urlsupercat\":\"Travel\",\"urlclass\":\"Bandwidth Loss\",\"useragentclass\":\"Firefox\",\"useragenttoken\":\"Google Chrome (0.x)\",\"userlocationname\":\"userlocationname\",\"year\":2023,\"ztunnelversion\":\"ZTUNNEL_1_0\",\"zpa_app_seg_name\":\"ZPA_test_app_segment\"}}", + "original": "{\"version\":\"v8\",\"sourcetype\":\"zscalernss-web\",\"event\":{\"time\":\"Mon Oct 20 22:55:48 2023\",\"cloudname\":\"zscaler.net\",\"host\":\"mail.google.com\",\"serverip\":\"1.128.0.4\",\"external_devid\":\"2347\",\"devicemodel\":\"20L8S7WC12\",\"action\":\"Allowed\",\"recordid\":123456782,\"reason\":\"File Attachment Cautioned\",\"threatseverity\":\"Critical (90–100)\",\"tz\":\"GMT\",\"filesubtype\":\"exe\",\"upload_filesubtype\":\"rar\",\"sha256\":\"81ec78bc8298568bb5ea66d3c2972b670d0f7459b6cdbbcaacce90ab417ab15c\",\"bamd5\":\"196a3d797bfee07fe4596b69f4ce1141\",\"filename\":\"nssfeed.txt\",\"upload_filename\":\"nssfeed.exe\",\"filetype\":\"RAR Files\",\"devicename\":\"device%5CrN%40me\",\"devicehostname\":\"THINKPADSMITH\",\"deviceostype\":\"iOS\",\"deviceosversion\":\"Version 10.14.2 (Build 18C54)\",\"devicetype\":\"Zscaler Client Connector\",\"reqsize\":1300,\"reqmethod\":\"invalid\",\"b64referer\":\"d3d3LmV4YW1wbGUuY29tL3NlYXJjaD9maWx0ZXJzPWd1aWQlM0ElMjI0MC1lbi1kaWElMjIrbGFuZyUzQSUyMmVuJTIyJmZvcm09UzAwJnE9aG93K3RvK3VzZStyZW1vdGUrZGVza3RvcCt0bytjb25uZWN0K3RvK2Erd2luZG93cysxMCtwYw==\",\"respsize\":10500,\"respcode\":\"100\",\"reqversion\":\"1.1\",\"respversion\":\"1\",\"proto\":\"HTTPS\",\"company\":\"Zscaler\",\"dlpmd5\":\"154f149b1443fbfa8c121d13e5c019a1\",\"apprulelabel\":\"File_Sharing_1\",\"dlprulename\":\"DLP_Rule_1\",\"rulelabel\":\"URL_Filtering_1\",\"urlfilterrulelabel\":\"URL_Filtering_2\",\"cltip\":\"81.2.69.144\",\"cltintip\":\"89.160.20.128\",\"cltsourceport\":12345,\"threatname\":\"EICAR Test File\",\"cltsslcipher\":\"SSL3_CK_RSA_NULL_MD5\",\"clttlsversion\":\"SSL2\",\"b64url\":\"d3d3LmV4YW1wbGUuY29tOjQ0Mw==\",\"useragent\":\"Mozilla/5.0\",\"login\":\"jdoe@safemarch.com\",\"applayerprotocol\":\"FTP\",\"appclass\":\"Administration\",\"appname\":\"Adobe Connect\",\"appriskscore\":\"1\",\"bandwidthclassname\":\"Entertainment\",\"bandwidthrulename\":\"Office 365\",\"bwthrottle\":\"Yes\",\"bypassedtime\":\"Mon Oct 16 22:55:48 2023\",\"bypassedtraffic\":\"1\",\"cltsslsessreuse\":\"Unknown\",\"cltpubip\":\"175.16.199.0\",\"cltsslfailcount\":100,\"cltsslfailreason\":\"Bad Record Mac\",\"contenttype\":\"application/vnd_apple_keynote\",\"datacentercity\":\"Sa\",\"datacentercountry\":\"US\",\"datacenter\":\"CA Client Node DC\",\"day\":\"Mon\",\"day_of_month\":16,\"dept\":\"Sales\",\"deviceappversion\":\"1.128.0.1\",\"deviceowner\":\"jsmith\",\"df_hosthead\":\"df_hosthead\",\"df_hostname\":\"df_hostname\",\"dlpdicthitcount\":\"4\",\"dlpdict\":\"Credit Cards\",\"dlpeng\":\"HIPAA\",\"dlpidentifier\":6646484838839026000,\"eedone\":\"Yes\",\"epochtime\":1578128400,\"fileclass\":\"Active Web Contents\",\"flow_type\":\"Direct\",\"forward_gateway_ip\":\"10.1.1.1\",\"forward_gateway_name\":\"FWD_1\",\"forward_type\":\"Direct\",\"hour\":22,\"is_sslexpiredca\":\"Yes\",\"is_sslselfsigned\":\"Yes\",\"is_ssluntrustedca\":\"Pass\",\"keyprotectiontype\":\"HSM Protection\",\"location\":\"Headquarters\",\"department\":\"Department%5CrN%40me\",\"malwarecategory\":\"Adware\",\"malwareclass\":\"Sandbox\",\"minute\":55,\"mobappcategory\":\"Communication\",\"mobappname\":\"Amazon\",\"mobdevtype\":\"Google Android\",\"module\":\"Administration\",\"month\":\"Oct\",\"month_of_year\":10,\"nssserviceip\":\"192.168.2.200\",\"oapprulelabel\":\"5300295980\",\"obwclassname\":\"10831489\",\"ocip\":6200694987,\"ocpubip\":624054738,\"odevicehostname\":\"2168890624\",\"odevicename\":\"2175092224\",\"odeviceowner\":\"10831489\",\"odlpdict\":\"10831489\",\"odlpeng\":\"4094304256\",\"odlprulename\":\"6857275752\",\"ofwd_gw_name\":\"8794487099\",\"ologin\":\"4094304256\",\"ordr_rulename\":\"3399565100\",\"ourlcat\":\"7956407282\",\"ourlfilterrulelabel\":\"4951704103\",\"ozpa_app_seg_name\":\"7648246731\",\"externalsslpolicyreason\":\"Blocked\",\"productversion\":\"5.0.902.95524_04\",\"rdr_rulename\":\"FWD_Rule_1\",\"refererhost\":\"www.example.com for http://www.example.com/index.html\",\"reqheadersize\":300,\"reqdatasize\":1000,\"respheadersize\":500,\"respdatasize\":10000,\"riskscore\":10,\"ruletype\":\"File Type Control\",\"second\":48,\"srvcertchainvalpass\":\"Unknown\",\"srvcertvalidationtype\":\"EV (Extended Validation)\",\"srvcertvalidityperiod\":\"Short\",\"srvsslcipher\":\"SSL3_CK_RSA_NULL_MD5\",\"serversslsessreuse\":\"Unknown\",\"srvocspresult\":\"Good\",\"srvtlsversion\":\"SSL2\",\"srvwildcardcert\":\"Unknown\",\"ssldecrypted\":\"Yes\",\"throttlereqsize\":5,\"throttlerespsize\":7,\"totalsize\":11800,\"trafficredirectmethod\":\"DNAT (Destination Translation)\",\"unscannabletype\":\"Encrypted File\",\"upload_doctypename\":\"Corporate Finance\",\"upload_fileclass\":\"upload_fileclass\",\"upload_filetype\":\"RAR Files\",\"urlcatmethod\":\"Database A\",\"urlsubcat\":\"Entertainment\",\"urlsupercat\":\"Travel\",\"urlclass\":\"Bandwidth Loss\",\"useragentclass\":\"Firefox\",\"useragenttoken\":\"Google Chrome (0.x)\",\"userlocationname\":\"userlocationname\",\"year\":2023,\"ztunnelversion\":\"ZTUNNEL_1_0\",\"zpa_app_seg_name\":\"ZPA_test_app_segment\"}}", "reason": "File Attachment Cautioned", "timezone": "GMT", "type": [ @@ -1736,7 +1736,7 @@ "request": { "bytes": 1300, "method": "invalid", - "referrer": "www.example.com" + "referrer": "www.example.com/search?filters=guid%3A%2240-en-dia%22+lang%3A%22en%22&form=S00&q=how+to+use+remote+desktop+to+connect+to+a+windows+10+pc" }, "response": { "bytes": 10500 @@ -2003,8 +2003,7 @@ "redirect_policy_name": "FWD_Rule_1", "referer": { "host": "www.example.com for http://www.example.com/index.html", - "name": "www.example.com", - "path": "/search?filters=guid:\"40-en-dia\" lang:\"en\"&form=S00&q=how to use remote desktop to connect to a windows 10 pc" + "name": "www.example.com/search?filters=guid%3A%2240-en-dia%22+lang%3A%22en%22&form=S00&q=how+to+use+remote+desktop+to+connect+to+a+windows+10+pc" }, "request": { "header_size": 300, @@ -2081,8 +2080,7 @@ "category_method": "Database A", "class": "Bandwidth Loss", "filter_rule_label": "URL_Filtering_2", - "name": "www.example.com:443", - "path": "/params?Id=1&ts=2006-01-02T15:04:05Z07:00&user=65792&version=10.0.19041.1266" + "name": "www.example.com:443" }, "user_agent": { "class": "Firefox", diff --git a/packages/zscaler_zia/data_stream/web/elasticsearch/ingest_pipeline/default.yml b/packages/zscaler_zia/data_stream/web/elasticsearch/ingest_pipeline/default.yml index 581075c78fb..8f56e1dc39e 100644 --- a/packages/zscaler_zia/data_stream/web/elasticsearch/ingest_pipeline/default.yml +++ b/packages/zscaler_zia/data_stream/web/elasticsearch/ingest_pipeline/default.yml @@ -902,16 +902,17 @@ processors: tag: urldecode_refererhost target_field: zscaler_zia.web.referer.host ignore_missing: true - - urldecode: - field: json.refererurl - tag: urldecode_refererurl - target_field: zscaler_zia.web.referer.name - ignore_missing: true - - urldecode: - field: json.refererpath - tag: urldecode_refererpath - target_field: zscaler_zia.web.referer.path - ignore_missing: true + - script: + description: Decode referer + tag: decode_b64referer + lang: painless + if: ctx.json?.b64referer != null && ctx.json.b64referer != '' + source: ctx.json.referer = ctx.json.b64referer.decodeBase64(); + - set: + field: zscaler_zia.web.referer.name + tag: set_web_referer_name_from_referer + copy_from: json.referer + ignore_empty_value: true - set: field: http.request.referrer tag: set_http_request_referrer_from_web_referer_name @@ -1332,21 +1333,22 @@ processors: value: '{{{zscaler_zia.web.url.filter_rule_label}}}' allow_duplicates: false if: ctx.zscaler_zia?.web?.url?.filter_rule_label != null - - urldecode: - field: json.eurl - target_field: json.eurl - tag: urldecode_eurl - ignore_missing: true + - script: + description: Decode url + tag: decode_b64url + lang: painless + if: ctx.json?.b64url != null && ctx.json.b64url != '' + source: ctx.json.url = ctx.json.b64url.decodeBase64(); - set: field: zscaler_zia.web.url.name tag: set_web_url_name - copy_from: json.eurl + copy_from: json.url ignore_empty_value: true - script: description: Build URI for parsing. tag: Build URI for parsing lang: painless - if: ctx.network?.protocol != null && ctx.json?.eurl != null + if: ctx.network?.protocol != null && ctx.json?.url != null params: valid_protocols: - http @@ -1355,9 +1357,9 @@ processors: source: | // Remap network.protocol to a valid value, if necessary. if (params.valid_protocols.contains(ctx.network.protocol)) { - ctx.json['url'] = ctx.network.protocol + '://' + ctx.json.eurl; + ctx.json['url'] = ctx.network.protocol + '://' + ctx.json.url; } else { - ctx.json['url'] = params.default_protocol + '://' + ctx.json.eurl; + ctx.json['url'] = params.default_protocol + '://' + ctx.json.url; } - uri_parts: field: json.url @@ -1365,8 +1367,8 @@ processors: on_failure: - set: field: url.original - value: '{{{json.eurl}}}' - if: ctx.json?.eurl != null && ctx.json.eurl != '' + value: '{{{json.url}}}' + if: ctx.json?.url != null && ctx.json.url != '' - set: field: url.full value: '{{{url.original}}}' @@ -1380,11 +1382,6 @@ processors: - append: field: error.message value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' - - urldecode: - field: json.urlpath - target_field: zscaler_zia.web.url.path - tag: urldecode_urlpath - ignore_missing: true - rename: field: json.useragentclass tag: rename_useragentclass diff --git a/packages/zscaler_zia/data_stream/web/fields/fields.yml b/packages/zscaler_zia/data_stream/web/fields/fields.yml index e6d76b2b3b8..50d3e086fe3 100644 --- a/packages/zscaler_zia/data_stream/web/fields/fields.yml +++ b/packages/zscaler_zia/data_stream/web/fields/fields.yml @@ -406,9 +406,6 @@ - name: name type: keyword description: The HTTP referer URL. - - name: path - type: keyword - description: The HTTP referer path. - name: request type: group fields: @@ -592,9 +589,6 @@ - name: name type: keyword description: The destination URL. - - name: path - type: keyword - description: The destination URL path. - name: user_agent type: group fields: diff --git a/packages/zscaler_zia/data_stream/web/sample_event.json b/packages/zscaler_zia/data_stream/web/sample_event.json index 45990d0664c..9d9b704d325 100644 --- a/packages/zscaler_zia/data_stream/web/sample_event.json +++ b/packages/zscaler_zia/data_stream/web/sample_event.json @@ -1,24 +1,24 @@ { "@timestamp": "2021-12-31T08:08:08.000Z", "agent": { - "ephemeral_id": "f97a3a33-4778-4f8f-a98e-42c9d5997a3b", - "id": "3afa5c75-c6e3-41a8-a773-ff6a6356f7b1", - "name": "docker-fleet-agent", + "ephemeral_id": "afba03f3-0a10-4b56-998d-0fd4aa4e71ea", + "id": "6df0d50c-dafe-4616-9ed1-10519bfbda98", + "name": "elastic-agent-86843", "type": "filebeat", - "version": "8.14.3" + "version": "8.15.0" }, "data_stream": { "dataset": "zscaler_zia.web", - "namespace": "98923", + "namespace": "65605", "type": "logs" }, "ecs": { "version": "8.11.0" }, "elastic_agent": { - "id": "3afa5c75-c6e3-41a8-a773-ff6a6356f7b1", + "id": "6df0d50c-dafe-4616-9ed1-10519bfbda98", "snapshot": false, - "version": "8.14.3" + "version": "8.15.0" }, "event": { "action": "blocked", @@ -27,7 +27,7 @@ "web" ], "dataset": "zscaler_zia.web", - "ingested": "2024-07-17T11:07:47Z", + "ingested": "2024-08-22T16:05:37Z", "kind": "event", "timezone": "UTC", "type": [ diff --git a/packages/zscaler_zia/docs/README.md b/packages/zscaler_zia/docs/README.md index f1b760dfd08..1696f01addf 100644 --- a/packages/zscaler_zia/docs/README.md +++ b/packages/zscaler_zia/docs/README.md @@ -214,14 +214,14 @@ Sample Response: ![Escape feed setup image](../img/escape_feed.png?raw=true) See: [Zscaler Vendor documentation](https://help.zscaler.com/zia/nss-feed-output-format-web-logs) -Zscaler Web Log response format (v7): +Zscaler Web Log response format (v8): ``` -\{"sourcetype":"zscalernss-web","event":\{"time":"%s{time}","cloudname":"%s{cloudname}","host":"%s{ehost}","serverip":"%s{sip}","external_devid":"%s{external_devid}","devicemodel":"%s{devicemodel}","action":"%s{action}","recordid":"%d{recordid}","reason":"%s{reason}","threatseverity":"%s{threatseverity}","tz":"%s{tz}","filesubtype":"%s{filesubtype}","upload_filesubtype":"%s{upload_filesubtype}","sha256":"%s{sha256}","bamd5":"%s{bamd5}","filename":"%s{efilename}","upload_filename":"%s{eupload_filename}","filetype":"%s{filetype}","devicename":"%s{edevicename}","devicehostname":"%s{devicehostname}","deviceostype":"%s{deviceostype}","deviceosversion":"%s{deviceosversion}","devicetype":"%s{devicetype}","reqsize":"%d{reqsize}","reqmethod":"%s{reqmethod}","refererurl":"%s{ereferer}","refererpath":"%s{erefererpath}","respsize":"%d{respsize}","respcode":"%s{respcode}","reqversion":"%s{reqversion}","respversion":"%s{respversion}","proto":"%s{proto}","company":"%s{company}","dlpmd5":"%s{dlpmd5}","apprulelabel":"%s{eapprulelabel}","dlprulename":"%s{dlprulename}","rulelabel":"%s{erulelabel}","urlfilterrulelabel":"%s{eurlfilterrulelabel}","cltip":"%s{cip}","cltintip":"%s{cintip}","cltsourceport":"%d{clt_sport}","threatname":"%s{threatname}","cltsslcipher":"%s{clientsslcipher}","clttlsversion":"%s{clienttlsversion}","eurl":"%s{eurl}","urlpath":"%s{eurlpath}","useragent":"%s{eua}","login":"%s{elogin}","applayerprotocol":"%s{alpnprotocol}","appclass":"%s{appclass}","appname":"%s{appname}","appriskscore":"%s{app_risk_score}","bandwidthclassname":"%s{bwclassname}","bandwidthrulename":"%s{bwrulename}","bwthrottle":"%s{bwthrottle}","bypassedtime":"%s{bypassed_etime}","bypassedtraffic":"%d{bypassed_traffic}","cltsslsessreuse":"%s{clientsslsessreuse}","cltpubip":"%s{cpubip}","cltsslfailcount":"%d{cltsslfailcount}","cltsslfailreason":"%s{cltsslfailreason}","contenttype":"%s{contenttype}","datacentercity":"%s{datacentercity}","datacentercountry":"%s{datacentercountry}","datacenter":"%s{datacenter}","day":"%s{day}","day_of_month":"%02d{dd}","dept":"%s{dept}","deviceappversion":"%s{deviceappversion}","deviceowner":"%s{deviceowner}","df_hosthead":"%s{df_hosthead}","df_hostname":"%s{df_hostname}","dlpdicthitcount":"%s{dlpdicthitcount}","dlpdict":"%s{dlpdict}","dlpeng":"%s{dlpeng}","dlpidentifier":"%d{dlpidentifier}","eedone":"%s{eedone}","epochtime":"%d{epochtime}","fileclass":"%s{fileclass}","flow_type":"%s{flow_type}","forward_gateway_ip":"%s{fwd_gw_ip}","forward_gateway_name":"%s{fwd_gw_name}","forward_type":"%s{fwd_type}","hour":"%02d{hh}","is_sslexpiredca":"%s{is_sslexpiredca}","is_sslselfsigned":"%s{is_sslselfsigned}","is_ssluntrustedca":"%s{is_ssluntrustedca}","keyprotectiontype":"%s{keyprotectiontype}","location":"%s{elocation}","department":"%s{edepartment}","malwarecategory":"%s{malwarecat}","malwareclass":"%s{malwareclass}","minute":"%02d{mm}","mobappcategory":"%s{mobappcat}","mobappname":"%s{emobappname}","mobdevtype":"%s{mobdevtype}","module":"%s{module}","month":"%s{mon}","month_of_year":"%02d{mth}","nssserviceip":"%s{nsssvcip}","oapprulelabel":"%s{oapprulelabel}","obwclassname":"%s{obwclassname}","ocip":"%d{ocip}","ocpubip":"%d{ocpubip}","odevicehostname":"%s{odevicehostname}","odevicename":"%s{odevicename}","odeviceowner":"%s{odeviceowner}","odlpdict":"%s{odlpdict}","odlpeng":"%s{odlpeng}","odlprulename":"%s{odlprulename}","ofwd_gw_name":"%s{ofwd_gw_name}","ologin":"%s{ologin}","ordr_rulename":"%s{ordr_rulename}","ourlcat":"%s{ourlcat}","ourlfilterrulelabel":"%s{ourlfilterrulelabel}","ozpa_app_seg_name":"%s{ozpa_app_seg_name}","externalsslpolicyreason":"%s{externalspr}","productversion":"%s{productversion}","rdr_rulename":"%s{rdr_rulename}","refererhost":"%s{erefererhost}","reqheadersize":"%d{reqhdrsize}","reqdatasize":"%d{reqdatasize}","respheadersize":"%d{resphdrsize}","respdatasize":"%d{respdatasize}","riskscore":"%d{riskscore}","ruletype":"%s{ruletype}","second":"%02d{ss}","srvcertchainvalpass":"%s{srvcertchainvalpass}","srvcertvalidationtype":"%s{srvcertvalidationtype}","srvcertvalidityperiod":"%s{srvcertvalidityperiod}","srvsslcipher":"%s{srvsslcipher}","serversslsessreuse":"%s{serversslsessreuse}","srvocspresult":"%s{srvocspresult}","srvtlsversion":"%s{srvtlsversion}","srvwildcardcert":"%s{srvwildcardcert}","ssldecrypted":"%s{ssldecrypted}","throttlereqsize":"%d{throttlereqsize}","throttlerespsize":"%d{throttlerespsize}","totalsize":"%d{totalsize}","trafficredirectmethod":"%s{trafficredirectmethod}","unscannabletype":"%s{unscannabletype}","upload_doctypename":"%s{upload_doctypename}","upload_fileclass":"%s{upload_fileclass}","upload_filetype":"%s{upload_filetype}","urlcatmethod":"%s{urlcatmethod}","urlsubcat":"%s{urlcat}","urlsupercat":"%s{urlsupercat}","urlclass":"%s{urlclass}","useragentclass":"%s{uaclass}","useragenttoken":"%s{ua_token}","userlocationname":"%s{euserlocationname}","year":"%04d{yyyy}","ztunnelversion":"%s{ztunnelversion}","zpa_app_seg_name":"%s{zpa_app_seg_name}"\}\} +\{"version":"v8","sourcetype":"zscalernss-web","event":\{"time":"%s{time}","cloudname":"%s{cloudname}","host":"%s{ehost}","serverip":"%s{sip}","external_devid":"%s{external_devid}","devicemodel":"%s{devicemodel}","action":"%s{action}","recordid":"%d{recordid}","reason":"%s{reason}","threatseverity":"%s{threatseverity}","tz":"%s{tz}","filesubtype":"%s{filesubtype}","upload_filesubtype":"%s{upload_filesubtype}","sha256":"%s{sha256}","bamd5":"%s{bamd5}","filename":"%s{efilename}","upload_filename":"%s{eupload_filename}","filetype":"%s{filetype}","devicename":"%s{edevicename}","devicehostname":"%s{devicehostname}","deviceostype":"%s{deviceostype}","deviceosversion":"%s{deviceosversion}","devicetype":"%s{devicetype}","reqsize":"%d{reqsize}","reqmethod":"%s{reqmethod}","b64referer":"%s{b64referer}","respsize":"%d{respsize}","respcode":"%s{respcode}","reqversion":"%s{reqversion}","respversion":"%s{respversion}","proto":"%s{proto}","company":"%s{company}","dlpmd5":"%s{dlpmd5}","apprulelabel":"%s{eapprulelabel}","dlprulename":"%s{dlprulename}","rulelabel":"%s{erulelabel}","urlfilterrulelabel":"%s{eurlfilterrulelabel}","cltip":"%s{cip}","cltintip":"%s{cintip}","cltsourceport":"%d{clt_sport}","threatname":"%s{threatname}","cltsslcipher":"%s{clientsslcipher}","clttlsversion":"%s{clienttlsversion}","b64url":"%s{b64url}","useragent":"%s{eua}","login":"%s{elogin}","applayerprotocol":"%s{alpnprotocol}","appclass":"%s{appclass}","appname":"%s{appname}","appriskscore":"%s{app_risk_score}","bandwidthclassname":"%s{bwclassname}","bandwidthrulename":"%s{bwrulename}","bwthrottle":"%s{bwthrottle}","bypassedtime":"%s{bypassed_etime}","bypassedtraffic":"%d{bypassed_traffic}","cltsslsessreuse":"%s{clientsslsessreuse}","cltpubip":"%s{cpubip}","cltsslfailcount":"%d{cltsslfailcount}","cltsslfailreason":"%s{cltsslfailreason}","contenttype":"%s{contenttype}","datacentercity":"%s{datacentercity}","datacentercountry":"%s{datacentercountry}","datacenter":"%s{datacenter}","day":"%s{day}","day_of_month":"%02d{dd}","dept":"%s{dept}","deviceappversion":"%s{deviceappversion}","deviceowner":"%s{deviceowner}","df_hosthead":"%s{df_hosthead}","df_hostname":"%s{df_hostname}","dlpdicthitcount":"%s{dlpdicthitcount}","dlpdict":"%s{dlpdict}","dlpeng":"%s{dlpeng}","dlpidentifier":"%d{dlpidentifier}","eedone":"%s{eedone}","epochtime":"%d{epochtime}","fileclass":"%s{fileclass}","flow_type":"%s{flow_type}","forward_gateway_ip":"%s{fwd_gw_ip}","forward_gateway_name":"%s{fwd_gw_name}","forward_type":"%s{fwd_type}","hour":"%02d{hh}","is_sslexpiredca":"%s{is_sslexpiredca}","is_sslselfsigned":"%s{is_sslselfsigned}","is_ssluntrustedca":"%s{is_ssluntrustedca}","keyprotectiontype":"%s{keyprotectiontype}","location":"%s{elocation}","department":"%s{edepartment}","malwarecategory":"%s{malwarecat}","malwareclass":"%s{malwareclass}","minute":"%02d{mm}","mobappcategory":"%s{mobappcat}","mobappname":"%s{emobappname}","mobdevtype":"%s{mobdevtype}","module":"%s{module}","month":"%s{mon}","month_of_year":"%02d{mth}","nssserviceip":"%s{nsssvcip}","oapprulelabel":"%s{oapprulelabel}","obwclassname":"%s{obwclassname}","ocip":"%d{ocip}","ocpubip":"%d{ocpubip}","odevicehostname":"%s{odevicehostname}","odevicename":"%s{odevicename}","odeviceowner":"%s{odeviceowner}","odlpdict":"%s{odlpdict}","odlpeng":"%s{odlpeng}","odlprulename":"%s{odlprulename}","ofwd_gw_name":"%s{ofwd_gw_name}","ologin":"%s{ologin}","ordr_rulename":"%s{ordr_rulename}","ourlcat":"%s{ourlcat}","ourlfilterrulelabel":"%s{ourlfilterrulelabel}","ozpa_app_seg_name":"%s{ozpa_app_seg_name}","externalsslpolicyreason":"%s{externalspr}","productversion":"%s{productversion}","rdr_rulename":"%s{rdr_rulename}","refererhost":"%s{erefererhost}","reqheadersize":"%d{reqhdrsize}","reqdatasize":"%d{reqdatasize}","respheadersize":"%d{resphdrsize}","respdatasize":"%d{respdatasize}","riskscore":"%d{riskscore}","ruletype":"%s{ruletype}","second":"%02d{ss}","srvcertchainvalpass":"%s{srvcertchainvalpass}","srvcertvalidationtype":"%s{srvcertvalidationtype}","srvcertvalidityperiod":"%s{srvcertvalidityperiod}","srvsslcipher":"%s{srvsslcipher}","serversslsessreuse":"%s{serversslsessreuse}","srvocspresult":"%s{srvocspresult}","srvtlsversion":"%s{srvtlsversion}","srvwildcardcert":"%s{srvwildcardcert}","ssldecrypted":"%s{ssldecrypted}","throttlereqsize":"%d{throttlereqsize}","throttlerespsize":"%d{throttlerespsize}","totalsize":"%d{totalsize}","trafficredirectmethod":"%s{trafficredirectmethod}","unscannabletype":"%s{unscannabletype}","upload_doctypename":"%s{upload_doctypename}","upload_fileclass":"%s{upload_fileclass}","upload_filetype":"%s{upload_filetype}","urlcatmethod":"%s{urlcatmethod}","urlsubcat":"%s{urlcat}","urlsupercat":"%s{urlsupercat}","urlclass":"%s{urlclass}","useragentclass":"%s{uaclass}","useragenttoken":"%s{ua_token}","userlocationname":"%s{euserlocationname}","year":"%04d{yyyy}","ztunnelversion":"%s{ztunnelversion}","zpa_app_seg_name":"%s{zpa_app_seg_name}"\}\} ``` Sample Response: ```json -{"sourcetype":"zscalernss-web","event":{"time":"Mon Oct 16 22:55:48 2023","cloudname":"zscaler.net","host":"mail.google.com","serverip":"1.128.0.0","external_devid":"1234","devicemodel":"20L8S7WC08","action":"Allowed","recordid":123456789,"reason":"File Attachment Cautioned","threatseverity":"Critical (90–100)","tz":"GMT","filesubtype":"exe","upload_filesubtype":"rar","sha256":"81ec78bc8298568bb5ea66d3c2972b670d0f7459b6cdbbcaacce90ab417ab15c","bamd5":"196a3d797bfee07fe4596b69f4ce1141","filename":"nssfeed.txt","upload_filename":"nssfeed.exe","filetype":"RAR Files","devicename":"PC11NLPA%3A5F08D97BBF43257A8FB4BBF4061A38AE324EF734","devicehostname":"THINKPADSMITH","deviceostype":"iOS","deviceosversion":"Version 10.14.2 (Build 18C54)","devicetype":"Zscaler Client Connector","reqsize":1300,"reqmethod":"invalid","refererurl":"www.example.com","refererpath":"/search?filters=guid%3A%2240-en-dia%22+lang%3A%22en%22&form=S00&q=how+to+use+remote+desktop+to+connect+to+a+windows+10+pc","respsize":10500,"respcode":"100","reqversion":"1.1","respversion":"1","proto":"HTTP","company":"Zscaler","dlpmd5":"154f149b1443fbfa8c121d13e5c019a1","apprulelabel":"File_Sharing_1","dlprulename":"DLP_Rule_1","rulelabel":"URL_Filtering_1","urlfilterrulelabel":"URL_Filtering_2","cltip":"81.2.69.144","cltintip":"89.160.20.128","cltsourceport":12345,"threatname":"EICAR Test File","cltsslcipher":"SSL3_CK_RSA_NULL_MD5","clttlsversion":"SSL2","eurl":"www.trythisencodeurl.com/index","urlpath":"/params?Id=1&ts=2006-01-02T15%3A04%3A05Z07%3A00&user=65792&version=10.0.19041.1266","useragent":"Mozilla/5.0","login":"jdoe@safemarch.com","applayerprotocol":"FTP","appclass":"Administration","appname":"Adobe Connect","appriskscore":"1","bandwidthclassname":"Entertainment","bandwidthrulename":"Office 365","bwthrottle":"Yes","bypassedtime":"Mon Oct 16 22:55:48 2023","bypassedtraffic":"1","cltsslsessreuse":"Unknown","cltpubip":"175.16.199.0","cltsslfailcount":100,"cltsslfailreason":"Bad Record Mac","contenttype":"application/vnd_apple_keynote","datacentercity":"Sa","datacentercountry":"US","datacenter":"CA Client Node DC","day":"Mon","day_of_month":16,"dept":"Sales","deviceappversion":"1.128.0.0","deviceowner":"jsmith","df_hosthead":"df_hosthead","df_hostname":"df_hostname","dlpdicthitcount":"4","dlpdict":"Credit Cards","dlpeng":"HIPAA","dlpidentifier":6646484838839026000,"eedone":"Yes","epochtime":1578128400,"fileclass":"Active Web Contents","flow_type":"Direct","forward_gateway_ip":"10.1.1.1","forward_gateway_name":"FWD_1","forward_type":"Direct","hour":22,"is_sslexpiredca":"Yes","is_sslselfsigned":"Yes","is_ssluntrustedca":"Pass","keyprotectiontype":"HSM Protection","location":"Headquarters","department":"Department%5CrN%40me","malwarecategory":"Adware","malwareclass":"Sandbox","minute":55,"mobappcategory":"Communication","mobappname":"Amazon","mobdevtype":"Google Android","module":"Administration","month":"Oct","month_of_year":10,"nssserviceip":"192.168.2.200","oapprulelabel":"5300295980","obwclassname":"10831489","ocip":6200694987,"ocpubip":624054738,"odevicehostname":"2168890624","odevicename":"2175092224","odeviceowner":"10831489","odlpdict":"10831489","odlpeng":"4094304256","odlprulename":"6857275752","ofwd_gw_name":"8794487099","ologin":"4094304256","ordr_rulename":"3399565100","ourlcat":"7956407282","ourlfilterrulelabel":"4951704103","ozpa_app_seg_name":"7648246731","externalsslpolicyreason":"Blocked","productversion":"5.0.902.95524_04","rdr_rulename":"FWD_Rule_1","refererhost":"www.example.com for http://www.example.com/index.html","reqheadersize":300,"reqdatasize":1000,"respheadersize":500,"respdatasize":10000,"riskscore":10,"ruletype":"File Type Control","second":48,"srvcertchainvalpass":"Unknown","srvcertvalidationtype":"EV (Extended Validation)","srvcertvalidityperiod":"Short","srvsslcipher":"SSL3_CK_RSA_NULL_MD5","serversslsessreuse":"Unknown","srvocspresult":"Good","srvtlsversion":"SSL2","srvwildcardcert":"Unknown","ssldecrypted":"Yes","throttlereqsize":5,"throttlerespsize":7,"totalsize":11800,"trafficredirectmethod":"DNAT (Destination Translation)","unscannabletype":"Encrypted File","upload_doctypename":"Corporate Finance","upload_fileclass":"upload_fileclass","upload_filetype":"RAR Files","urlcatmethod":"Database A","urlsubcat":"Entertainment","urlsupercat":"Travel","urlclass":"Bandwidth Loss","useragentclass":"Firefox","useragenttoken":"Google Chrome (0.x)","userlocationname":"userlocationname","year":2023,"ztunnelversion":"ZTUNNEL_1_0","zpa_app_seg_name":"ZPA_test_app_segment"}} +{"version":"v8","sourcetype":"zscalernss-web","event":{"time":"Mon Oct 16 22:55:48 2023","cloudname":"zscaler.net","host":"mail.google.com","serverip":"1.128.0.0","external_devid":"1234","devicemodel":"20L8S7WC08","action":"Allowed","recordid":123456789,"reason":"File Attachment Cautioned","threatseverity":"Critical (90–100)","tz":"GMT","filesubtype":"exe","upload_filesubtype":"rar","sha256":"81ec78bc8298568bb5ea66d3c2972b670d0f7459b6cdbbcaacce90ab417ab15c","bamd5":"196a3d797bfee07fe4596b69f4ce1141","filename":"nssfeed.txt","upload_filename":"nssfeed.exe","filetype":"RAR Files","devicename":"PC11NLPA%3A5F08D97BBF43257A8FB4BBF4061A38AE324EF734","devicehostname":"THINKPADSMITH","deviceostype":"iOS","deviceosversion":"Version 10.14.2 (Build 18C54)","devicetype":"Zscaler Client Connector","reqsize":1300,"reqmethod":"invalid","b64referer":"d3d3LmV4YW1wbGUuY29tL3NlYXJjaD9maWx0ZXJzPWd1aWQ6IjQwLWVuLWRpYSIgbGFuZzoiZW4iJmZvcm09UzAwJnE9aG93IHRvIHVzZSByZW1vdGUgZGVza3RvcCB0byBjb25uZWN0IHRvIGEgd2luZG93cyAxMCBwYw==","respsize":10500,"respcode":"100","reqversion":"1.1","respversion":"1","proto":"HTTP","company":"Zscaler","dlpmd5":"154f149b1443fbfa8c121d13e5c019a1","apprulelabel":"File_Sharing_1","dlprulename":"DLP_Rule_1","rulelabel":"URL_Filtering_1","urlfilterrulelabel":"URL_Filtering_2","cltip":"81.2.69.144","cltintip":"89.160.20.128","cltsourceport":12345,"threatname":"EICAR Test File","cltsslcipher":"SSL3_CK_RSA_NULL_MD5","clttlsversion":"SSL2","b64url":"d3d3LnRyeXRoaXNlbmNvZGV1cmwuY29tL3BhcmFtcz9JZD0xJnRzPTIwMDYtMDEtMDJUMTU6MDQ6MDVaMDc6MDAmdXNlcj02NTc5MiZ2ZXJzaW9uPTEwLjAuMTkwNDEuMTI2Ng==","useragent":"Mozilla/5.0","login":"jdoe@safemarch.com","applayerprotocol":"FTP","appclass":"Administration","appname":"Adobe Connect","appriskscore":"1","bandwidthclassname":"Entertainment","bandwidthrulename":"Office 365","bwthrottle":"Yes","bypassedtime":"Mon Oct 16 22:55:48 2023","bypassedtraffic":"1","cltsslsessreuse":"Unknown","cltpubip":"175.16.199.0","cltsslfailcount":100,"cltsslfailreason":"Bad Record Mac","contenttype":"application/vnd_apple_keynote","datacentercity":"Sa","datacentercountry":"US","datacenter":"CA Client Node DC","day":"Mon","day_of_month":16,"dept":"Sales","deviceappversion":"1.128.0.0","deviceowner":"jsmith","df_hosthead":"df_hosthead","df_hostname":"df_hostname","dlpdicthitcount":"4","dlpdict":"Credit Cards","dlpeng":"HIPAA","dlpidentifier":6646484838839026000,"eedone":"Yes","epochtime":1578128400,"fileclass":"Active Web Contents","flow_type":"Direct","forward_gateway_ip":"10.1.1.1","forward_gateway_name":"FWD_1","forward_type":"Direct","hour":22,"is_sslexpiredca":"Yes","is_sslselfsigned":"Yes","is_ssluntrustedca":"Pass","keyprotectiontype":"HSM Protection","location":"Headquarters","department":"Department%5CrN%40me","malwarecategory":"Adware","malwareclass":"Sandbox","minute":55,"mobappcategory":"Communication","mobappname":"Amazon","mobdevtype":"Google Android","module":"Administration","month":"Oct","month_of_year":10,"nssserviceip":"192.168.2.200","oapprulelabel":"5300295980","obwclassname":"10831489","ocip":6200694987,"ocpubip":624054738,"odevicehostname":"2168890624","odevicename":"2175092224","odeviceowner":"10831489","odlpdict":"10831489","odlpeng":"4094304256","odlprulename":"6857275752","ofwd_gw_name":"8794487099","ologin":"4094304256","ordr_rulename":"3399565100","ourlcat":"7956407282","ourlfilterrulelabel":"4951704103","ozpa_app_seg_name":"7648246731","externalsslpolicyreason":"Blocked","productversion":"5.0.902.95524_04","rdr_rulename":"FWD_Rule_1","refererhost":"www.example.com for http://www.example.com/index.html","reqheadersize":300,"reqdatasize":1000,"respheadersize":500,"respdatasize":10000,"riskscore":10,"ruletype":"File Type Control","second":48,"srvcertchainvalpass":"Unknown","srvcertvalidationtype":"EV (Extended Validation)","srvcertvalidityperiod":"Short","srvsslcipher":"SSL3_CK_RSA_NULL_MD5","serversslsessreuse":"Unknown","srvocspresult":"Good","srvtlsversion":"SSL2","srvwildcardcert":"Unknown","ssldecrypted":"Yes","throttlereqsize":5,"throttlerespsize":7,"totalsize":11800,"trafficredirectmethod":"DNAT (Destination Translation)","unscannabletype":"Encrypted File","upload_doctypename":"Corporate Finance","upload_fileclass":"upload_fileclass","upload_filetype":"RAR Files","urlcatmethod":"Database A","urlsubcat":"Entertainment","urlsupercat":"Travel","urlclass":"Bandwidth Loss","useragentclass":"Firefox","useragenttoken":"Google Chrome (0.x)","userlocationname":"userlocationname","year":2023,"ztunnelversion":"ZTUNNEL_1_0","zpa_app_seg_name":"ZPA_test_app_segment"}} ``` ### Enabling the integration in Elastic: @@ -1572,24 +1572,24 @@ An example event for `web` looks as following: { "@timestamp": "2021-12-31T08:08:08.000Z", "agent": { - "ephemeral_id": "f97a3a33-4778-4f8f-a98e-42c9d5997a3b", - "id": "3afa5c75-c6e3-41a8-a773-ff6a6356f7b1", - "name": "docker-fleet-agent", + "ephemeral_id": "afba03f3-0a10-4b56-998d-0fd4aa4e71ea", + "id": "6df0d50c-dafe-4616-9ed1-10519bfbda98", + "name": "elastic-agent-86843", "type": "filebeat", - "version": "8.14.3" + "version": "8.15.0" }, "data_stream": { "dataset": "zscaler_zia.web", - "namespace": "98923", + "namespace": "65605", "type": "logs" }, "ecs": { "version": "8.11.0" }, "elastic_agent": { - "id": "3afa5c75-c6e3-41a8-a773-ff6a6356f7b1", + "id": "6df0d50c-dafe-4616-9ed1-10519bfbda98", "snapshot": false, - "version": "8.14.3" + "version": "8.15.0" }, "event": { "action": "blocked", @@ -1598,7 +1598,7 @@ An example event for `web` looks as following: "web" ], "dataset": "zscaler_zia.web", - "ingested": "2024-07-17T11:07:47Z", + "ingested": "2024-08-22T16:05:37Z", "kind": "event", "timezone": "UTC", "type": [ @@ -1794,7 +1794,6 @@ An example event for `web` looks as following: | zscaler_zia.web.redirect_policy_name | The name of the redirect/forwarding policy. | keyword | | zscaler_zia.web.referer.host | The hostname of the referer URL. | keyword | | zscaler_zia.web.referer.name | The HTTP referer URL. | keyword | -| zscaler_zia.web.referer.path | The HTTP referer path. | keyword | | zscaler_zia.web.request.header_size | The size of the HTTP request header in bytes. | long | | zscaler_zia.web.request.method | The HTTP request method. | keyword | | zscaler_zia.web.request.payload | The size of the HTTP request payload. | long | @@ -1840,7 +1839,6 @@ An example event for `web` looks as following: | zscaler_zia.web.url.class | The class of the destination URL. | keyword | | zscaler_zia.web.url.filter_rule_label | The name of the rule that was applied to the URL filter. | keyword | | zscaler_zia.web.url.name | The destination URL. | keyword | -| zscaler_zia.web.url.path | The destination URL path. | keyword | | zscaler_zia.web.user_agent.class | The user agent class. | keyword | | zscaler_zia.web.user_agent.name | The full user agent string for both known and unknown agents. | keyword | | zscaler_zia.web.user_agent.token | The user agent token. | keyword | diff --git a/packages/zscaler_zia/manifest.yml b/packages/zscaler_zia/manifest.yml index 0cce671077b..55441821d11 100644 --- a/packages/zscaler_zia/manifest.yml +++ b/packages/zscaler_zia/manifest.yml @@ -1,7 +1,7 @@ format_version: "3.0.3" name: zscaler_zia title: Zscaler Internet Access -version: "3.2.0" +version: "3.2.1" description: Collect logs from Zscaler Internet Access (ZIA) with Elastic Agent. type: integration categories: From 2ead0b8ea386087ff589d06cf4a4e994161b256c Mon Sep 17 00:00:00 2001 From: Krishna Chaitanya Reddy Burri Date: Fri, 23 Aug 2024 17:57:39 +0530 Subject: [PATCH 12/33] zscaler_zia: Sanitize unwanted characters in firewall. (#10858) Sanitize unwanted characters in firewall. Character `\u0000` appears unescaped in `oipcat` field inside firewall logs causing json parsing errors. ZIA documentation suggests adding `\"` to `Feed Escape Character` to escape special characters such as `\`. But this character still appear unescaped. --- packages/zscaler_zia/changelog.yml | 5 + .../_dev/test/pipeline/test-unicode.json | 7 + .../pipeline/test-unicode.json-expected.json | 242 ++++++++++++++++++ .../elasticsearch/ingest_pipeline/default.yml | 6 + packages/zscaler_zia/manifest.yml | 2 +- 5 files changed, 261 insertions(+), 1 deletion(-) create mode 100644 packages/zscaler_zia/data_stream/firewall/_dev/test/pipeline/test-unicode.json create mode 100644 packages/zscaler_zia/data_stream/firewall/_dev/test/pipeline/test-unicode.json-expected.json diff --git a/packages/zscaler_zia/changelog.yml b/packages/zscaler_zia/changelog.yml index 5ea25b8f197..62fd136766c 100644 --- a/packages/zscaler_zia/changelog.yml +++ b/packages/zscaler_zia/changelog.yml @@ -1,4 +1,9 @@ # newer versions go on top +- version: "3.2.2" + changes: + - description: Sanitize unwanted characters in firewall. + type: bugfix + link: https://github.com/elastic/integrations/pull/10858 - version: "3.2.1" changes: - description: In web v8, use b64 fields to avoid encoding issues. diff --git a/packages/zscaler_zia/data_stream/firewall/_dev/test/pipeline/test-unicode.json b/packages/zscaler_zia/data_stream/firewall/_dev/test/pipeline/test-unicode.json new file mode 100644 index 00000000000..192414df11e --- /dev/null +++ b/packages/zscaler_zia/data_stream/firewall/_dev/test/pipeline/test-unicode.json @@ -0,0 +1,7 @@ +{ + "events": [ + { + "message": "{\"sourcetype\":\"zscalernss-fw\",\"event\":{\"datetime\":\"Mon Oct 16 22:55:48 2023\",\"cltdomain\":\"www.example.com\",\"cdip\":\"2a02:cf40::\",\"outbytes\":\"10000\",\"cdport\":\"22\",\"destcountry\":\"USA\",\"devicemodel\":\"20L8S7WC08\",\"sdip\":\"67.43.156.0\",\"duration\":\"600\",\"sdport\":\"443\",\"tz\":\"GMT\",\"action\":\"Blocked\",\"devicehostname\":\"THINKPADSMITH\",\"recordid\":\"123456\",\"deviceosversion\":\"Version 10.14.2 (Build 18C54)\",\"devicename\":\"admin\",\"nwsvc\":\"HTTP\",\"deviceostype\":\"iOS\",\"ipsrulelabel\":\"Default IPS Rule\",\"nwapp\":\"Skype\",\"rdr_rulename\":\"FWD_Rule_1\",\"proto\":\"TCP\",\"rulelabel\":\"rule1\",\"dnatrulelabel\":\"DNAT_Rule_1\",\"srcipcountry\":\"United States\",\"rule\":\"Default_Firewall_Filtering_Rule\",\"ssip\":\"1.128.0.0\",\"inbytes\":\"10000\",\"ssport\":\"22\",\"csip\":\"0.0.0.0\",\"aggregate\":\"Yes\",\"csport\":\"25\",\"bypass_time\":\"Mon Oct 16 22:55:48 2023\",\"user\":\"jdoe%40safemarch.com\",\"datacentercountry\":\"US\",\"bypassed_session\":\"1\",\"day\":\"Mon\",\"datacentercity\":\"Sa\",\"department\":\"sales\",\"datacenter\":\"CA Client Node DC\",\"deviceappversion\":\"2.0.0.120\",\"day_of_month\":\"16\",\"avgduration\":\"600\",\"dept\":\"Sales\",\"eedone\":\"Yes\",\"deviceowner\":\"jsmith\",\"external_deviceid\":\"1234\",\"durationms\":\"600\",\"forward_gateway_name\":\"FWD_1\",\"epochtime\":\"1578128400\",\"ipcat\":\"Finance\",\"flow_type\":\"Direct\",\"location\":\"Headquarters\",\"hour\":\"22\",\"login\":\"jdo%40safemarch.com\",\"ips_custom_signature\":\"0\",\"month\":\"Oct\",\"locationname\":\"Headquarters\",\"dnat\":\"Yes\",\"minute\":\"55\",\"odevicename\":\"2175092224\",\"month_of_year\":\"10\",\"ofwd_gw_name\":\"8794487099\",\"ocsip\":\"9960223283\",\"oipcat\":\"CustomCategory-141\u0000known\u0000 \",\"odeviceowner\":\"10831489\",\"odnatlabel\":\"7956407282\",\"odevicehostname\":\"2168890624\",\"orulelabel\":\"624054738\",\"oipsrulelabel\":\"6200694987\",\"second\":\"48\",\"ordr_rulename\":\"3399565100\",\"stateful\":\"Yes\",\"ozpa_app_seg_name\":\"7648246731\",\"threatcat\":\"Botnet Callback\",\"numsessions\":\"5\",\"tsip\":\"89.160.20.128\",\"threat_name\":\"Linux.Backdoor.Tsunami\",\"year\":\"2023\",\"threatname\":\"Linux.Backdoor\",\"zpa_app_seg_name\":\"ZPA_test_app_segment\",\"tuntype\":\"L2 tunnel\",\"ztunnelversion\":\"ZTUNNEL_1_0\"}}" + } + ] +} \ No newline at end of file diff --git a/packages/zscaler_zia/data_stream/firewall/_dev/test/pipeline/test-unicode.json-expected.json b/packages/zscaler_zia/data_stream/firewall/_dev/test/pipeline/test-unicode.json-expected.json new file mode 100644 index 00000000000..e025fa4e048 --- /dev/null +++ b/packages/zscaler_zia/data_stream/firewall/_dev/test/pipeline/test-unicode.json-expected.json @@ -0,0 +1,242 @@ +{ + "expected": [ + { + "@timestamp": "2023-10-16T22:55:48.000Z", + "destination": { + "bytes": 10000, + "domain": "www.example.com", + "geo": { + "country_iso_code": "USA" + }, + "ip": [ + "2a02:cf40::", + "67.43.156.0" + ], + "port": [ + 22, + 443 + ] + }, + "device": { + "model": { + "identifier": "20L8S7WC08" + } + }, + "ecs": { + "version": "8.11.0" + }, + "event": { + "action": "blocked", + "category": [ + "network" + ], + "duration": 600000000, + "id": "123456", + "kind": "event", + "original": "{\"sourcetype\":\"zscalernss-fw\",\"event\":{\"datetime\":\"Mon Oct 16 22:55:48 2023\",\"cltdomain\":\"www.example.com\",\"cdip\":\"2a02:cf40::\",\"outbytes\":\"10000\",\"cdport\":\"22\",\"destcountry\":\"USA\",\"devicemodel\":\"20L8S7WC08\",\"sdip\":\"67.43.156.0\",\"duration\":\"600\",\"sdport\":\"443\",\"tz\":\"GMT\",\"action\":\"Blocked\",\"devicehostname\":\"THINKPADSMITH\",\"recordid\":\"123456\",\"deviceosversion\":\"Version 10.14.2 (Build 18C54)\",\"devicename\":\"admin\",\"nwsvc\":\"HTTP\",\"deviceostype\":\"iOS\",\"ipsrulelabel\":\"Default IPS Rule\",\"nwapp\":\"Skype\",\"rdr_rulename\":\"FWD_Rule_1\",\"proto\":\"TCP\",\"rulelabel\":\"rule1\",\"dnatrulelabel\":\"DNAT_Rule_1\",\"srcipcountry\":\"United States\",\"rule\":\"Default_Firewall_Filtering_Rule\",\"ssip\":\"1.128.0.0\",\"inbytes\":\"10000\",\"ssport\":\"22\",\"csip\":\"0.0.0.0\",\"aggregate\":\"Yes\",\"csport\":\"25\",\"bypass_time\":\"Mon Oct 16 22:55:48 2023\",\"user\":\"jdoe%40safemarch.com\",\"datacentercountry\":\"US\",\"bypassed_session\":\"1\",\"day\":\"Mon\",\"datacentercity\":\"Sa\",\"department\":\"sales\",\"datacenter\":\"CA Client Node DC\",\"deviceappversion\":\"2.0.0.120\",\"day_of_month\":\"16\",\"avgduration\":\"600\",\"dept\":\"Sales\",\"eedone\":\"Yes\",\"deviceowner\":\"jsmith\",\"external_deviceid\":\"1234\",\"durationms\":\"600\",\"forward_gateway_name\":\"FWD_1\",\"epochtime\":\"1578128400\",\"ipcat\":\"Finance\",\"flow_type\":\"Direct\",\"location\":\"Headquarters\",\"hour\":\"22\",\"login\":\"jdo%40safemarch.com\",\"ips_custom_signature\":\"0\",\"month\":\"Oct\",\"locationname\":\"Headquarters\",\"dnat\":\"Yes\",\"minute\":\"55\",\"odevicename\":\"2175092224\",\"month_of_year\":\"10\",\"ofwd_gw_name\":\"8794487099\",\"ocsip\":\"9960223283\",\"oipcat\":\"CustomCategory-141known \",\"odeviceowner\":\"10831489\",\"odnatlabel\":\"7956407282\",\"odevicehostname\":\"2168890624\",\"orulelabel\":\"624054738\",\"oipsrulelabel\":\"6200694987\",\"second\":\"48\",\"ordr_rulename\":\"3399565100\",\"stateful\":\"Yes\",\"ozpa_app_seg_name\":\"7648246731\",\"threatcat\":\"Botnet Callback\",\"numsessions\":\"5\",\"tsip\":\"89.160.20.128\",\"threat_name\":\"Linux.Backdoor.Tsunami\",\"year\":\"2023\",\"threatname\":\"Linux.Backdoor\",\"zpa_app_seg_name\":\"ZPA_test_app_segment\",\"tuntype\":\"L2 tunnel\",\"ztunnelversion\":\"ZTUNNEL_1_0\"}}", + "timezone": "GMT", + "type": [ + "denied" + ] + }, + "host": { + "hostname": "admin", + "name": "thinkpadsmith", + "os": { + "type": "ios", + "version": "Version 10.14.2 (Build 18C54)" + } + }, + "network": { + "application": "skype", + "bytes": 20000, + "protocol": "http", + "transport": "tcp" + }, + "observer": { + "product": "ZIA", + "type": "firewall", + "vendor": "Zscaler" + }, + "related": { + "hosts": [ + "thinkpadsmith", + "admin" + ], + "ip": [ + "2a02:cf40::", + "67.43.156.0", + "0.0.0.0", + "1.128.0.0", + "89.160.20.128" + ], + "user": [ + "jsmith", + "jdoe", + "jdoe@safemarch.com" + ] + }, + "rule": { + "name": [ + "Default IPS Rule", + "DNAT_Rule_1", + "FWD_Rule_1", + "Default_Firewall_Filtering_Rule", + "rule1" + ] + }, + "source": { + "bytes": 10000, + "geo": { + "country_name": "United States" + }, + "ip": [ + "0.0.0.0", + "1.128.0.0" + ], + "port": [ + 25, + 22 + ] + }, + "tags": [ + "preserve_original_event", + "preserve_duplicate_custom_fields" + ], + "user": { + "domain": "safemarch.com", + "email": "jdoe@safemarch.com", + "name": "jdoe" + }, + "zscaler_zia": { + "firewall": { + "action": "Blocked", + "aggregate": "Yes", + "bypassed": { + "session": "1", + "time": "2023-10-16T22:55:48.000Z" + }, + "bytes_in": 10000, + "client": { + "destination": { + "ip": "2a02:cf40::", + "port": 22 + }, + "domain": "www.example.com", + "source": { + "ip": "0.0.0.0", + "port": 25 + } + }, + "datacenter": { + "city": "Sa", + "country": "US", + "name": "CA Client Node DC" + }, + "day": "Mon", + "day_of_month": 16, + "department": "sales", + "dept": "Sales", + "destination": { + "country": "USA" + }, + "device": { + "appversion": "2.0.0.120", + "hostname": "THINKPADSMITH", + "model": "20L8S7WC08", + "name": "admin", + "os": { + "type": "iOS", + "version": "Version 10.14.2 (Build 18C54)" + }, + "owner": "jsmith" + }, + "duration": { + "average_duration": 600, + "milliseconds": 600, + "seconds": 600 + }, + "eedone": "Yes", + "epochtime": "2020-01-04T09:00:00.000Z", + "external_device_id": "1234", + "flow_type": "Direct", + "forward_gateway_name": "FWD_1", + "hour": 22, + "ip_category": "Finance", + "ip_protocol": "TCP", + "ips": { + "custom_signature": "0", + "rule_label": "Default IPS Rule" + }, + "location": "Headquarters", + "location_name": "Headquarters", + "login": "jdo@safemarch.com", + "minutes": 55, + "month": "Oct", + "month_of_year": 10, + "nat": "Yes", + "nat_rule_label": "DNAT_Rule_1", + "network": { + "application": "Skype", + "service": "HTTP" + }, + "obfuscated": { + "client_source_ip": "9960223283", + "device": { + "name": "2175092224", + "owner": "10831489" + }, + "forward_gateway_name": "8794487099", + "host_name": "2168890624", + "ip": { + "category": "CustomCategory-141known " + }, + "ips_rule_label": "6200694987", + "nat_label": "7956407282", + "redirect_policy_name": "3399565100", + "rule_label": "624054738", + "zpa_app_segment": "7648246731" + }, + "out_bytes": 10000, + "record": { + "id": "123456" + }, + "redirect_policy_name": "FWD_Rule_1", + "rule": "Default_Firewall_Filtering_Rule", + "rule_label": "rule1", + "second": 48, + "server": { + "destination": { + "ip": "67.43.156.0", + "port": 443 + }, + "source": { + "ip": "1.128.0.0", + "port": 22 + } + }, + "session": { + "count": 5 + }, + "source_ip_country": "United States", + "stateful": "Yes", + "threat": { + "category": "Botnet Callback", + "name": "Linux.Backdoor" + }, + "threat_name": "Linux.Backdoor.Tsunami", + "time": "2023-10-16T22:55:48.000Z", + "timezone": "GMT", + "tunnel": { + "ip": "89.160.20.128", + "type": "L2 tunnel" + }, + "user": "jdoe@safemarch.com", + "year": 2023, + "z_tunnel_version": "ZTUNNEL_1_0", + "zpa_app_segment": "ZPA_test_app_segment" + } + } + } + ] +} \ No newline at end of file diff --git a/packages/zscaler_zia/data_stream/firewall/elasticsearch/ingest_pipeline/default.yml b/packages/zscaler_zia/data_stream/firewall/elasticsearch/ingest_pipeline/default.yml index a97998c0d36..fd4d1efacff 100644 --- a/packages/zscaler_zia/data_stream/firewall/elasticsearch/ingest_pipeline/default.yml +++ b/packages/zscaler_zia/data_stream/firewall/elasticsearch/ingest_pipeline/default.yml @@ -18,6 +18,12 @@ processors: ignore_missing: true description: The `message` field is no longer required if the document has an `event.original` field. if: ctx.event?.original != null + - gsub: + field: event.original + tag: gsub_replace_null_unicode + pattern: "[\u0000]" + replacement: "" + if: ctx.event?.original != null - json: field: event.original tag: json_event_original diff --git a/packages/zscaler_zia/manifest.yml b/packages/zscaler_zia/manifest.yml index 55441821d11..b02b0e9795d 100644 --- a/packages/zscaler_zia/manifest.yml +++ b/packages/zscaler_zia/manifest.yml @@ -1,7 +1,7 @@ format_version: "3.0.3" name: zscaler_zia title: Zscaler Internet Access -version: "3.2.1" +version: "3.2.2" description: Collect logs from Zscaler Internet Access (ZIA) with Elastic Agent. type: integration categories: From c408f13614c4fd53bad798400a8ec44dcb7c0cab Mon Sep 17 00:00:00 2001 From: anupratharamachandran <167313807+anupratharamachandran@users.noreply.github.com> Date: Fri, 23 Aug 2024 18:00:43 +0530 Subject: [PATCH 13/33] New Integration Gigamon (#10268) New Integration Gigamon --- .github/CODEOWNERS | 1 + packages/gigamon/_dev/build/build.yml | 3 + packages/gigamon/_dev/build/docs/README.md | 103 + .../_dev/deploy/docker/docker-compose.yml | 11 + .../docker/sample_logs/ami-http_endpoint.log | 1 + packages/gigamon/changelog.yml | 6 + .../ami/_dev/test/pipeline/test-ami.json | 2206 +++++++++++++ .../test/pipeline/test-ami.json-expected.json | 2915 +++++++++++++++++ .../_dev/test/pipeline/test-common-config.yml | 3 + .../test/system/test-http-endpoint-config.yml | 11 + .../ami/agent/stream/http_endpoint.yml.hbs | 30 + .../elasticsearch/ingest_pipeline/default.yml | 866 +++++ .../data_stream/ami/fields/base-fields.yml | 20 + .../gigamon/data_stream/ami/fields/beats.yml | 9 + .../gigamon/data_stream/ami/fields/fields.yml | 263 ++ packages/gigamon/data_stream/ami/manifest.yml | 63 + .../gigamon/data_stream/ami/sample_event.json | 85 + packages/gigamon/docs/README.md | 331 ++ .../gigamon/img/App_Insights_Dashboard.png | Bin 0 -> 238172 bytes .../img/Identifier_Analysis_Dashboard.png | Bin 0 -> 226599 bytes packages/gigamon/img/M21-31_Dashboard.png | Bin 0 -> 188198 bytes .../gigamon/img/PCI_Compliance_Dashboard.png | Bin 0 -> 201191 bytes .../gigamon/img/Rogue_Activity_Dashboard.png | Bin 0 -> 199511 bytes .../img/Security_Posture_Dashboard.png | Bin 0 -> 185672 bytes .../img/Suspicious_Activity_Dashboard.png | Bin 0 -> 176395 bytes .../gigamon/img/Troubleshooting_Dashboard.png | Bin 0 -> 209970 bytes packages/gigamon/img/gigamon-logo.svg | 1 + ...-032aab7b-87b2-444c-8c86-956d092598fb.json | 2690 +++++++++++++++ ...-3523b534-7525-44a7-808f-6a9f3235a67d.json | 1475 +++++++++ ...-46931a21-a33e-43af-aadf-da8d6446b9cc.json | 1268 +++++++ ...-4ae2cd9a-3eef-42c6-a02c-731ce74d94ac.json | 2050 ++++++++++++ ...-62291e9e-8b75-4f23-9121-79959da99b3b.json | 765 +++++ ...-64ca15b3-8327-4940-8b35-0e75ab3a73c6.json | 484 +++ ...-855a64dc-1a72-403f-932b-a5b848378f7e.json | 1483 +++++++++ ...-8f772203-64e0-4d1b-bb0e-14fa57b4b754.json | 682 ++++ ...-d6cecabb-f026-4823-914d-b4d61fd61787.json | 1212 +++++++ ...-d866be49-47b2-4306-a2be-d5cb6b6ab9c8.json | 2771 ++++++++++++++++ ...-e192a946-8287-450a-a8f0-e23de9f95dae.json | 1785 ++++++++++ ...-e733c64e-6ea9-4dd6-a8ca-3914274598f3.json | 1342 ++++++++ packages/gigamon/manifest.yml | 68 + packages/gigamon/validation.yml | 4 + 41 files changed, 25007 insertions(+) create mode 100644 packages/gigamon/_dev/build/build.yml create mode 100644 packages/gigamon/_dev/build/docs/README.md create mode 100644 packages/gigamon/_dev/deploy/docker/docker-compose.yml create mode 100644 packages/gigamon/_dev/deploy/docker/sample_logs/ami-http_endpoint.log create mode 100644 packages/gigamon/changelog.yml create mode 100644 packages/gigamon/data_stream/ami/_dev/test/pipeline/test-ami.json create mode 100644 packages/gigamon/data_stream/ami/_dev/test/pipeline/test-ami.json-expected.json create mode 100644 packages/gigamon/data_stream/ami/_dev/test/pipeline/test-common-config.yml create mode 100644 packages/gigamon/data_stream/ami/_dev/test/system/test-http-endpoint-config.yml create mode 100644 packages/gigamon/data_stream/ami/agent/stream/http_endpoint.yml.hbs create mode 100644 packages/gigamon/data_stream/ami/elasticsearch/ingest_pipeline/default.yml create mode 100644 packages/gigamon/data_stream/ami/fields/base-fields.yml create mode 100644 packages/gigamon/data_stream/ami/fields/beats.yml create mode 100644 packages/gigamon/data_stream/ami/fields/fields.yml create mode 100644 packages/gigamon/data_stream/ami/manifest.yml create mode 100644 packages/gigamon/data_stream/ami/sample_event.json create mode 100644 packages/gigamon/docs/README.md create mode 100644 packages/gigamon/img/App_Insights_Dashboard.png create mode 100644 packages/gigamon/img/Identifier_Analysis_Dashboard.png create mode 100644 packages/gigamon/img/M21-31_Dashboard.png create mode 100644 packages/gigamon/img/PCI_Compliance_Dashboard.png create mode 100644 packages/gigamon/img/Rogue_Activity_Dashboard.png create mode 100644 packages/gigamon/img/Security_Posture_Dashboard.png create mode 100644 packages/gigamon/img/Suspicious_Activity_Dashboard.png create mode 100644 packages/gigamon/img/Troubleshooting_Dashboard.png create mode 100644 packages/gigamon/img/gigamon-logo.svg create mode 100644 packages/gigamon/kibana/dashboard/gigamon-032aab7b-87b2-444c-8c86-956d092598fb.json create mode 100644 packages/gigamon/kibana/dashboard/gigamon-3523b534-7525-44a7-808f-6a9f3235a67d.json create mode 100644 packages/gigamon/kibana/dashboard/gigamon-46931a21-a33e-43af-aadf-da8d6446b9cc.json create mode 100644 packages/gigamon/kibana/dashboard/gigamon-4ae2cd9a-3eef-42c6-a02c-731ce74d94ac.json create mode 100644 packages/gigamon/kibana/dashboard/gigamon-62291e9e-8b75-4f23-9121-79959da99b3b.json create mode 100644 packages/gigamon/kibana/dashboard/gigamon-64ca15b3-8327-4940-8b35-0e75ab3a73c6.json create mode 100644 packages/gigamon/kibana/dashboard/gigamon-855a64dc-1a72-403f-932b-a5b848378f7e.json create mode 100644 packages/gigamon/kibana/dashboard/gigamon-8f772203-64e0-4d1b-bb0e-14fa57b4b754.json create mode 100644 packages/gigamon/kibana/dashboard/gigamon-d6cecabb-f026-4823-914d-b4d61fd61787.json create mode 100644 packages/gigamon/kibana/dashboard/gigamon-d866be49-47b2-4306-a2be-d5cb6b6ab9c8.json create mode 100644 packages/gigamon/kibana/dashboard/gigamon-e192a946-8287-450a-a8f0-e23de9f95dae.json create mode 100644 packages/gigamon/kibana/dashboard/gigamon-e733c64e-6ea9-4dd6-a8ca-3914274598f3.json create mode 100644 packages/gigamon/manifest.yml create mode 100644 packages/gigamon/validation.yml diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 66fe666b74b..75ede3f363c 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -206,6 +206,7 @@ /packages/gcp/data_stream/vpcflow @elastic/security-service-integrations /packages/gcp_metrics @elastic/obs-ds-hosted-services /packages/gcp_pubsub @elastic/security-service-integrations +/packages/gigamon @elastic/security-service-integrations /packages/github @elastic/security-service-integrations /packages/gitlab @elastic/security-service-integrations /packages/golang @elastic/obs-infraobs-integrations diff --git a/packages/gigamon/_dev/build/build.yml b/packages/gigamon/_dev/build/build.yml new file mode 100644 index 00000000000..2bfcfc223b0 --- /dev/null +++ b/packages/gigamon/_dev/build/build.yml @@ -0,0 +1,3 @@ +dependencies: + ecs: + reference: "git@v8.11.0" diff --git a/packages/gigamon/_dev/build/docs/README.md b/packages/gigamon/_dev/build/docs/README.md new file mode 100644 index 00000000000..0fe4c667884 --- /dev/null +++ b/packages/gigamon/_dev/build/docs/README.md @@ -0,0 +1,103 @@ +# Gigamon Integration + +Gigamon leverages deep packet inspection (DPI) to extract over 7500+ app related metadata attributes from the raw packets in the network. Gigamon Elastic Integration delivers intelligent security analytics and threat intelligence across the enterprise, and you get a single solution for attack detection, threat visibility, proactive hunting, and threat response. + +## Data streams + +The Gigamon integration currently provides a single +data stream: `ami`. + +## Requirements + +- Elastic Agent must be installed. +- You can install only one Elastic Agent per host. + +### Installing and managing an Elastic Agent: + +You have a few options for installing and managing an Elastic Agent: + +### Install a Fleet-managed Elastic Agent (recommended): + +With this approach, you install Elastic Agent and use Fleet in Kibana to +define, configure, and manage your agents in a central location. We recommend +using Fleet management because it makes the management and upgrade of your +agents considerably easier. + +### Install Elastic Agent in standalone mode (advanced users): + +With this approach, you install Elastic Agent and manually configure the agent +locally on the system where it is installed. You are responsible for managing +and upgrading the agents. This approach is reserved for advanced users only. + +### Install Elastic Agent in a containerized environment: + +You can run Elastic Agent inside a container, either with Fleet Server or +standalone. Docker images for all versions of Elastic Agent are available +from the Elastic Docker registry, and we provide deployment manifests for +running on Kubernetes. + +There are some minimum requirements for running Elastic Agent and for more +information, refer to the link [here](https://www.elastic.co/guide/en/fleet/current/elastic-agent-installation.html). + +The minimum **kibana.version** required is **8.12.0**. + + +### Setup + +## Gigamon setup + +To export data to Gigamon Elastic Integration. + +1. From Fabric Manager, Deploy an AMX node with traffic acquisition method as "Customer Orchestrated Source". + +2. Create an Monitoring Session with (Rep In ----> AMX ---> Rep Out). + + + +To add AMX application: + +1. Drag and drop Application Metadata Exporter from APPLICATIONS to the graphical workspace. The Application quick view appears. +2. Enter the Alias for the application. Enter a port number for the Cloud Tool Ingestor Port. Then, click the Add button for Cloud Tool Exports. +3. You can export your Application Metadata Intelligence output to cloud tools. Enter the following details for the Cloud tool export in the Application quick view: + + -**Alias**:Enter the alias name for the cloud tool export. + + -**Cloud Tool**:Select the Cloud tool from the drop-down menu.If it is not available click "others". + + -**Endpoint**:Give the URL of the cloud tool instance with the correct port number in which the port is listening. + + -**Headers**:Enter the secret header and enable secure keys + + -**Enable Export**:Enable the box to export the Application Metadata Intelligence output in JSON format. + + -**Zip**:Enable the box to compress the output file. + + -**Interval**:The time interval (in seconds) in which the data should be uploaded periodically. The recommended minimum time interval is 10 seconds and the maximum time interval is 30 minutes. + + -**Parallel Writer**:Specifies the number of simultaneous JSON exports done. + + -**Export Retries**:The number of times the application tries to export the entries to Cloud Tool. The recommended minimum value is 4 and the maximum is 10. + + -**Maximum Entries**:The number of JSON entries in a file. The maximum number of allowed entries is 5000 and the minimum is 10, however 1000 is the default value. + + -**Labels**:Click Add. Enter the following details: + + o Enter the Key . + o Enter the Value. + + +4. Click Deploy to deploy the monitoring session. The Select nodes to deploy the Monitoring Session dialog box appears. Select the GigaVUE V Series Node for which you wish to deploy the monitoring session. +5. After selecting the V Series Node, select the interfaces for the REPs deployed in the monitoring session from the drop-down menu. Then, click Deploy. + +## Logs Reference + +### ami + +This is the `ami` dataset. + +#### Example + +{{event "ami"}} + +{{fields "ami"}} + diff --git a/packages/gigamon/_dev/deploy/docker/docker-compose.yml b/packages/gigamon/_dev/deploy/docker/docker-compose.yml new file mode 100644 index 00000000000..5a3470e540c --- /dev/null +++ b/packages/gigamon/_dev/deploy/docker/docker-compose.yml @@ -0,0 +1,11 @@ +version: "2.3" +services: + gigamon-ami-http-endpoint: + image: docker.elastic.co/observability/stream:v0.15.0 + volumes: + - ./sample_logs:/sample_logs:ro + environment: + - STREAM_PROTOCOL=webhook + - STREAM_ADDR=http://elastic-agent:9559/ + - STREAM_WEBHOOK_HEADER=Content-Type=application/ndjson + command: log --start-signal=SIGHUP --delay=5s /sample_logs/ami-http_endpoint.log diff --git a/packages/gigamon/_dev/deploy/docker/sample_logs/ami-http_endpoint.log b/packages/gigamon/_dev/deploy/docker/sample_logs/ami-http_endpoint.log new file mode 100644 index 00000000000..77e5e18f757 --- /dev/null +++ b/packages/gigamon/_dev/deploy/docker/sample_logs/ami-http_endpoint.log @@ -0,0 +1 @@ + [ {"ts":"Thu May 16 15:25:25 2023","vendor":"Gigamon","version":"6.5.00","generator":"gs_apps_appInst16_423722da-33ec-1556-b24b-cda2e74a53f6","dst_mac":"01:00:5e:00:00:fb","src_mac":"00:50:56:8d:89:41","src_ip":"10.114.82.101","dst_ip":"224.0.0.251","protocol":"17","src_port":"5353","dst_port":"5353","device_inbound_interface":"0","dns_qdcount":"4","dns_transaction_id":"0","dns_name":"pnstrex-83816.local","dns_name":"101.82.114.10.in-addr.arpa","dns_name":"pnstrex-83816.local","dns_name":"f.7.5.2.e.7.6.2.4.c.1.c.4.c.6.1.0.8.0.2.1.0.0.0.0.0.0.0.b.a.c.f. ip6.arpa","dns_name":"pnstrex-83816.local","dns_name":"a.b.2.b.9.6.c.2.3.9.3.d.6.2.6.a.0.8.0.2.1.0.0.0.0.0.0.0.b.a.c.f. i:p6.arpa","dns_host":"pnstrex-83816.local","dns_host":"pnstrex-83816.local","dns_host":"pnstrex-83816.local","dns_host_addr":"10.114.82.101","dns_host_type":"A","dns_host_type":"PTR","dns_host_type":"AAAA","dns_host_type":"PTR","dns_host_type":"AAAA","dns_host_type":"PTR","dns_ttl":"120","dns_ttl":"120","dns_ttl":"120","dns_ttl":"120","dns_ttl":"120","dns_ttl":"120","dns_flags":"0","dns_opcode":"0","dns_class":"1","dns_class":"1","dns_class":"1","dns_class":"1","dns_host_class":"1","dns_host_class":"1","dns_host_class":"1","dns_host_class":"1","dns_host_class":"1","dns_host_class":"1","dns_host_raw":"706e73747265782d38333831362e6c6f63616c","dns_host_raw":"706e73747265782d38333831362e6c6f63616c","dns_host_raw":"706e73747265782d38333831362e6c6f63616c","dns_query":"a.b.2.b.9.6.c.2.3.9.3.d.6.2.6.a.0.8.0.2.1.0.0.0.0.0.0.0.b.a.c.f. ip6.arpa","dns_query":"pnstrex-83816.local","dns_query":"101.82.114.10.in-addr.arpa","dns_query":"f.7.5.2.e.7.6.2.4.c.1.c.4.c.6.1.0.8.0.2.1.0.0.0.0.0.0.0.b.a.c.f. ip6.arpa","dns_query_type":"255","dns_query_type":"255","dns_query_type":"255","dns_query_type":"255","app_id":"32","ip_version":"4","src_bytes":"337","dst_bytes":"0","src_packets":"1","dst_packets":"0","start_time":"2023:12:13 15:25:11.181","end_time":"2023:12:13 15:25:11.181","intf_name":"0","egress_intf_id":"0","sys_up_time_first":"3497355275","sys_up_time_last":"3497355275","end_reason":"1","app_name":"dns","id":"679408454713072647","seq_num":"656"},{"ts":"Wed Dec 13 15:25:26 2023","vendor":"Gigamon","version":"6.5.00","generator":"gs_apps_appInst16_423722da-33ec-1556-b24b-cda2e74a53f6","dst_mac":"01:00:5e:00:00:fb","src_mac":"00:1d:ac:45:34:00","src_ip":"10.115.80.208","dst_ip":"224.0.0.251","protocol":"17","src_port":"5353","dst_port":"5353","device_inbound_interface":"0","dns_qdcount":"2","dns_qdcount":"2","dns_ancount":"4","dns_transaction_id":"0","dns_transaction_id":"0","dns_name":"_tcn_eqaHCT._tcp.local","dns_name":"_tcn_eqaHCT._tcp.local","dns_name":"_tcn_eqaHCT._tcp.local","dns_name":"_tcn_eqaHCT._tcp.local","dns_host":"TA400_6008-f89668c8452a._tcn_eqaHCT._tcp.local","dns_host":"HCT_6011-181e00a30af6._tcn_eqaHCT._tcp.local","dns_host":"TA400_6008-f89668c8452a._tcn_eqaHCT._tcp.local","dns_host":"HCT_6011-181e00a30af6._tcn_eqaHCT._tcp.local","dns_host_type":"PTR","dns_host_type":"PTR","dns_host_type":"PTR","dns_host_type":"PTR","dns_ttl":"4199","dns_ttl":"4500","dns_ttl":"4198","dns_ttl":"4499","dns_flags":"0","dns_flags":"0","dns_opcode":"0","dns_opcode":"0","dns_class":"1","dns_class":"1","dns_host_class":"1","dns_host_class":"1","dns_host_class":"1","dns_host_class":"1","dns_host_raw":"54413430305f363030382d6638393636386338343532612e5f74636e5f6571614843542e5f7463702e6c6f63616c","dns_host_raw":"4843545f363031312d3138316530306133306166362e5f74636e5f6571614843542e5f7463702e6c6f63616c","dns_host_raw":"54413430305f363030382d6638393636386338343532612e5f74636e5f6571614843542e5f7463702e6c6f63616c","dns_host_raw":"4843545f363031312d3138316530306133306166362e5f74636e5f6571614843542e5f7463702e6c6f63616c","dns_query":"_tcn_eqaHCT._tcp.local","dns_query":"HCT_6011-181e00a30af6._tcn_eqaHCT._tcp.local","dns_query":"_tcn_eqaHCT._tcp.local","dns_query":"HCT_6011-181e00a30af6._tcn_eqaHCT._tcp.local","dns_query_type":"16","dns_query_type":"16","dns_query_type":"16","dns_query_type":"16","app_id":"32","ip_version":"4","src_bytes":"324","dst_bytes":"0","src_packets":"2","dst_packets":"0","start_time":"2023:12:13 15:25:10.797","end_time":"2023:12:13 15:25:11.789","intf_name":"0","egress_intf_id":"0","sys_up_time_first":"1349806091","sys_up_time_last":"813197323","end_reason":"1","app_name":"dns","id":"679408454713073671","seq_num":"657"},{"ts":"Wed Dec 13 15:25:27 2023","vendor":"Gigamon","version":"6.5.00","generator":"gs_apps_appInst16_423722da-33ec-1556-b24b-cda2e74a53f6","dns_qdcount":"2","dns_qdcount":"0","dns_qdcount":"0","dns_qdcount":"2","dns_qdcount":"2","dns_qdcount":"2","dns_qdcount":"0","dns_qdcount":"0","dns_qdcount":"0","dns_ancount":"9","dns_transaction_id":"0","dns_transaction_id":"0","dns_transaction_id":"0","dns_transaction_id":"0","dns_transaction_id":"0","dns_transaction_id":"0","dns_transaction_id":"0","dns_transaction_id":"0","dns_transaction_id":"0","dns_name":"systest-virtual-machine-557151.local","dns_name":"7.7.f.2.5.b.4.f.6.1.a.2.0.1.1.d.0.0.0.0.0.0.0.0.0.0.0.0.0.8.e.f. ip6.arpa","dns_name":"systest-virtual-machine-557151.local","dns_name":"167.84.115.10.in-addr.arpa","dns_name":"systest-virtual-machine-557151.local","dns_name":"systest-virtual-machine-557152.local","dns_name":"167.84.115.10.in-addr.arpa","dns_name":"systest-virtual-machine-557152.local","dns_name":"167.84.115.10.in-addr.arpa","dns_name":"systest-virtual-machine-557152.local","dns_name":"167.84.115.10.in-addr.arpa","dns_name":"167.84.115.10.in-addr.arpa","dns_name":"systest-virtual-machine-557152.local","dns_name":"167.84.115.10.in-addr.arpa","dns_name":"systest-virtual-machine-557152.local","dns_name":"167.84.115.10.in-addr.arpa","dns_name":"systest-virtual-machine-557152.local","dns_host":"systest-virtual-machine-557151.local","dns_host":"systest-virtual-machine-557151.local","dns_host":"systest-virtual-machine-557152.local","dns_host":"systest-virtual-machine-557152.local","dns_host":"systest-virtual-machine-557152.local","dns_host":"systest-virtual-machine-557152.local","dns_host":"systest-virtual-machine-557152.local","dns_host":"systest-virtual-machine-557152.local","dns_host_addr":"10.115.84.167","dns_host_addr":"10.115.84.167","dns_host_addr":"10.115.84.167","dns_host_addr":"10.115.84.167","dns_host_addr":"10.115.84.167","dns_host_addr":"10.115.84.167","dns_host_addr":"10.115.84.167","dns_host_addr":"10.115.84.167","dns_host_type":"AAAA","dns_host_type":"PTR","dns_host_type":"A","dns_host_type":"PTR","dns_host_type":"A","dns_host_type":"A","dns_host_type":"PTR","dns_host_type":"A","dns_host_type":"PTR","dns_host_type":"A","dns_host_type":"PTR","dns_host_type":"PTR","dns_host_type":"A","dns_host_type":"PTR","dns_host_type":"A","dns_host_type":"PTR","dns_host_type":"A","dns_reply_code":"0","dns_reply_code":"0","dns_reply_code":"0","dns_reply_code":"0","dns_reply_code":"0","dns_response_time":"0.000116","dns_response_time":"0.200689","dns_response_time":"1.306583","dns_response_time":"3.412379","dns_ttl":"120","dns_ttl":"120","dns_ttl":"120","dns_ttl":"0","dns_ttl":"0","dns_ttl":"120","dns_ttl":"120","dns_ttl":"120","dns_ttl":"120","dns_ttl":"120","dns_ttl":"120","dns_ttl":"120","dns_ttl":"120","dns_ttl":"120","dns_ttl":"120","dns_ttl":"120","dns_ttl":"120","dns_flags":"0","dns_flags":"33792","dns_flags":"33792","dns_flags":"0","dns_flags":"0","dns_flags":"0","dns_flags":"33792","dns_flags":"33792","dns_flags":"33792","dns_opcode":"0","dns_opcode":"0","dns_opcode":"0","dns_opcode":"0","dns_opcode":""} , {"ts":"Thu May 16 11:23:13 2024","vendor":"Gigamon","version":"6.6.00","generator":"gs_apps_appInst7_42375229-0c78-3d69-007d-f772de272c51","dst_mac":"00:50:56:b7:64:0c","src_mac":"00:50:56:b7:1b:b0","src_ip":"192.118.1.30","dst_ip":"192.118.1.1","protocol":"17","src_port":"68","dst_port":"67","device_inbound_interface":"0","app_id":"29","ip_version":"4","src_bytes":"337","dst_bytes":"342","src_packets":"1","dst_packets":"1","start_time":"2024:03:23 11:23:13.360","end_time":"2024:03:23 11:23:13.360","intf_name":"0","egress_intf_id":"0","sys_up_time_first":"944648320","sys_up_time_last":"944648320","end_reason":"2","app_name":"dhcp","id":"2661760802582691841","seq_num":"8701"} , {"ts":"Thu May 16 06:27:07 2024","vendor":"Gigamon","version":"6.6.00","generator":"gs_apps_appInst7_42375229-0c78-3d69-007d-f772de272c51","dst_mac":"00:50:56:a0:fe:6a","src_mac":"5c:31:92:40:19:7f","src_ip":"10.116.2.100","dst_ip":"10.115.82.138","protocol":"6","src_port":"80","dst_port":"60922","device_inbound_interface":"0","app_id":"4968","ip_version":"4","src_bytes":"1514","dst_bytes":"0","src_packets":"1","dst_packets":"0","start_time":"2024:05:16 06:27:07.344","end_time":"2024:05:16 06:27:07.344","intf_name":"0","egress_intf_id":"0","sys_up_time_first":"1297515008","sys_up_time_last":"1297515008","end_reason":"5","app_name":"Unknown tcp","id":"2662004089650413569","seq_num":"10977963"} , {"ts":"Thu May 16 06:27:07 2024","vendor":"Gigamon","version":"6.6.00","generator":"gs_apps_appInst7_42375229-0c78-3d69-007d-f772de272c51","dst_mac":"00:50:56:a0:fe:6a","src_mac":"5c:31:92:40:19:7f","src_ip":"10.116.2.100","dst_ip":"10.115.82.138","protocol":"6","src_port":"80","dst_port":"60922","device_inbound_interface":"0","app_id":"4968","ip_version":"4","src_bytes":"1514","dst_bytes":"0","src_packets":"1","dst_packets":"0","start_time":"2024:05:16 06:27:07.344","end_time":"2024:05:16 06:27:07.344","intf_name":"0","egress_intf_id":"0","sys_up_time_first":"1297515008","sys_up_time_last":"1297515008","end_reason":"5","app_name":"Unknown tcp","id":"2662004089665093633","seq_num":"10977963"} , {"ts":"Thu May 16 04:24:46 2024","vendor":"Gigamon","version":"6.6.00","generator":"gs_apps_appInst0_42375229-0c78-3d69-007d-f772de272c51","dst_mac":"0c:c4:7a:f8:0d:c4","src_mac":"00:50:56:9f:7f:ff","src_ip":"10.115.83.4","dst_ip":"10.115.81.118","protocol":"6","src_port":"58194","dst_port":"443","device_inbound_interface":"0","app_id":"68","ip_version":"4","src_bytes":"8591","dst_bytes":"62421","src_packets":"49","dst_packets":"48","start_time":"2024:03:18 04:24:25.232","end_time":"2024:03:18 04:24:32.176","intf_name":"0","egress_intf_id":"0","sys_up_time_first":"487520192","sys_up_time_last":"487527136","end_reason":"1","app_name":"https","id":"11038398651553546241","seq_num":"584615","eventType":"2"} , { "ts": "Thu May 16 10:58:39 2024", "vendor": "Gigamon", "version": "2.7.0", "generator": "gs_apps_FmAuto-App_Intelligence-appmetadata-465de222-d147-4001-8516-c56f29bdcfcb_ec22ba36-c257-93a4-bd84-91126b667cbc", "dst_mac": "02:01:93:9c:99:4b", "src_mac": "02:01:93:9c:98:37", "src_ip": "10.1.0.2", "dst_ip": "11.1.0.2", "protocol": "6", "src_port": "34028", "dst_port": "443", "ssl_certif_md5": "100000003d0aeba0db3af776145c3f9b2941b795", "ssl_common_name": "www.spirent.com", "ssl_issuer": "www.spirent.com", "ssl_validity_not_before": "2018-08-21 15:41:02", "ssl_validity_not_after": "2028-08-18 15:41:02", "ssl_serial_number": "0090ad88e8aefe748b", "ssl_handshake_type": "1", "ssl_organization_name": "Spirent", "ssl_request_size": "1791", "ssl_cipher_suite_id": "156", "ssl_cipher_suite_list": "009c00ff", "ssl_certif_sha1": "14000000dc8804aad47a9fecf23495e33c4a6f6aaa01aa44", "ssl_content_type": "22", "ssl_protocol_version": "771", "ssl_client_hello_extension_type": "13", "ssl_server_hello_extension_type": "65281", "ssl_certificate_dn_subject": "C=US,ST=California,L=San Jose,O=,OU=,CN=www.spi rent.com", "ssl_certificate_subject_cn": "www.spirent.com", "ssl_certificate_subject_l": "San Jose", "ssl_certificate_subject_st": "California", "ssl_certificate_subject_o": "Spirent", "ssl_certificate_subject_ou": "AppSec", "ssl_certificate_subject_c": "US", "ssl_certificate_dn_issuer": "C=US,ST=California,L=San Jose,O=,OU=,CN=www.spi rent.com", "ssl_certificate_issuer_cn": "www.spirent.com", "ssl_certificate_issuer_l": "San Jose", "ssl_certificate_issuer_st": "California", "ssl_certificate_issuer_o": "Spirent", "ssl_certificate_issuer_ou": "AppSec", "ssl_certificate_issuer_c": "US", "ssl_client_hello_extension_len": "32", "ssl_server_hello_extension_len": "1", "ssl_nb_compression_methods": "1", "ssl_compression_method": "0", "ssl_ext_sig_algorithms_len": "30", "ssl_ext_sig_algorithm_scheme": "1537", "ssl_ext_sig_algorithm_hash": "6", "ssl_ext_sig_algorithm_sig": "2", "ssl_certificate_subject_key_algo_oid": "1.2.840.113549.1.1.1", "ssl_certificate_subject_key_size": "74", "ssl_cert_extension_oid": "2.5.29.14", "ssl_cert_ext_authority_key_id": "c8d57206ca0eee1b026e53d66668e947a156026a", "ssl_cert_ext_subject_key_id": "c8d57206ca0eee1b026e53d66668e947a156026a", "ssl_fingerprint_ja3": "b92a3c873c2139b5ee5fa0a03023b6ce", "ssl_fingerprint_ja3s": "ccd5709d4a9027ec272e98b9924c36f7", "ssl_index": "1", "ssl_session_id": "a87bfd1ed4d7b8f415bb1e0d3981b172714a4dcb6e481ec27b463570df6b7b74", "ssl_declassify_override": "0", "ssl_signalization_override": "0", "app_id": "68", "ip_version": "4", "tcp_flags": "2", "src_packets": "131", "dst_packets": "153", "start_time": "2023:03:09 10:57:00.797", "end_time": "2023:03:09 10:57:01.797", "end_reason": "2", "app_name": "https", "src_bytes": "29560", "dst_bytes": "63026", "id": "2325896706092000771", "seq_num": "64754890"} ] diff --git a/packages/gigamon/changelog.yml b/packages/gigamon/changelog.yml new file mode 100644 index 00000000000..8725ed53796 --- /dev/null +++ b/packages/gigamon/changelog.yml @@ -0,0 +1,6 @@ +# newer versions go on top +- version: "0.1.0" + changes: + - description: Initial release + type: enhancement + link: https://github.com/elastic/integrations/pull/10268 diff --git a/packages/gigamon/data_stream/ami/_dev/test/pipeline/test-ami.json b/packages/gigamon/data_stream/ami/_dev/test/pipeline/test-ami.json new file mode 100644 index 00000000000..48937b9bcba --- /dev/null +++ b/packages/gigamon/data_stream/ami/_dev/test/pipeline/test-ami.json @@ -0,0 +1,2206 @@ +{ + "events": [ + { + "json": { + "ts": "Wed Dec 13 15:25:25 2023", + "vendor": "Gigamon", + "version": "6.5.00", + "generator": "gs_apps_appInst16_423722da-33ec-1556-b24b-cda2e74a53f6", + "dst_mac": "01:00:5e:00:00:fb", + "src_mac": "00:50:56:8d:89:41", + "src_ip": "10.114.82.101", + "dst_ip": "224.0.0.251", + "protocol": "17", + "src_port": "5353", + "dst_port": "5353", + "device_inbound_interface": "0", + "dns_qdcount": "4", + "dns_transaction_id": "0", + "dns_name": "a.b.2.b.9.6.c.2.3.9.3.d.6.2.6.a.0.8.0.2.1.0.0.0.0.0.0.0.b.a.c.f. ip6.arpa", + "dns_host": "pnstrex-83816.local", + "dns_host_addr": "10.114.82.101", + "dns_host_type": "PTR", + "dns_ttl": "120", + "dns_flags": "0", + "dns_opcode": "0", + "dns_class": "1", + "dns_host_class": "1", + "dns_host_raw": "706e73747265782d38333831362e6c6f63616c", + "dns_query": "f.7.5.2.e.7.6.2.4.c.1.c.4.c.6.1.0.8.0.2.1.0.0.0.0.0.0.0.b.a.c.f. ip6.arpa", + "dns_query_type": "255", + "app_id": "32", + "ip_version": "4", + "src_bytes": "337", + "dst_bytes": "0", + "src_packets": "1", + "dst_packets": "0", + "start_time": "2023:12:13 15:25:11.181", + "end_time": "2023:12:13 15:25:11.181", + "intf_name": "0", + "egress_intf_id": "0", + "sys_up_time_first": "3497355275", + "sys_up_time_last": "3497355275", + "end_reason": "1", + "app_name": "dns", + "id": "679408454713072647", + "seq_num": "656" + } + }, + { + "json": { + "ts": "Wed Dec 13 15:25:26 2023", + "vendor": "Gigamon", + "version": "6.5.00", + "generator": "gs_apps_appInst16_423722da-33ec-1556-b24b-cda2e74a53f6", + "dst_mac": "01:00:5e:00:00:fb", + "src_mac": "00:1d:ac:45:34:00", + "src_ip": "10.115.80.208", + "dst_ip": "224.0.0.251", + "protocol": "17", + "src_port": "5353", + "dst_port": "5353", + "device_inbound_interface": "0", + "dns_qdcount": "2", + "dns_ancount": "4", + "dns_transaction_id": "0", + "dns_name": "_tcn_eqaHCT._tcp.local", + "dns_host": "HCT_6011-181e00a30af6._tcn_eqaHCT._tcp.local", + "dns_host_type": "PTR", + "dns_ttl": "4499", + "dns_flags": "0", + "dns_opcode": "0", + "dns_class": "1", + "dns_host_class": "1", + "dns_host_raw": "4843545f363031312d3138316530306133306166362e5f74636e5f6571614843542e5f7463702e6c6f63616c", + "dns_query": "HCT_6011-181e00a30af6._tcn_eqaHCT._tcp.local", + "dns_query_type": "16", + "app_id": "32", + "ip_version": "4", + "src_bytes": "324", + "dst_bytes": "0", + "src_packets": "2", + "dst_packets": "0", + "start_time": "2023:12:13 15:25:10.797", + "end_time": "2023:12:13 15:25:11.789", + "intf_name": "0", + "egress_intf_id": "0", + "sys_up_time_first": "1349806091", + "sys_up_time_last": "813197323", + "end_reason": "1", + "app_name": "dns", + "id": "679408454713073671", + "seq_num": "657" + } + }, + { + "json": { + "ts": "Wed Dec 13 15:25:27 2023", + "vendor": "Gigamon", + "version": "6.5.00", + "generator": "gs_apps_appInst16_423722da-33ec-1556-b24b-cda2e74a53f6", + "dst_mac": "01:00:5e:00:00:fb", + "src_mac": "00:50:56:94:62:db", + "src_ip": "10.115.85.229", + "dst_ip": "224.0.0.251", + "protocol": "17", + "src_port": "5353", + "dst_port": "5353", + "device_inbound_interface": "0", + "dns_qdcount": "3", + "dns_transaction_id": "0", + "dns_name": "b.d.2.6.4.9.e.f.f.f.6.5.0.5.2.0.0.8.0.2.1.0.0.0.0.0.0.0.b.a.c.f. ip6.arpa", + "dns_host": "linux-49197.local", + "dns_host_addr": "10.115.85.229", + "dns_host_type": "PTR", + "dns_ttl": "120", + "dns_flags": "0", + "dns_opcode": "0", + "dns_class": "1", + "dns_host_class": "1", + "dns_host_raw": "6c696e75782d34393139372e6c6f63616c", + "dns_query": "229.85.115.10.in-addr.arpa", + "dns_query_type": "255", + "app_id": "32", + "ip_version": "4", + "src_bytes": "255", + "dst_bytes": "0", + "src_packets": "1", + "dst_packets": "0", + "start_time": "2023:12:13 15:25:12.781", + "end_time": "2023:12:13 15:25:12.781", + "intf_name": "0", + "egress_intf_id": "0", + "sys_up_time_first": "276588555", + "sys_up_time_last": "276588555", + "end_reason": "1", + "app_name": "dns", + "id": "679408454713074695", + "seq_num": "658" + } + }, + { + "json": { + "ts": "Wed Dec 13 15:25:27 2023", + "vendor": "Gigamon", + "version": "6.5.00", + "generator": "gs_apps_appInst16_423722da-33ec-1556-b24b-cda2e74a53f6", + "dns_qdcount": "0", + "dns_ancount": "9", + "dns_transaction_id": "0", + "dns_name": "systest-virtual-machine-557152.local", + "dns_host": "systest-virtual-machine-557152.local", + "dns_host_addr": "10.115.84.167", + "dns_host_type": "A", + "dns_reply_code": "0", + "dns_response_time": "3.412379", + "dns_ttl": "120", + "dns_flags": "33792", + "dns_opcode": "" + } + }, + { + "json": { + "ts": "Wed Dec 13 15:25:27 2023", + "vendor": "Gigamon", + "version": "6.5.00", + "generator": "gs_apps_appInst16_423722da-33ec-1556-b24b-cda2e74a53f6", + "dns_qdcount": "2", + "dns_ancount": "400", + "dns_transaction_id": "0", + "dns_name": "_" + } + }, + { + "json": { + "ts": "Wed Dec 13 15:25:28 2023", + "vendor": "Gigamon", + "version": "6.5.00", + "generator": "gs_apps_appInst16_423722da-33ec-1556-b24b-cda2e74a53f6", + "dns_qdcount": "0", + "dns_ancount": "27", + "dns_transaction_id": "0", + "dns_name": "systest-virtual-machine-552999.local" + } + }, + { + "json": { + "ts": "Wed Dec 13 15:25:28 2023", + "vendor": "Gigamon", + "version": "6.5.00", + "generator": "gs_apps_appInst16_423722da-33ec-1556-b24b-cda2e74a53f6", + "dns_qdcount": "1", + "dns_ancount": "19", + "dns_transaction_id": "0", + "dns_name": "_tcn_ABCD99995._tcp.local", + "dns_host": "gigamon_8b6c6e-3513b246ab72._tcn_ABCD99995._tcp.local", + "dns_host_type": "PTR" + } + }, + { + "json": { + "ts": "Wed Dec 13 15:25:29 2023", + "vendor": "Gigamon", + "version": "6.5.00", + "generator": "gs_apps_appInst16_423722da-33ec-1556-b24b-cda2e74a53f6", + "dst_mac": "01:00:5e:00:00:fb", + "src_mac": "00:50:56:94:72:27", + "src_ip": "10.115.85.224", + "dst_ip": "224.0.0.251", + "protocol": "17", + "src_port": "5353", + "dst_port": "5353", + "device_inbound_interface": "0", + "dns_qdcount": "3", + "dns_transaction_id": "0", + "dns_name": "7.2.2.7.4.9.e.f.f.f.6.5.0.5.2.0.0.8.0.2.1.0.0.0.0.0.0.0.b.a.c.f. ip6.arpa", + "dns_host": "linux-69816.local", + "dns_host_addr": "10.115.85.224", + "dns_host_type": "PTR", + "dns_ttl": "120", + "dns_flags": "0", + "dns_opcode": "0", + "dns_class": "1", + "dns_host_class": "1", + "dns_host_raw": "6c696e75782d36393831362e6c6f63616c", + "dns_query": "224.85.115.10.in-addr.arpa", + "dns_query_type": "255", + "app_id": "32", + "ip_version": "4", + "src_bytes": "255", + "dst_bytes": "0", + "src_packets": "1", + "dst_packets": "0", + "start_time": "2023:12:13 15:25:15.037", + "end_time": "2023:12:13 15:25:15.037", + "intf_name": "0", + "egress_intf_id": "0", + "sys_up_time_first": "3766773771", + "sys_up_time_last": "3766773771", + "end_reason": "1", + "app_name": "dns", + "id": "679408454713079815", + "seq_num": "663" + } + }, + { + "json": { + "ts": "Wed Dec 13 15:25:30 2023", + "vendor": "Gigamon", + "version": "6.5.00", + "generator": "gs_apps_appInst16_423722da-33ec-1556-b24b-cda2e74a53f6", + "dst_mac": "01:00:5e:00:00:fb", + "src_mac": "00:50:56:8d:d8:f7", + "src_ip": "10.114.82.167", + "dst_ip": "224.0.0.251", + "protocol": "17", + "src_port": "5353", + "dst_port": "5353", + "device_inbound_interface": "0", + "dns_qdcount": "4", + "dns_transaction_id": "0", + "dns_name": "0.7.1.8.d.2.7.5.f.d.5.3.8.6.c.6.0.8.0.2.1.0.0.0.0.0.0.0.b.a.c.f. ip6.arpa", + "dns_host": "pnstrex-85507.local", + "dns_host_addr": "10.114.82.167", + "dns_host_type": "PTR", + "dns_ttl": "120", + "dns_flags": "0", + "dns_opcode": "0", + "dns_class": "1", + "dns_host_class": "1", + "dns_host_raw": "706e73747265782d38353530372e6c6f63616c", + "dns_query": "7.7.4.f.0.1.0.d.e.7.9.c.d.f.6.a.0.8.0.2.1.0.0.0.0.0.0.0.b.a.c.f. ip6.arpa", + "dns_query_type": "255", + "app_id": "32", + "ip_version": "4", + "src_bytes": "337", + "dst_bytes": "0", + "src_packets": "1", + "dst_packets": "0", + "start_time": "2023:12:13 15:25:15.901", + "end_time": "2023:12:13 15:25:15.901", + "intf_name": "0", + "egress_intf_id": "0", + "sys_up_time_first": "1082681355", + "sys_up_time_last": "1082681355", + "end_reason": "1", + "app_name": "dns", + "id": "679408454713080839", + "seq_num": "664" + } + }, + { + "json": { + "ts": "Wed Dec 13 15:25:30 2023", + "vendor": "Gigamon", + "version": "6.5.00", + "generator": "gs_apps_appInst16_423722da-33ec-1556-b24b-cda2e74a53f6", + "dst_mac": "01:00:5e:00:00:fb", + "src_mac": "00:50:56:9c:74:4e", + "src_ip": "10.114.83.205", + "dst_ip": "224.0.0.251", + "protocol": "17", + "src_port": "5353", + "dst_port": "5353", + "device_inbound_interface": "0", + "dns_qdcount": "4", + "dns_transaction_id": "0", + "dns_name": "3.d.9.2.5.4.0.b.9.1.8.8.2.1.0.a.0.8.0.2.1.0.0.0.0.0.0.0.b.a.c.f. ip6.arpa", + "dns_host": "pnstrex-61351.local", + "dns_host_addr": "10.114.83.205", + "dns_host_type": "PTR", + "dns_ttl": "120", + "dns_flags": "0", + "dns_opcode": "0", + "dns_class": "1", + "dns_host_class": "1", + "dns_host_raw": "706e73747265782d36313335312e6c6f63616c", + "dns_query": "2.7.8.c.f.f.6.2.a.5.8.1.2.3.4.a.0.8.0.2.1.0.0.0.0.0.0.0.b.a.c.f. ip6.arpa", + "dns_query_type": "255", + "app_id": "32", + "ip_version": "4", + "src_bytes": "335", + "dst_bytes": "0", + "src_packets": "1", + "dst_packets": "0", + "start_time": "2023:12:13 15:25:15.917", + "end_time": "2023:12:13 15:25:15.917", + "intf_name": "0", + "egress_intf_id": "0", + "sys_up_time_first": "1351116811", + "sys_up_time_last": "1351116811", + "end_reason": "1", + "app_name": "dns", + "id": "679408454713081863", + "seq_num": "665" + } + }, + { + "json": { + "ts": "Wed Dec 13 15:25:31 2023", + "vendor": "Gigamon", + "version": "6.5.00", + "generator": "gs_apps_appInst16_423722da-33ec-1556-b24b-cda2e74a53f6", + "dst_mac": "01:00:5e:00:00:fb", + "src_mac": "00:50:56:94:d4:c8", + "src_ip": "10.115.85.219", + "dst_ip": "224.0.0.251", + "protocol": "17", + "src_port": "5353", + "dst_port": "5353", + "device_inbound_interface": "0", + "dns_qdcount": "3", + "dns_transaction_id": "0", + "dns_name": "8.c.4.d.4.9.e.f.f.f.6.5.0.5.2.0.0.8.0.2.1.0.0.0.0.0.0.0.b.a.c.f. ip6.arpa", + "dns_host": "linux-52270.local", + "dns_host_addr": "10.115.85.219", + "dns_host_type": "PTR", + "dns_ttl": "120", + "dns_flags": "0", + "dns_opcode": "0", + "dns_class": "1", + "dns_host_class": "1", + "dns_host_raw": "6c696e75782d35323237302e6c6f63616c", + "dns_query": "219.85.115.10.in-addr.arpa", + "dns_query_type": "255", + "app_id": "32", + "ip_version": "4", + "src_bytes": "255", + "dst_bytes": "0", + "src_packets": "1", + "dst_packets": "0", + "start_time": "2023:12:13 15:25:17.229", + "end_time": "2023:12:13 15:25:17.229", + "intf_name": "0", + "egress_intf_id": "0", + "sys_up_time_first": "1888315403", + "sys_up_time_last": "1888315403", + "end_reason": "1", + "app_name": "dns", + "id": "679408454713082887", + "seq_num": "666" + } + }, + { + "json": { + "ts": "Wed Dec 13 15:25:33 2023", + "vendor": "Gigamon", + "version": "6.5.00", + "generator": "gs_apps_appInst16_423722da-33ec-1556-b24b-cda2e74a53f6", + "dst_mac": "00:50:56:9d:d1:ff", + "src_mac": "00:50:56:b7:e4:a1", + "src_ip": "10.115.83.37", + "dst_ip": "10.115.83.43", + "protocol": "17", + "src_port": "23384", + "dst_port": "514", + "device_inbound_interface": "0", + "app_id": "4979", + "ip_version": "4", + "src_bytes": "837334", + "dst_bytes": "0", + "src_packets": "629", + "dst_packets": "0", + "start_time": "2023:12:13 15:24:33.549", + "end_time": "2023:12:13 15:25:31.645", + "intf_name": "0", + "egress_intf_id": "0", + "sys_up_time_first": "3504498443", + "sys_up_time_last": "3234162699", + "end_reason": "2", + "app_name": "Unknown udp", + "id": "679408454713083911", + "seq_num": "667" + } + }, + { + "json": { + "ts": "Wed Dec 13 15:25:35 2023", + "vendor": "Gigamon", + "version": "6.5.00", + "generator": "gs_apps_appInst16_423722da-33ec-1556-b24b-cda2e74a53f6", + "dns_qdcount": "0", + "dns_ancount": "9", + "dns_transaction_id": "0", + "dns_name": "systest-virtual-machine-552428.local", + "dns_host": "systest-virtual-machine-552428.local", + "dns_host_addr": "10.115.84.155", + "dns_host_type": "A", + "dns_reply_code": "0", + "dns_response_time": "3.520447", + "dns_ttl": "120", + "dns_flags": "33792", + "dns_opcode": "" + } + }, + { + "json": { + "ts": "Wed Dec 13 15:25:35 2023", + "vendor": "Gigamon", + "version": "6.5.00", + "generator": "gs_apps_appInst16_423722da-33ec-1556-b24b-cda2e74a53f6", + "dst_mac": "01:00:5e:00:00:fb", + "src_mac": "00:50:56:86:1f:d9", + "src_ip": "10.115.84.168", + "dst_ip": "224.0.0.251", + "protocol": "17", + "src_port": "5353", + "dst_port": "5353", + "device_inbound_interface": "0", + "dns_qdcount": "5", + "dns_transaction_id": "0", + "dns_name": "d.6.6.9.b.6.2.9.a.8.3.1.8.4.2.e.0.0.0.0.0.0.0.0.0.0.0.0.0.8.e.f. ip6.arpa", + "dns_host": "systest-virtual-machine-560412.local", + "dns_host_addr": "10.115.84.168", + "dns_host_type": "PTR", + "dns_ttl": "120", + "dns_flags": "0", + "dns_opcode": "0", + "dns_class": "1", + "dns_host_class": "1", + "dns_host_raw": "737973746573742d7669727475616c2d6d616368696e652d3536303431322e6c6f63616c", + "dns_query": "7.7.f.2.5.b.4.f.6.1.a.2.0.1.1.d.0.0.0.0.0.0.0.0.0.0.0.0.0.8.e.f. ip6.arpa", + "dns_query_type": "255", + "app_id": "32", + "ip_version": "4", + "src_bytes": "434", + "dst_bytes": "0", + "src_packets": "1", + "dst_packets": "0", + "start_time": "2023:12:13 15:25:20.509", + "end_time": "2023:12:13 15:25:20.509", + "intf_name": "0", + "egress_intf_id": "0", + "sys_up_time_first": "1083861003", + "sys_up_time_last": "1083861003", + "end_reason": "1", + "app_name": "dns", + "id": "679408454713085959", + "seq_num": "669" + } + }, + { + "json": { + "ts": "Wed Dec 13 15:25:35 2023", + "vendor": "Gigamon", + "version": "6.5.00", + "generator": "gs_apps_appInst16_423722da-33ec-1556-b24b-cda2e74a53f6", + "dns_qdcount": "5", + "dns_transaction_id": "0", + "dns_name": "d.6.6.9.b.6.2.9.a.8.3.1.8.4.2.e.0.0.0.0.0.0.0.0.0.0.0.0.0.8.e.f. ip6.arpa", + "dns_host": "systest-virtual-machine-627950.local", + "dns_host_addr": "10.115.84.154", + "dns_host_type": "PTR", + "dns_ttl": "120", + "dns_flags": "0", + "dns_opcode": "0", + "dns_class": "1", + "dns_host_class": "1", + "dns_host_raw": "737973746573742d7669727475616c2d6d616368696e652d3632373935302e6c6f63616c" + } + }, + { + "json": { + "ts": "Wed Dec 13 15:25:36 2023", + "vendor": "Gigamon", + "version": "6.5.00", + "generator": "gs_apps_appInst16_423722da-33ec-1556-b24b-cda2e74a53f6", + "dst_mac": "01:00:5e:00:00:fb", + "src_mac": "00:50:56:86:24:0a", + "src_ip": "10.115.84.162", + "dst_ip": "224.0.0.251", + "protocol": "17", + "src_port": "5353", + "dst_port": "5353", + "device_inbound_interface": "0", + "dns_qdcount": "5", + "dns_transaction_id": "0", + "dns_name": "d.6.6.9.b.6.2.9.a.8.3.1.8.4.2.e.0.0.0.0.0.0.0.0.0.0.0.0.0.8.e.f. ip6.arpa", + "dns_host": "systest-virtual-machine-561372.local", + "dns_host_addr": "10.115.84.162", + "dns_host_type": "PTR", + "dns_ttl": "120", + "dns_flags": "0", + "dns_opcode": "0", + "dns_class": "1", + "dns_host_class": "1", + "dns_host_raw": "737973746573742d7669727475616c2d6d616368696e652d3536313337322e6c6f63616c", + "dns_query": "7.7.f.2.5.b.4.f.6.1.a.2.0.1.1.d.0.0.0.0.0.0.0.0.0.0.0.0.0.8.e.f. ip6.arpa", + "dns_query_type": "255", + "app_id": "32", + "ip_version": "4", + "src_bytes": "434", + "dst_bytes": "0", + "src_packets": "1", + "dst_packets": "0", + "start_time": "2023:12:13 15:25:21.661", + "end_time": "2023:12:13 15:25:21.661", + "intf_name": "0", + "egress_intf_id": "0", + "sys_up_time_first": "3231606795", + "sys_up_time_last": "3231606795", + "end_reason": "1", + "app_name": "dns", + "id": "679408454713088007", + "seq_num": "671" + } + }, + { + "json": { + "ts": "Wed Dec 13 15:25:36 2023", + "vendor": "Gigamon", + "version": "6.5.00", + "generator": "gs_apps_appInst16_423722da-33ec-1556-b24b-cda2e74a53f6", + "dst_mac": "01:00:5e:00:00:fb", + "src_mac": "00:50:56:94:dc:79", + "src_ip": "10.115.85.220", + "dst_ip": "224.0.0.251", + "protocol": "17", + "src_port": "5353", + "dst_port": "5353", + "device_inbound_interface": "0", + "dns_qdcount": "3", + "dns_transaction_id": "0", + "dns_name": "9.7.c.d.4.9.e.f.f.f.6.5.0.5.2.0.0.8.0.2.1.0.0.0.0.0.0.0.b.a.c.f. ip6.arpa", + "dns_host": "linux-76620.local", + "dns_host_addr": "10.115.85.220", + "dns_host_type": "PTR", + "dns_ttl": "120", + "dns_flags": "0", + "dns_opcode": "0", + "dns_class": "1", + "dns_host_class": "1", + "dns_host_raw": "6c696e75782d37363632302e6c6f63616c", + "dns_query": "220.85.115.10.in-addr.arpa", + "dns_query_type": "255", + "app_id": "32", + "ip_version": "4", + "src_bytes": "255", + "dst_bytes": "0", + "src_packets": "1", + "dst_packets": "0", + "start_time": "2023:12:13 15:25:21.469", + "end_time": "2023:12:13 15:25:21.469", + "intf_name": "0", + "egress_intf_id": "0", + "sys_up_time_first": "10381323", + "sys_up_time_last": "10381323", + "end_reason": "1", + "app_name": "dns", + "id": "679408454713089031", + "seq_num": "672" + } + }, + { + "json": { + "ts": "Wed Dec 13 15:25:36 2023", + "vendor": "Gigamon", + "version": "6.5.00", + "generator": "gs_apps_appInst16_423722da-33ec-1556-b24b-cda2e74a53f6", + "dst_mac": "00:50:56:b7:a1:53", + "src_mac": "5c:31:92:40:19:7f", + "src_ip": "10.70.70.164", + "dst_ip": "10.115.83.73", + "protocol": "6", + "src_port": "50425", + "dst_port": "22", + "device_inbound_interface": "0", + "app_id": "4968", + "ip_version": "4", + "src_bytes": "18808", + "dst_bytes": "28400", + "src_packets": "223", + "dst_packets": "197", + "start_time": "2023:12:13 15:24:37.341", + "end_time": "2023:12:13 15:25:36.605", + "intf_name": "0", + "egress_intf_id": "0", + "sys_up_time_first": "2700175115", + "sys_up_time_last": "551118859", + "end_reason": "2", + "app_name": "Unknown tcp", + "id": "679408454713090055", + "seq_num": "673" + } + }, + { + "json": { + "ts": "Wed Dec 13 15:25:37 2023", + "vendor": "Gigamon", + "version": "6.5.00", + "generator": "gs_apps_appInst16_423722da-33ec-1556-b24b-cda2e74a53f6", + "dst_mac": "01:00:5e:00:00:fb", + "src_mac": "00:50:56:86:62:5f", + "src_ip": "10.115.84.172", + "dst_ip": "224.0.0.251", + "protocol": "17", + "src_port": "5353", + "dst_port": "5353", + "device_inbound_interface": "0", + "dns_qdcount": "5", + "dns_transaction_id": "0", + "dns_name": "d.6.6.9.b.6.2.9.a.8.3.1.8.4.2.e.0.0.0.0.0.0.0.0.0.0.0.0.0.8.e.f. ip6.arpa", + "dns_host": "systest-virtual-machine-611134.local", + "dns_host_addr": "10.115.84.172", + "dns_host_type": "PTR", + "dns_ttl": "120", + "dns_flags": "0", + "dns_opcode": "0", + "dns_class": "1", + "dns_host_class": "1", + "dns_host_raw": "737973746573742d7669727475616c2d6d616368696e652d3631313133342e6c6f63616c", + "dns_query": "7.7.f.2.5.b.4.f.6.1.a.2.0.1.1.d.0.0.0.0.0.0.0.0.0.0.0.0.0.8.e.f. ip6.arpa", + "dns_query_type": "255", + "app_id": "32", + "ip_version": "4", + "src_bytes": "434", + "dst_bytes": "0", + "src_packets": "1", + "dst_packets": "0", + "start_time": "2023:12:13 15:24:49.629", + "end_time": "2023:12:13 15:24:49.629", + "intf_name": "0", + "egress_intf_id": "0", + "sys_up_time_first": "2686543883", + "sys_up_time_last": "2686543883", + "end_reason": "1", + "app_name": "dns", + "id": "679408454713091079", + "seq_num": "674" + } + }, + { + "json": { + "ts": "Wed Dec 13 15:25:37 2023", + "vendor": "Gigamon", + "version": "6.5.00", + "generator": "gs_apps_appInst16_423722da-33ec-1556-b24b-cda2e74a53f6", + "dst_mac": "01:00:5e:00:00:fb", + "src_mac": "00:50:56:94:3b:c0", + "src_ip": "10.115.85.221", + "dst_ip": "224.0.0.251", + "protocol": "17", + "src_port": "5353", + "dst_port": "5353", + "device_inbound_interface": "0", + "dns_qdcount": "3", + "dns_transaction_id": "0", + "dns_name": "0.c.b.3.4.9.e.f.f.f.6.5.0.5.2.0.0.8.0.2.1.0.0.0.0.0.0.0.b.a.c.f. ip6.arpa", + "dns_host": "linux-68644.local", + "dns_host_addr": "10.115.85.221", + "dns_host_type": "PTR", + "dns_ttl": "120", + "dns_flags": "0", + "dns_opcode": "0", + "dns_class": "1", + "dns_host_class": "1", + "dns_host_raw": "6c696e75782d36383634342e6c6f63616c", + "dns_query": "221.85.115.10.in-addr.arpa", + "dns_query_type": "255", + "app_id": "32", + "ip_version": "4", + "src_bytes": "510", + "dst_bytes": "0", + "src_packets": "2", + "dst_packets": "0", + "start_time": "2023:12:13 15:24:41.469", + "end_time": "2023:12:13 15:25:01.501", + "intf_name": "0", + "egress_intf_id": "0", + "sys_up_time_first": "3221317643", + "sys_up_time_last": "5269515", + "end_reason": "1", + "app_name": "dns", + "id": "679408454713092103", + "seq_num": "675" + } + }, + { + "json": { + "ts": "Wed Dec 13 15:25:37 2023", + "vendor": "Gigamon", + "version": "6.5.00", + "generator": "gs_apps_appInst16_423722da-33ec-1556-b24b-cda2e74a53f6", + "dst_mac": "01:00:5e:00:00:fb", + "src_mac": "00:50:56:8d:fa:3e", + "src_ip": "10.114.83.61", + "dst_ip": "224.0.0.251", + "protocol": "17", + "src_port": "5353", + "dst_port": "5353", + "device_inbound_interface": "0", + "dns_qdcount": "2", + "dns_transaction_id": "0", + "dns_flags": "0", + "dns_opcode": "0", + "dns_class": "1", + "dns_query": "_ipps._tcp.local", + "dns_query_type": "12", + "app_id": "32", + "ip_version": "4", + "src_bytes": "87", + "dst_bytes": "0", + "src_packets": "1", + "dst_packets": "0", + "start_time": "2023:12:13 15:25:18.861", + "end_time": "2023:12:13 15:25:18.861", + "intf_name": "0", + "egress_intf_id": "0", + "sys_up_time_first": "3499321355", + "sys_up_time_last": "3499321355", + "end_reason": "1", + "app_name": "dns", + "id": "679408454713093127", + "seq_num": "676" + } + }, + { + "json": { + "ts": "Wed Dec 13 15:25:37 2023", + "vendor": "Gigamon", + "version": "6.5.00", + "generator": "gs_apps_appInst16_423722da-33ec-1556-b24b-cda2e74a53f6", + "dst_mac": "01:00:5e:00:00:fb", + "src_mac": "00:50:56:8d:6a:4b", + "src_ip": "10.114.83.75", + "dst_ip": "224.0.0.251", + "protocol": "17", + "src_port": "5353", + "dst_port": "5353", + "device_inbound_interface": "0", + "dns_qdcount": "3", + "dns_transaction_id": "0", + "dns_name": "2.2.0.0.0.0.0.0.0.0.0.0.0.0.0.0.b.0.0.1.a.0.2.4.4.3.2.1.3.6.1.2. ip6.arpa", + "dns_host": "tg-91532.local", + "dns_host_addr": "10.114.83.75", + "dns_host_type": "PTR", + "dns_ttl": "120", + "dns_flags": "0", + "dns_opcode": "0", + "dns_class": "1", + "dns_host_class": "1", + "dns_host_raw": "74672d39313533322e6c6f63616c", + "dns_query": "75.83.114.10.in-addr.arpa", + "dns_query_type": "255", + "app_id": "32", + "ip_version": "4", + "src_bytes": "753" + } + }, + { + "json": { + "ts": "Wed Dec 13 15:25:37 2023", + "vendor": "Gigamon", + "version": "6.5.00", + "generator": "gs_apps_appInst16_423722da-33ec-1556-b24b-cda2e74a53f6", + "dns_qdcount": "5", + "dns_transaction_id": "0", + "dns_name": "d.6.6.9.b.6.2.9.a.8.3.1.8.4.2.e.0.0.0.0.0.0.0.0.0.0.0.0.0.8.e.f. ip6.arpa", + "dns_host": "systest-virtual-machine-560195.local", + "dns_host_addr": "10.115.84.159", + "dns_host_type": "PTR", + "dns_ttl": "120" + } + }, + { + "json": { + "ts": "Wed Dec 13 15:25:37 2023", + "vendor": "Gigamon", + "version": "6.5.00", + "generator": "gs_apps_appInst16_423722da-33ec-1556-b24b-cda2e74a53f6", + "dns_qdcount": "4", + "dns_transaction_id": "0", + "dns_name": "b.2.f.f.8.f.c.5.9.2.d.c.a.4.7.d.0.8.0.2.1.0.0.0.0.0.0.0.b.a.c.f. ip6.arpa", + "dns_host": "systest-virtual-machine-584015.local", + "dns_host_addr": "10.115.84.151", + "dns_host_type": "PTR", + "dns_ttl": "120", + "dns_flags": "0", + "dns_opcode": "0", + "dns_class": "1", + "dns_host_class": "1" + } + }, + { + "json": { + "ts": "Wed Dec 13 15:25:40 2023", + "vendor": "Gigamon", + "version": "6.5.00", + "generator": "gs_apps_appInst16_423722da-33ec-1556-b24b-cda2e74a53f6", + "dst_mac": "ff:ff:ff:ff:ff:ff", + "src_mac": "00:50:56:99:05:df", + "src_ip": "0.0.0.0", + "dst_ip": "255.255.255.255", + "protocol": "17", + "src_port": "68", + "dst_port": "67", + "device_inbound_interface": "0", + "app_id": "29", + "ip_version": "4", + "src_bytes": "1400", + "dst_bytes": "0", + "src_packets": "4", + "dst_packets": "0", + "start_time": "2023:12:13 15:24:58.717", + "end_time": "2023:12:13 15:25:26.285", + "intf_name": "0", + "egress_intf_id": "0", + "sys_up_time_first": "541419531", + "sys_up_time_last": "3501221899", + "end_reason": "1", + "app_name": "dhcp", + "id": "679408454713097223", + "seq_num": "680" + } + }, + { + "json": { + "ts": "Wed Dec 13 15:25:40 2023", + "vendor": "Gigamon", + "version": "6.5.00", + "generator": "gs_apps_appInst16_423722da-33ec-1556-b24b-cda2e74a53f6", + "dst_mac": "00:50:56:9f:7f:ff", + "src_mac": "0c:c4:7a:f8:0d:c4", + "src_ip": "10.115.81.118", + "dst_ip": "10.115.83.4", + "protocol": "17", + "src_port": "43366", + "dst_port": "902", + "device_inbound_interface": "0", + "app_id": "3902", + "ip_version": "4", + "src_bytes": "377", + "dst_bytes": "0", + "src_packets": "1", + "dst_packets": "0", + "start_time": "2023:12:13 15:25:07.085", + "end_time": "2023:12:13 15:25:07.085", + "intf_name": "0", + "egress_intf_id": "0", + "sys_up_time_first": "3496306699", + "sys_up_time_last": "3496306699", + "end_reason": "1", + "app_name": "vmware-client", + "id": "679408454713098247", + "seq_num": "681" + } + }, + { + "json": { + "ts": "Wed Dec 13 15:25:40 2023", + "vendor": "Gigamon", + "version": "6.5.00", + "generator": "gs_apps_appInst16_423722da-33ec-1556-b24b-cda2e74a53f6", + "dst_mac": "00:50:56:9f:7f:ff", + "src_mac": "0c:c4:7a:f8:0d:c4", + "src_ip": "10.115.81.118", + "dst_ip": "10.115.83.4", + "protocol": "17", + "src_port": "30490", + "dst_port": "902", + "device_inbound_interface": "0", + "app_id": "3902", + "ip_version": "4", + "src_bytes": "377", + "dst_bytes": "0", + "src_packets": "1", + "dst_packets": "0", + "start_time": "2023:12:13 15:25:17.085", + "end_time": "2023:12:13 15:25:17.085", + "intf_name": "0", + "egress_intf_id": "0", + "sys_up_time_first": "3767298059", + "sys_up_time_last": "3767298059", + "end_reason": "1", + "app_name": "vmware-client", + "id": "679408454713099271", + "seq_num": "682" + } + }, + { + "json": { + "ts": "Wed Dec 13 15:25:40 2023", + "vendor": "Gigamon", + "version": "6.5.00", + "generator": "gs_apps_appInst16_423722da-33ec-1556-b24b-cda2e74a53f6", + "dst_mac": "01:00:5e:00:00:fb", + "src_mac": "00:50:56:9c:b2:df", + "src_ip": "10.114.82.166", + "dst_ip": "224.0.0.251", + "protocol": "17", + "src_port": "5353", + "dst_port": "5353", + "device_inbound_interface": "0", + "dns_qdcount": "4", + "dns_transaction_id": "0", + "dns_name": "d.5.8.e.b.0.0.d.e.d.b.f.f.5.a.8.0.8.0.2.1.0.0.0.0.0.0.0.b.a.c.f. ip6.arpa", + "dns_host": "pnstrex-85535.local", + "dns_host_addr": "10.114.82.166", + "dns_host_type": "PTR", + "dns_ttl": "120", + "dns_flags": "0", + "dns_opcode": "0", + "dns_class": "1", + "dns_host_class": "1", + "dns_host_raw": "706e73747265782d38353533352e6c6f63616c", + "dns_query": "6.7.e.b.f.9.e.f.c.6.7.b.f.4.5.6.0.8.0.2.1.0.0.0.0.0.0.0.b.a.c.f. ip6.arpa", + "dns_query_type": "255", + "app_id": "32", + "ip_version": "4", + "src_bytes": "674" + } + }, + { + "json": { + "ts": "Wed Dec 13 15:25:40 2023", + "vendor": "Gigamon", + "version": "6.5.00", + "generator": "gs_apps_appInst16_423722da-33ec-1556-b24b-cda2e74a53f6", + "dst_mac": "01:00:5e:7f:ff:fa", + "src_mac": "00:50:56:b7:96:08", + "src_ip": "10.115.83.20", + "dst_ip": "239.255.255.250", + "protocol": "17", + "src_port": "49882", + "dst_port": "1900", + "device_inbound_interface": "0", + "app_id": "3414", + "ip_version": "4", + "src_bytes": "868", + "dst_bytes": "0", + "src_packets": "4", + "dst_packets": "0", + "start_time": "2023:12:13 15:25:22.429", + "end_time": "2023:12:13 15:25:25.437", + "intf_name": "0", + "egress_intf_id": "0", + "sys_up_time_first": "3231803403", + "sys_up_time_last": "2158848011", + "end_reason": "1", + "app_name": "upnp", + "id": "679408454713101319", + "seq_num": "684" + } + }, + { + "json": { + "ts": "Wed Dec 13 15:25:40 2023", + "vendor": "Gigamon", + "version": "6.5.00", + "generator": "gs_apps_appInst16_423722da-33ec-1556-b24b-cda2e74a53f6", + "dst_mac": "01:00:5e:00:00:fb", + "src_mac": "00:50:56:86:09:cc", + "src_ip": "10.115.84.171", + "dst_ip": "224.0.0.251", + "protocol": "17", + "src_port": "5353", + "dst_port": "5353", + "device_inbound_interface": "0", + "dns_qdcount": "5", + "dns_transaction_id": "0", + "dns_name": "d.6.6.9.b.6.2.9.a.8.3.1.8.4.2.e.0.0.0.0.0.0.0.0.0.0.0.0.0.8.e.f. ip6.arpa", + "dns_host": "systest-virtual-machine-627875.local", + "dns_host_addr": "10.115.84.171", + "dns_host_type": "PTR", + "dns_ttl": "120", + "dns_flags": "0", + "dns_opcode": "0", + "dns_class": "1", + "dns_host_class": "1", + "dns_host_raw": "737973746573742d7669727475616c2d6d616368696e652d3632373837352e6c6f63616c", + "dns_query": "7.7.f.2.5.b.4.f.6.1.a.2.0.1.1.d.0.0.0.0.0.0.0.0.0.0.0.0.0.8.e.f. ip6.arpa", + "dns_query_type": "255", + "app_id": "32", + "ip_version": "4", + "src_bytes": "434", + "dst_bytes": "0", + "src_packets": "1", + "dst_packets": "0", + "start_time": "2023:12:13 15:25:23.757", + "end_time": "2023:12:13 15:25:23.757", + "intf_name": "0", + "egress_intf_id": "0", + "sys_up_time_first": "4037437451", + "sys_up_time_last": "4037437451", + "end_reason": "1", + "app_name": "dns", + "id": "679408454713102343", + "seq_num": "685" + } + }, + { + "json": { + "ts": "Wed Dec 13 15:25:40 2023", + "vendor": "Gigamon", + "version": "6.5.00", + "generator": "gs_apps_appInst16_423722da-33ec-1556-b24b-cda2e74a53f6", + "dst_mac": "01:00:5e:00:00:fb", + "src_mac": "00:50:56:8d:32:1a", + "src_ip": "10.114.82.162", + "dst_ip": "224.0.0.251", + "protocol": "17", + "src_port": "5353", + "dst_port": "5353", + "device_inbound_interface": "0", + "dns_qdcount": "4", + "dns_transaction_id": "0", + "dns_name": "3.a.2.3.7.1.5.5.e.2.1.6.e.4.7.e.0.8.0.2.1.0.0.0.0.0.0.0.b.a.c.f. ip6.arpa", + "dns_host": "pnstrex-83631.local", + "dns_host_addr": "10.114.82.162", + "dns_host_type": "PTR", + "dns_ttl": "120", + "dns_flags": "0", + "dns_opcode": "0", + "dns_class": "1", + "dns_host_class": "1", + "dns_host_raw": "706e73747265782d38333633312e6c6f63616c", + "dns_query": "8.3.5.1.c.a.c.b.d.3.2.5.9.0.f.3.0.8.0.2.1.0.0.0.0.0.0.0.b.a.c.f. ip6.arpa", + "dns_query_type": "255", + "app_id": "32", + "ip_version": "4", + "src_bytes": "337", + "dst_bytes": "0", + "src_packets": "1", + "dst_packets": "0", + "start_time": "2023:12:13 15:25:24.013", + "end_time": "2023:12:13 15:25:24.013", + "intf_name": "0", + "egress_intf_id": "0", + "sys_up_time_first": "4037502987", + "sys_up_time_last": "4037502987", + "end_reason": "1", + "app_name": "dns", + "id": "679408454713103367", + "seq_num": "686" + } + }, + { + "json": { + "ts": "Wed Dec 13 15:25:40 2023", + "vendor": "Gigamon", + "version": "6.5.00", + "generator": "gs_apps_appInst16_423722da-33ec-1556-b24b-cda2e74a53f6", + "dst_mac": "0c:c4:7a:f8:0d:c4", + "src_mac": "00:50:56:9f:7f:ff", + "src_ip": "10.115.83.4", + "dst_ip": "10.115.81.118", + "protocol": "6", + "src_port": "50694", + "dst_port": "443", + "device_inbound_interface": "0", + "app_id": "68", + "ip_version": "4", + "src_bytes": "399", + "dst_bytes": "388", + "src_packets": "2", + "dst_packets": "1", + "start_time": "2023:12:13 15:25:25.677", + "end_time": "2023:12:13 15:25:25.693", + "intf_name": "0", + "egress_intf_id": "0", + "sys_up_time_first": "1890478091", + "sys_up_time_last": "2158913547", + "end_reason": "1", + "app_name": "https", + "id": "679408454713104391", + "seq_num": "687" + } + }, + { + "json": { + "ts": "Wed Dec 13 15:25:40 2023", + "vendor": "Gigamon", + "version": "6.5.00", + "generator": "gs_apps_appInst16_423722da-33ec-1556-b24b-cda2e74a53f6", + "dst_mac": "0c:c4:7a:f8:0d:c4", + "src_mac": "00:50:56:9f:7f:ff", + "src_ip": "10.115.83.4", + "dst_ip": "10.115.81.118", + "protocol": "6", + "src_port": "60117", + "dst_port": "9080", + "device_inbound_interface": "0", + "ssl_cipher_suite_id": "49200", + "app_id": "4962", + "ip_version": "4", + "src_bytes": "1533", + "dst_bytes": "2335", + "src_packets": "11", + "dst_packets": "8", + "start_time": "2023:12:13 15:25:25.837", + "end_time": "2023:12:13 15:25:25.837", + "intf_name": "0", + "egress_intf_id": "0", + "sys_up_time_first": "279930891", + "sys_up_time_last": "279930891", + "end_reason": "1", + "app_name": "Unknown ssl", + "id": "679408454713105415", + "seq_num": "688" + } + }, + { + "json": { + "ts": "Wed Dec 13 15:25:40 2023", + "vendor": "Gigamon", + "version": "6.5.00", + "generator": "gs_apps_appInst16_423722da-33ec-1556-b24b-cda2e74a53f6", + "dst_mac": "01:00:5e:00:00:fb", + "src_mac": "00:50:56:8d:26:ce", + "src_ip": "10.114.82.17", + "dst_ip": "224.0.0.251", + "protocol": "17", + "src_port": "5353", + "dst_port": "5353", + "device_inbound_interface": "0", + "dns_qdcount": "3", + "dns_transaction_id": "0", + "dns_name": "2.2.0.0.0.0.0.0.0.0.0.0.0.0.0.0.b.0.0.1.a.0.2.4.4.3.2.1.3.6.1.2. ip6.arpa", + "dns_host": "tg-92794.local", + "dns_host_addr": "10.114.82.17", + "dns_host_type": "PTR", + "dns_ttl": "120", + "dns_flags": "0", + "dns_opcode": "0", + "dns_class": "1", + "dns_host_class": "1", + "dns_host_raw": "74672d39323739342e6c6f63616c", + "dns_query": "17.82.114.10.in-addr.arpa", + "dns_query_type": "255", + "app_id": "32", + "ip_version": "4", + "src_bytes": "251", + "dst_bytes": "0", + "src_packets": "1", + "dst_packets": "0", + "start_time": "2023:12:13 15:25:25.693", + "end_time": "2023:12:13 15:25:25.693", + "intf_name": "0", + "egress_intf_id": "0", + "sys_up_time_first": "2158913547", + "sys_up_time_last": "2158913547", + "end_reason": "1", + "app_name": "dns", + "id": "679408454713106439", + "seq_num": "689" + } + }, + { + "json": { + "ts": "Wed Dec 13 15:25:40 2023", + "vendor": "Gigamon", + "version": "6.5.00", + "generator": "gs_apps_appInst16_423722da-33ec-1556-b24b-cda2e74a53f6", + "dst_mac": "01:00:5e:00:00:fb", + "src_mac": "00:50:56:99:d1:39", + "src_ip": "10.114.83.110", + "dst_ip": "224.0.0.251", + "protocol": "17", + "src_port": "5353", + "dst_port": "5353", + "device_inbound_interface": "0", + "dns_qdcount": "0", + "dns_ancount": "6", + "dns_transaction_id": "0", + "dns_name": "2.2.0.0.0.0.0.0.0.0.0.0.0.0.0.0.b.0.0.1.a.0.2.4.4.3.2.1.3.6.1.2. ip6.arpa", + "dns_host": "tg-92967.local", + "dns_host_type": "PTR", + "dns_reply_code": "0", + "dns_ttl": "120", + "dns_flags": "33792", + "dns_opcode": "0", + "dns_host_raw": "74672d39323936372e6c6f63616c", + "app_id": "32", + "ip_version": "4", + "src_bytes": "924", + "dst_bytes": "0", + "src_packets": "6", + "dst_packets": "0", + "start_time": "2023:12:13 15:24:40.637", + "end_time": "2023:12:13 15:25:25.693", + "intf_name": "0", + "egress_intf_id": "0", + "sys_up_time_first": "2164156171", + "sys_up_time_last": "2158913547", + "end_reason": "2", + "app_name": "dns", + "id": "679408454713107463", + "seq_num": "690" + } + }, + { + "json": { + "ts": "Wed Dec 13 15:23:59 2023", + "vendor": "Gigamon", + "version": "6.5.00", + "generator": "gs_apps_appInst7_4237d0d0-8241-b4a1-b502-77f97421a2c6", + "dst_mac": "ff:ff:ff:ff:ff:ff", + "src_mac": "00:50:56:99:05:df", + "src_ip": "0.0.0.0", + "dst_ip": "255.255.255.255", + "protocol": "17", + "src_port": "68", + "dst_port": "67", + "device_inbound_interface": "0", + "app_id": "29", + "ip_version": "4", + "src_bytes": "1400", + "dst_bytes": "0", + "src_packets": "4", + "dst_packets": "0", + "start_time": "2023:12:13 15:23:17.354", + "end_time": "2023:12:13 15:23:44.910", + "intf_name": "0", + "egress_intf_id": "0", + "sys_up_time_first": "3962320642", + "sys_up_time_last": "2425894658", + "end_reason": "1", + "app_name": "dhcp", + "id": "113836049853586439", + "seq_num": "3" + } + }, + { + "json": { + "ts": "Wed Dec 13 15:25:41 2023", + "vendor": "Gigamon", + "version": "6.5.00", + "generator": "gs_apps_appInst16_423722da-33ec-1556-b24b-cda2e74a53f6", + "dst_mac": "00:50:56:9f:7f:ff", + "src_mac": "0c:c4:7a:f8:0d:c4", + "src_ip": "10.115.81.118", + "dst_ip": "10.115.83.4", + "protocol": "17", + "src_port": "15536", + "dst_port": "902", + "device_inbound_interface": "0", + "app_id": "3902", + "ip_version": "4", + "src_bytes": "377", + "dst_bytes": "0", + "src_packets": "1", + "dst_packets": "0", + "start_time": "2023:12:13 15:25:27.101", + "end_time": "2023:12:13 15:25:27.101", + "intf_name": "0", + "egress_intf_id": "0", + "sys_up_time_first": "11823115", + "sys_up_time_last": "11823115", + "end_reason": "1", + "app_name": "vmware-client", + "id": "679408454713108487", + "seq_num": "691" + } + }, + { + "json": { + "ts": "Wed Dec 13 15:25:41 2023", + "vendor": "Gigamon", + "version": "6.5.00", + "generator": "gs_apps_appInst16_423722da-33ec-1556-b24b-cda2e74a53f6", + "dns_qdcount": "0", + "dns_ancount": "27", + "dns_transaction_id": "0", + "dns_name": "systest-virtual" + } + }, + { + "json": { + "ts": "Wed Dec 13 15:25:41 2023", + "vendor": "Gigamon", + "version": "6.5.00", + "generator": "gs_apps_appInst16_423722da-33ec-1556-b24b-cda2e74a53f6", + "dns_qdcount": "0", + "dns_ancount": "9", + "dns_transaction_id": "0", + "dns_name": "systest-virtual-machine-110438.local", + "dns_host": "systest-virtual-machine-110438.local", + "dns_host_addr": "10.115.84.157", + "dns_host_type": "AAAA", + "dns_reply_code": "0", + "dns_response_time": "3.289977", + "dns_ttl": "120", + "dns_flags": "0 Gigam" + } + }, + { + "json": { + "ts": "Wed Dec 13 15:25:43 2023", + "vendor": "Gigamon", + "version": "6.5.00", + "generator": "gs_apps_appInst16_423722da-33ec-1556-b24b-cda2e74a53f6", + "dns_qdcount": "5", + "dns_transaction_id": "0", + "dns_name": "d.6.6.9.b.6.2.9.a.8.3.1.8.4.2.e.0.0.0.0.0.0.0.0.0.0.0.0.0.8.e.f. ip6.arpa", + "dns_host": "systest-virtual-machine-616359.local", + "dns_host_addr": "10.115.84.173", + "dns_host_type": "PTR", + "dns_ttl": "120" + } + }, + { + "json": { + "ts": "Wed Dec 13 15:25:44 2023", + "vendor": "Gigamon", + "version": "6.5.00", + "generator": "gs_apps_appInst16_423722da-33ec-1556-b24b-cda2e74a53f6", + "dst_mac": "01:00:5e:00:00:fb", + "src_mac": "00:50:56:94:2d:a0", + "src_ip": "10.115.85.227", + "dst_ip": "224.0.0.251", + "protocol": "17", + "src_port": "5353", + "dst_port": "5353", + "device_inbound_interface": "0", + "dns_qdcount": "3", + "dns_transaction_id": "0", + "dns_name": "0.a.d.2.4.9.e.f.f.f.6.5.0.5.2.0.0.8.0.2.1.0.0.0.0.0.0.0.b.a.c.f. ip6.arpa", + "dns_host": "linux-59500.local", + "dns_host_addr": "10.115.85.227", + "dns_host_type": "PTR", + "dns_ttl": "120", + "dns_flags": "0", + "dns_opcode": "0", + "dns_class": "1", + "dns_host_class": "1", + "dns_host_raw": "6c696e75782d35393530302e6c6f63616c", + "dns_query": "227.85.115.10.in-addr.arpa", + "dns_query_type": "255", + "app_id": "32", + "ip_version": "4", + "src_bytes": "255", + "dst_bytes": "0", + "src_packets": "1", + "dst_packets": "0", + "start_time": "2023:12:13 15:25:29.565", + "end_time": "2023:12:13 15:25:29.565", + "intf_name": "0", + "egress_intf_id": "0", + "sys_up_time_first": "2696767499", + "sys_up_time_last": "2696767499", + "end_reason": "1", + "app_name": "dns", + "id": "679408454713112583", + "seq_num": "695" + } + }, + { + "json": { + "ts": "Wed Dec 13 15:25:44 2023", + "vendor": "Gigamon", + "version": "6.5.00", + "generator": "gs_apps_appInst16_423722da-33ec-1556-b24b-cda2e74a53f6", + "dst_mac": "01:00:5e:00:00:fb", + "src_mac": "00:50:56:86:3d:da", + "src_ip": "10.115.84.163", + "dst_ip": "224.0.0.251", + "protocol": "17", + "src_port": "5353", + "dst_port": "5353", + "device_inbound_interface": "0", + "dns_qdcount": "5", + "dns_transaction_id": "0", + "dns_name": "d.6.6.9.b.6.2.9.a.8.3.1.8.4.2.e.0.0.0.0.0.0.0.0.0.0.0.0.0.8.e.f. ip6.arpa", + "dns_host": "systest-virtual-machine-559605.local", + "dns_host_addr": "10.115.84.163", + "dns_host_type": "PTR", + "dns_ttl": "120", + "dns_flags": "0", + "dns_opcode": "0", + "dns_class": "1", + "dns_host_class": "1", + "dns_host_raw": "737973746573742d7669727475616c2d6d616368696e652d3535393630352e6c6f63616c", + "dns_query": "7.7.f.2.5.b.4.f.6.1.a.2.0.1.1.d.0.0.0.0.0.0.0.0.0.0.0.0.0.8.e.f. ip6.arpa", + "dns_query_type": "255", + "app_id": "32", + "ip_version": "4", + "src_bytes": "434", + "dst_bytes": "0", + "src_packets": "1", + "dst_packets": "0", + "start_time": "2023:12:13 15:25:29.725", + "end_time": "2023:12:13 15:25:29.725", + "intf_name": "0", + "egress_intf_id": "0", + "sys_up_time_first": "1086220299", + "sys_up_time_last": "1086220299", + "end_reason": "1", + "app_name": "dns", + "id": "679408454713113607", + "seq_num": "696" + } + }, + { + "json": { + "ts": "Wed Dec 13 15:25:44 2023", + "vendor": "Gigamon", + "version": "6.5.00", + "generator": "gs_apps_appInst16_423722da-33ec-1556-b24b-cda2e74a53f6", + "dst_mac": "00:50:56:b7:4d:72", + "src_mac": "00:50:56:9f:ed:dc", + "src_ip": "10.115.83.15", + "dst_ip": "10.115.83.36", + "protocol": "6", + "src_port": "39252", + "dst_port": "8889", + "device_inbound_interface": "0", + "ssl_cipher_suite_id": "4866", + "app_id": "4962", + "ip_version": "4", + "src_bytes": "2019", + "dst_bytes": "2985", + "src_packets": "12", + "dst_packets": "9", + "start_time": "2023:12:13 15:24:45.037", + "end_time": "2023:12:13 15:24:55.053", + "intf_name": "0", + "egress_intf_id": "0", + "sys_up_time_first": "2953799691", + "sys_up_time_last": "3493226507", + "end_reason": "2", + "app_name": "Unknown ssl", + "id": "679408454713114631", + "seq_num": "697" + } + }, + { + "json": { + "ts": "Wed Dec 13 15:25:45 2023", + "vendor": "Gigamon", + "version": "6.5.00", + "generator": "gs_apps_appInst16_423722da-33ec-1556-b24b-cda2e74a53f6", + "dst_mac": "01:00:5e:00:00:fb", + "src_mac": "00:50:56:8d:89:41", + "src_ip": "10.114.82.101", + "dst_ip": "224.0.0.251", + "protocol": "17", + "src_port": "5353", + "dst_port": "5353", + "device_inbound_interface": "0", + "dns_qdcount": "4", + "dns_transaction_id": "0", + "dns_name": "a.b.2.b.9.6.c.2.3.9.3.d.6.2.6.a.0.8.0.2.1.0.0.0.0.0.0.0.b.a.c.f. ip6.arpa", + "dns_host": "pnstrex-83817.local", + "dns_host_addr": "10.114.82.101", + "dns_host_type": "PTR", + "dns_ttl": "120", + "dns_flags": "0", + "dns_opcode": "0", + "dns_class": "1", + "dns_host_class": "1", + "dns_host_raw": "706e73747265782d38333831372e6c6f63616c", + "dns_query": "f.7.5.2.e.7.6.2.4.c.1.c.4.c.6.1.0.8.0.2.1.0.0.0.0.0.0.0.b.a.c.f. ip6.arpa", + "dns_query_type": "255", + "app_id": "32", + "ip_version": "4", + "src_bytes": "337", + "dst_bytes": "0", + "src_packets": "1", + "dst_packets": "0", + "start_time": "2023:12:13 15:25:31.149", + "end_time": "2023:12:13 15:25:31.149", + "intf_name": "0", + "egress_intf_id": "0", + "sys_up_time_first": "3502467083", + "sys_up_time_last": "3502467083", + "end_reason": "1", + "app_name": "dns", + "id": "679408454713115655", + "seq_num": "698" + } + }, + { + "json": { + "ts": "Wed Dec 13 15:25:45 2023", + "vendor": "Gigamon", + "version": "6.5.00", + "generator": "gs_apps_appInst16_423722da-33ec-1556-b24b-cda2e74a53f6", + "dst_mac": "5c:31:92:40:19:7f", + "src_mac": "00:50:56:b7:4d:72", + "src_ip": "10.10.1.20", + "dst_ip": "10.115.83.36", + "protocol": "17", + "src_port": "53", + "dst_port": "59004", + "device_inbound_interface": "0", + "dns_qdcount": "1", + "dns_transaction_id": "53887", + "dns_name": "115.10.in-addr.arpa", + "dns_host": "hq1dc1.gigamon.com", + "dns_reverse_addr": "10.115.83.43", + "dns_host_type": "SOA", + "dns_reply_code": "3", + "dns_response_time": "0.001563", + "dns_ttl": "3600", + "dns_flags": "34179", + "dns_opcode": "0", + "dns_class": "1", + "dns_host_class": "1", + "dns_host_raw": "6871316463312e676967616d6f6e2e636f6d", + "dns_query": "43.83.115.10.in-addr.arpa", + "dns_query_type": "12", + "app_id": "32", + "ip_version": "4", + "src_bytes": "169", + "dst_bytes": "85", + "src_packets": "1", + "dst_packets": "1", + "start_time": "2023:12:13 15:25:30.637", + "end_time": "2023:12:13 15:25:30.653", + "intf_name": "0", + "egress_intf_id": "0", + "sys_up_time_first": "3502336011", + "sys_up_time_last": "3770771467", + "end_reason": "1", + "app_name": "dns", + "id": "679408454713116679", + "seq_num": "699" + } + }, + { + "json": { + "ts": "Wed Dec 13 15:25:46 2023", + "vendor": "Gigamon", + "version": "6.5.00", + "generator": "gs_apps_appInst16_423722da-33ec-1556-b24b-cda2e74a53f6", + "dst_mac": "0c:c4:7a:f8:0d:c4", + "src_mac": "00:50:56:9f:7f:ff", + "src_ip": "10.115.83.4", + "dst_ip": "10.115.81.118", + "protocol": "6", + "src_port": "54892", + "dst_port": "443", + "device_inbound_interface": "0", + "app_id": "68", + "ip_version": "4", + "src_bytes": "10482", + "dst_bytes": "59982", + "src_packets": "52", + "dst_packets": "47", + "start_time": "2023:12:13 15:24:47.085", + "end_time": "2023:12:13 15:25:31.837", + "intf_name": "0", + "egress_intf_id": "0", + "sys_up_time_first": "2954323979", + "sys_up_time_last": "2160486411", + "end_reason": "1", + "app_name": "https", + "id": "679408454713117703", + "seq_num": "700" + } + }, + { + "json": { + "ts": "Wed Dec 13 15:25:46 2023", + "vendor": "Gigamon", + "version": "6.5.00", + "generator": "gs_apps_appInst16_423722da-33ec-1556-b24b-cda2e74a53f6", + "dns_qdcount": "3", + "dns_transaction_id": "0", + "dns_name": "f.1.2.3.4.9.e.f.f.f.6.5.0.5.2.0.0.8.0.2.1.0.0.0.0.0.0.0.b.a.c.f. ip6.arpa", + "dns_host": "linux-57522.local", + "dns_host_addr": "10.115.85.228", + "dns_host_type": "PTR", + "dns_ttl": "120", + "dns_flags": "0", + "dns_opcode": "0", + "dns_class": "1", + "dns_host_class": "1 Gi" + } + }, + { + "json": { + "ts": "Wed Dec 13 15:25:47 2023", + "vendor": "Gigamon", + "version": "6.5.00", + "generator": "gs_apps_appInst16_423722da-33ec-1556-b24b-cda2e74a53f6", + "dns_qdcount": "0", + "dns_ancount": "17", + "dns_transaction_id": "0", + "dns_name": "systest-virtual-machine-549088.local", + "dns_host": "systest-vir" + } + }, + { + "json": { + "ts": "Wed Dec 13 15:25:47 2023", + "vendor": "Gigamon", + "version": "6.5.00", + "generator": "gs_apps_appInst16_423722da-33ec-1556-b24b-cda2e74a53f6", + "dns_qdcount": "4", + "dns_transaction_id": "0", + "dns_name": "7.1.7.e.b.a.5.d.3.3.b.b.d.3.f.4.0.8.0.2.1.0.0.0.0.0.0.0.b.a.c.f. ip6.arpa", + "dns_host": "pnstrex-81458.local", + "dns_host_addr": "10.114.82.169", + "dns_host_type": "PTR", + "dns_ttl": "120", + "dns_flags": "0", + "dns_opcode": "0", + "dns_class": "1", + "dns_host_class": "1", + "dns_host_raw": "706e73747265782d3831" + } + }, + { + "json": { + "ts": "Wed Dec 13 15:25:47 2023", + "vendor": "Gigamon", + "version": "6.5.00", + "generator": "gs_apps_appInst16_423722da-33ec-1556-b24b-cda2e74a53f6", + "dst_mac": "01:00:5e:00:00:fb", + "src_mac": "00:50:56:94:62:db", + "src_ip": "10.115.85.229", + "dst_ip": "224.0.0.251", + "protocol": "17", + "src_port": "5353", + "dst_port": "5353", + "device_inbound_interface": "0", + "dns_qdcount": "3", + "dns_transaction_id": "0", + "dns_name": "b.d.2.6.4.9.e.f.f.f.6.5.0.5.2.0.0.8.0.2.1.0.0.0.0.0.0.0.b.a.c.f. ip6.arpa", + "dns_host": "linux-49198.local", + "dns_host_addr": "10.115.85.229", + "dns_host_type": "PTR", + "dns_ttl": "120", + "dns_flags": "0", + "dns_opcode": "0", + "dns_class": "1", + "dns_host_class": "1", + "dns_host_raw": "6c696e75782d34393139382e6c6f63616c", + "dns_query": "229.85.115.10.in-addr.arpa", + "dns_query_type": "255", + "app_id": "32", + "ip_version": "4", + "src_bytes": "255", + "dst_bytes": "0", + "src_packets": "1", + "dst_packets": "0", + "start_time": "2023:12:13 15:25:32.669", + "end_time": "2023:12:13 15:25:32.669", + "intf_name": "0", + "egress_intf_id": "0", + "sys_up_time_first": "3234424843", + "sys_up_time_last": "3234424843", + "end_reason": "1", + "app_name": "dns", + "id": "679408454713121799", + "seq_num": "704" + } + }, + { + "json": { + "ts": "Wed Dec 13 15:25:47 2023", + "vendor": "Gigamon", + "version": "6.5.00", + "generator": "gs_apps_appInst16_423722da-33ec-1556-b24b-cda2e74a53f6", + "dns_qdcount": "0", + "dns_ancount": "27", + "dns_transaction_id": "0", + "dns_name": "sys" + } + }, + { + "json": { + "ts": "Wed Dec 13 15:25:47 2023", + "vendor": "Gigamon", + "version": "6.5.00", + "generator": "gs_apps_appInst16_423722da-33ec-1556-b24b-cda2e74a53f6", + "dns_qdcount": "0", + "dns_ancount": "9", + "dns_transaction_id": "0", + "dns_name": "systest-virtual-machine-557153.local", + "dns_host": "systest-virtual-machine-557153.local", + "dns_host_addr": "10.115.84.167", + "dns_host_type": "A", + "dns_reply_code": "0", + "dns_response_time": "3.549374", + "dns_ttl": "120", + "dns_flags": "33792", + "dns_opcode": "" + } + }, + { + "json": { + "ts": "Wed Dec 13 15:25:48 2023", + "vendor": "Gigamon", + "version": "6.5.00", + "generator": "gs_apps_appInst16_423722da-33ec-1556-b24b-cda2e74a53f6", + "dns_qdcount": "0", + "dns_ancount": "9", + "dns_transaction_id": "0", + "dns_name": "systest-virtual-machine-553001.local", + "dns_host": "systest-virtual-machine-553001.local", + "dns_host_addr": "10.115.84.166", + "dns_host_type": "A", + "dns_reply_code": "0", + "dns_response_time": "3.440722", + "dns_ttl": "120" + } + }, + { + "json": { + "ts": "Wed Dec 13 15:25:49 2023", + "vendor": "Gigamon", + "version": "6.5.00", + "generator": "gs_apps_appInst16_423722da-33ec-1556-b24b-cda2e74a53f6", + "dst_mac": "01:00:5e:00:00:fb", + "src_mac": "00:50:56:94:72:27", + "src_ip": "10.115.85.224", + "dst_ip": "224.0.0.251", + "protocol": "17", + "src_port": "5353", + "dst_port": "5353", + "device_inbound_interface": "0", + "dns_qdcount": "3", + "dns_transaction_id": "0", + "dns_name": "7.2.2.7.4.9.e.f.f.f.6.5.0.5.2.0.0.8.0.2.1.0.0.0.0.0.0.0.b.a.c.f. ip6.arpa", + "dns_host": "linux-69817.local", + "dns_host_addr": "10.115.85.224", + "dns_host_type": "PTR", + "dns_ttl": "120", + "dns_flags": "0", + "dns_opcode": "0", + "dns_class": "1", + "dns_host_class": "1", + "dns_host_raw": "6c696e75782d36393831372e6c6f63616c", + "dns_query": "224.85.115.10.in-addr.arpa", + "dns_query_type": "255", + "app_id": "32", + "ip_version": "4", + "src_bytes": "255", + "dst_bytes": "0", + "src_packets": "1", + "dst_packets": "0", + "start_time": "2023:12:13 15:25:34.941", + "end_time": "2023:12:13 15:25:34.941", + "intf_name": "0", + "egress_intf_id": "0", + "sys_up_time_first": "2698143755", + "sys_up_time_last": "2698143755", + "end_reason": "1", + "app_name": "dns", + "id": "679408454713125895", + "seq_num": "708" + } + }, + { + "json": { + "ts": "Wed Dec 13 15:25:49 2023", + "vendor": "Gigamon", + "version": "6.5.00", + "generator": "gs_apps_appInst16_423722da-33ec-1556-b24b-cda2e74a53f6", + "dns_qdcount": "2", + "dns_ancount": "37", + "dns_arcount": "5", + "dns_transaction_id": "0", + "dns_name": "_tcn_eqaHCT._tcp.local", + "dns_host": "MyClust23._t" + } + }, + { + "json": { + "ts": "Wed Dec 13 15:25:49 2023", + "vendor": "Gigamon", + "version": "6.5.00", + "generator": "gs_apps_appInst16_423722da-33ec-1556-b24b-cda2e74a53f6", + "dns_qdcount": "0", + "dns_ancount": "27", + "dns_transaction_id": "0", + "dns_name": "systest-virtual-machine-551405.local" + } + }, + { + "json": { + "ts": "Wed Dec 13 15:25:50 2023", + "vendor": "Gigamon", + "version": "6.5.00", + "generator": "gs_apps_appInst16_423722da-33ec-1556-b24b-cda2e74a53f6", + "dst_mac": "0c:c4:7a:f8:0d:c4", + "src_mac": "00:50:56:9f:7f:ff", + "src_ip": "10.115.83.4", + "dst_ip": "10.115.81.118", + "protocol": "6", + "src_port": "60895", + "dst_port": "9080", + "device_inbound_interface": "0", + "ssl_cipher_suite_id": "49200", + "app_id": "4962", + "ip_version": "4", + "src_bytes": "1533", + "dst_bytes": "2335", + "src_packets": "11", + "dst_packets": "8", + "start_time": "2023:12:13 15:25:35.821", + "end_time": "2023:12:13 15:25:35.821", + "intf_name": "0", + "egress_intf_id": "0", + "sys_up_time_first": "282486795", + "sys_up_time_last": "282486795", + "end_reason": "1", + "app_name": "Unknown ssl", + "id": "679408454713128967", + "seq_num": "711" + } + }, + { + "json": { + "ts": "Wed Dec 13 15:25:50 2023", + "vendor": "Gigamon", + "version": "6.5.00", + "generator": "gs_apps_appInst16_423722da-33ec-1556-b24b-cda2e74a53f6", + "dst_mac": "01:00:5e:00:00:fb", + "src_mac": "00:50:56:86:47:92", + "src_ip": "10.115.84.152", + "dst_ip": "224.0.0.251", + "protocol": "17", + "src_port": "5353", + "dst_port": "5353", + "device_inbound_interface": "0", + "dns_qdcount": "5", + "dns_transaction_id": "0", + "dns_name": "d.6.6.9.b.6.2.9.a.8.3.1.8.4.2.e.0.0.0.0.0.0.0.0.0.0.0.0.0.8.e.f. ip6.arpa", + "dns_host": "systest-virtual-machine-634804.local", + "dns_host_addr": "10.115.84.152", + "dns_host_type": "PTR", + "dns_ttl": "120", + "dns_flags": "0", + "dns_opcode": "0", + "dns_class": "1", + "dns_host_class": "1", + "dns_host_raw": "737973746573742d7669727475616c2d6d616368696e652d3633343830342e6c6f63616c", + "dns_query": "7.7.f.2.5.b.4.f.6.1.a.2.0.1.1.d.0.0.0.0.0.0.0.0.0.0.0.0.0.8.e.f. ip6.arpa", + "dns_query_type": "255", + "app_id": "32", + "ip_version": "4", + "src_bytes": "434", + "dst_bytes": "0", + "src_packets": "1", + "dst_packets": "0", + "start_time": "2023:12:13 15:25:36.429", + "end_time": "2023:12:13 15:25:36.429", + "intf_name": "0", + "egress_intf_id": "0", + "sys_up_time_first": "1893230603", + "sys_up_time_last": "1893230603", + "end_reason": "1", + "app_name": "dns", + "id": "679408454713129991", + "seq_num": "712" + } + }, + { + "json": { + "ts": "Wed Dec 13 15:25:50 2023", + "vendor": "Gigamon", + "version": "6.5.00", + "generator": "gs_apps_appInst16_423722da-33ec-1556-b24b-cda2e74a53f6", + "dns_qdcount": "5", + "dns_transaction_id": "0", + "dns_name": "d.6.6.9.b.6.2.9.a.8.3.1.8.4.2.e.0.0.0.0.0.0.0.0.0.0.0.0.0.8.e.f. ip6.arpa", + "dns_host": "systest-virtual-machine-560119.local", + "dns_host_addr": "10.115.84.170", + "dns_host_type": "PTR", + "dns_ttl": "120" + } + }, + { + "json": { + "ts": "Wed Dec 13 15:25:50 2023", + "vendor": "Gigamon", + "version": "6.5.00", + "generator": "gs_apps_appInst16_423722da-33ec-1556-b24b-cda2e74a53f6", + "dst_mac": "01:00:5e:00:00:fb", + "src_mac": "00:50:56:8d:d8:f7", + "src_ip": "10.114.82.167", + "dst_ip": "224.0.0.251", + "protocol": "17", + "src_port": "5353", + "dst_port": "5353", + "device_inbound_interface": "0", + "dns_qdcount": "4", + "dns_transaction_id": "0", + "dns_name": "0.7.1.8.d.2.7.5.f.d.5.3.8.6.c.6.0.8.0.2.1.0.0.0.0.0.0.0.b.a.c.f. ip6.arpa", + "dns_host": "pnstrex-85508.local", + "dns_host_addr": "10.114.82.167", + "dns_host_type": "PTR", + "dns_ttl": "120", + "dns_flags": "0", + "dns_opcode": "0", + "dns_class": "1", + "dns_host_class": "1", + "dns_host_raw": "706e73747265782d38353530382e6c6f63616c", + "dns_query": "7.7.4.f.0.1.0.d.e.7.9.c.d.f.6.a.0.8.0.2.1.0.0.0.0.0.0.0.b.a.c.f. ip6.arpa", + "dns_query_type": "255", + "app_id": "32", + "ip_version": "4", + "src_bytes": "337", + "dst_bytes": "0", + "src_packets": "1", + "dst_packets": "0", + "start_time": "2023:12:13 15:25:35.805", + "end_time": "2023:12:13 15:25:35.805", + "intf_name": "0", + "egress_intf_id": "0", + "sys_up_time_first": "14051339", + "sys_up_time_last": "14051339", + "end_reason": "1", + "app_name": "dns", + "id": "679408454713132039", + "seq_num": "714" + } + }, + { + "json": { + "ts": "Wed Dec 13 15:25:51 2023", + "vendor": "Gigamon", + "version": "6.5.00", + "generator": "gs_apps_appInst16_423722da-33ec-1556-b24b-cda2e74a53f6", + "dst_mac": "00:50:56:9f:7f:ff", + "src_mac": "0c:c4:7a:f8:0d:c4", + "src_ip": "10.115.81.118", + "dst_ip": "10.115.83.4", + "protocol": "17", + "src_port": "43599", + "dst_port": "902", + "device_inbound_interface": "0", + "app_id": "3902", + "ip_version": "4", + "src_bytes": "377", + "dst_bytes": "0", + "src_packets": "1", + "dst_packets": "0", + "start_time": "2023:12:13 15:25:37.101", + "end_time": "2023:12:13 15:25:37.101", + "intf_name": "0", + "egress_intf_id": "0", + "sys_up_time_first": "282814475", + "sys_up_time_last": "282814475", + "end_reason": "1", + "app_name": "vmware-client", + "id": "679408454713133063", + "seq_num": "715" + } + }, + { + "json": { + "ts": "Wed Dec 13 15:25:51 2023", + "vendor": "Gigamon", + "version": "6.5.00", + "generator": "gs_apps_appInst16_423722da-33ec-1556-b24b-cda2e74a53f6", + "dst_mac": "01:00:5e:00:00:fb", + "src_mac": "00:50:56:94:d4:c8", + "src_ip": "10.115.85.219", + "dst_ip": "224.0.0.251", + "protocol": "17", + "src_port": "5353", + "dst_port": "5353", + "device_inbound_interface": "0", + "dns_qdcount": "3", + "dns_transaction_id": "0", + "dns_name": "8.c.4.d.4.9.e.f.f.f.6.5.0.5.2.0.0.8.0.2.1.0.0.0.0.0.0.0.b.a.c.f. ip6.arpa", + "dns_host": "linux-52271.local", + "dns_host_addr": "10.115.85.219", + "dns_host_type": "PTR", + "dns_ttl": "120", + "dns_flags": "0", + "dns_opcode": "0", + "dns_class": "1", + "dns_host_class": "1", + "dns_host_raw": "6c696e75782d35323237312e6c6f63616c", + "dns_query": "219.85.115.10.in-addr.arpa", + "dns_query_type": "255", + "app_id": "32", + "ip_version": "4", + "src_bytes": "255", + "dst_bytes": "0", + "src_packets": "1", + "dst_packets": "0", + "start_time": "2023:12:13 15:25:37.149", + "end_time": "2023:12:13 15:25:37.149", + "intf_name": "0", + "egress_intf_id": "0", + "sys_up_time_first": "1088120843", + "sys_up_time_last": "1088120843", + "end_reason": "1", + "app_name": "dns", + "id": "679408454713134087", + "seq_num": "716" + } + }, + { + "json": { + "ts": "Wed Dec 13 15:25:51 2023", + "vendor": "Gigamon", + "version": "6.5.00", + "generator": "gs_apps_appInst16_423722da-33ec-1556-b24b-cda2e74a53f6", + "dns_qdcount": "4", + "dns_transaction_id": "0", + "dns_name": "3.d.9.2.5.4.0.b.9.1.8.8.2.1.0.a.0.8.0.2.1.0.0.0.0.0.0.0.b.a.c.f. ip6.arpa", + "dns_host": "pnstrex-61352.local", + "dns_host_addr": "10.114.83.205", + "dns_host_type": "PTR", + "dns_ttl": "120", + "dns_flags": "0", + "dns_opcode": "0", + "dns_class": "1", + "dns_host_class": "1", + "dns_host_raw": "706e73747265782d3631" + } + }, + { + "json": { + "ts": "Wed Dec 13 15:25:52 2023", + "vendor": "Gigamon", + "version": "6.5.00", + "generator": "gs_apps_appInst16_423722da-33ec-1556-b24b-cda2e74a53f6", + "dns_qdcount": "0", + "dns_ancount": "18", + "dns_transaction_id": "0", + "dns_name": "systest-virtual-machine-613736.local", + "dns_host": "systest-virtual-machine-613736.local" + } + }, + { + "json": { + "ts": "Wed Dec 13 15:25:52 2023", + "vendor": "Gigamon", + "version": "6.5.00", + "generator": "gs_apps_appInst16_423722da-33ec-1556-b24b-cda2e74a53f6", + "dst_mac": "00:50:56:b7:a1:53", + "src_mac": "5c:31:92:40:19:7f", + "src_ip": "10.70.70.164", + "dst_ip": "10.115.83.73", + "protocol": "6", + "src_port": "50425", + "dst_port": "22", + "device_inbound_interface": "0", + "app_id": "4968", + "ip_version": "4", + "src_bytes": "518", + "dst_bytes": "286", + "src_packets": "7", + "dst_packets": "3", + "start_time": "2023:12:13 15:25:36.669", + "end_time": "2023:12:13 15:25:38.253", + "intf_name": "0", + "egress_intf_id": "0", + "sys_up_time_first": "1624860683", + "sys_up_time_last": "2430560267", + "end_reason": "1", + "app_name": "Unknown tcp", + "id": "679408454713137159", + "seq_num": "719" + } + }, + { + "json": { + "ts": "Wed Dec 13 15:25:52 2023", + "vendor": "Gigamon", + "version": "6.5.00", + "generator": "gs_apps_appInst16_423722da-33ec-1556-b24b-cda2e74a53f6", + "dns_qdcount": "0", + "dns_ancount": "27", + "dns_transaction_id": "0", + "dns_name": "sys" + } + }, + { + "json": { + "ts": "Wed Dec 13 15:25:52 2023", + "vendor": "Gigamon", + "version": "6.5.00", + "generator": "gs_apps_appInst16_423722da-33ec-1556-b24b-cda2e74a53f6", + "dst_mac": "0c:c4:7a:f8:0d:c4", + "src_mac": "00:50:56:9f:7f:ff", + "src_ip": "10.115.83.4", + "dst_ip": "10.115.81.118", + "protocol": "6", + "src_port": "41529", + "dst_port": "9080", + "device_inbound_interface": "0", + "ssl_cipher_suite_id": "49200", + "app_id": "4962", + "ip_version": "4", + "src_bytes": "1533", + "dst_bytes": "2335", + "src_packets": "11", + "dst_packets": "8", + "start_time": "2023:12:13 15:25:15.821", + "end_time": "2023:12:13 15:25:15.821", + "intf_name": "0", + "egress_intf_id": "0", + "sys_up_time_first": "4035405835", + "sys_up_time_last": "4035405835", + "end_reason": "1", + "app_name": "Unknown ssl", + "id": "679408454713139207", + "seq_num": "721" + } + }, + { + "json": { + "ts": "Wed Dec 13 15:25:52 2023", + "vendor": "Gigamon", + "version": "6.5.00", + "generator": "gs_apps_appInst16_423722da-33ec-1556-b24b-cda2e74a53f6", + "dns_qdcount": "1", + "dns_ancount": "30", + "dns_transaction_id": "0", + "dns_name": "_tms_cluster._tcp.local", + "dns_host": "duo-test-cluster._tms_cluster._tcp.local", + "dns_host_type": "PTR" + } + }, + { + "json": { + "ts": "Wed Dec 13 15:25:52 2023", + "vendor": "Gigamon", + "version": "6.5.00", + "generator": "gs_apps_appInst16_423722da-33ec-1556-b24b-cda2e74a53f6", + "dns_qdcount": "2", + "dns_ancount": "40", + "dns_transaction_id": "0", + "dns_name": "_tcn_Suki-Cluster._tcp.local", + "dns_host": "eqaHCT._tms" + } + }, + { + "json": { + "ts": "Wed Dec 13 15:25:54 2023", + "vendor": "Gigamon", + "version": "6.5.00", + "generator": "gs_apps_appInst16_423722da-33ec-1556-b24b-cda2e74a53f6", + "dst_mac": "01:00:5e:00:00:fb", + "src_mac": "00:50:56:a0:50:0d", + "src_ip": "10.115.82.8", + "dst_ip": "224.0.0.251", + "protocol": "17", + "src_port": "5353", + "dst_port": "5353", + "device_inbound_interface": "0", + "dns_qdcount": "7", + "dns_transaction_id": "0", + "dns_flags": "0", + "dns_opcode": "0", + "dns_class": "1", + "dns_query": "_webdav._tcp.local", + "dns_query_type": "12", + "app_id": "32", + "ip_version": "4", + "src_bytes": "247", + "dst_bytes": "0", + "src_packets": "2", + "dst_packets": "0", + "start_time": "2023:12:13 15:25:39.533", + "end_time": "2023:12:13 15:25:40.285", + "intf_name": "0", + "egress_intf_id": "0", + "sys_up_time_first": "2430887947", + "sys_up_time_last": "2162649099", + "end_reason": "1", + "app_name": "dns", + "id": "679408454713142279", + "seq_num": "724" + } + } + ] +} diff --git a/packages/gigamon/data_stream/ami/_dev/test/pipeline/test-ami.json-expected.json b/packages/gigamon/data_stream/ami/_dev/test/pipeline/test-ami.json-expected.json new file mode 100644 index 00000000000..62361552702 --- /dev/null +++ b/packages/gigamon/data_stream/ami/_dev/test/pipeline/test-ami.json-expected.json @@ -0,0 +1,2915 @@ +{ + "expected": [ + { + "@timestamp": "2023-12-13T15:25:25.000Z", + "ecs": { + "version": "8.11.0" + }, + "gigamon": { + "ami": { + "app_id": 32, + "app_name": "dns", + "device_inbound_interface": "0", + "dns_class": "1", + "dns_flags": "0", + "dns_host": "pnstrex-83816.local", + "dns_host_addr": "10.114.82.101", + "dns_host_class": "1", + "dns_host_raw": "706e73747265782d38333831362e6c6f63616c", + "dns_host_type": "PTR", + "dns_name": "a.b.2.b.9.6.c.2.3.9.3.d.6.2.6.a.0.8.0.2.1.0.0.0.0.0.0.0.b.a.c.f. ip6.arpa", + "dns_opcode": "0", + "dns_qdcount": 4, + "dns_query": "f.7.5.2.e.7.6.2.4.c.1.c.4.c.6.1.0.8.0.2.1.0.0.0.0.0.0.0.b.a.c.f. ip6.arpa", + "dns_query_type": "255", + "dns_query_type_value": "*", + "dns_transaction_id": 0, + "dns_ttl": 120, + "dst_bytes": 0, + "dst_ip": "224.0.0.251", + "dst_mac": "01:00:5e:00:00:fb", + "dst_packets": 0, + "dst_port": 5353, + "egress_intf_id": "0", + "end_reason": "1", + "end_reason_value": "Idle Timeout", + "end_time": "2023-12-13T15:25:11.181Z", + "generator": "gs_apps_appInst16_423722da-33ec-1556-b24b-cda2e74a53f6", + "id": "679408454713072647", + "intf_name": "0", + "ip_version": "4", + "protocol": "17", + "seq_num": 656, + "src_bytes": 337, + "src_ip": "10.114.82.101", + "src_mac": "00:50:56:8d:89:41", + "src_packets": 1, + "src_port": 5353, + "start_time": "2023-12-13T15:25:11.181Z", + "sys_up_time_first": 3497355275, + "sys_up_time_last": 3497355275, + "ts": "2023-12-13T15:25:25.000Z", + "vendor": "Gigamon", + "version": "6.5.00" + } + }, + "tags": [ + "preserve_original_event" + ] + }, + { + "@timestamp": "2023-12-13T15:25:26.000Z", + "ecs": { + "version": "8.11.0" + }, + "gigamon": { + "ami": { + "app_id": 32, + "app_name": "dns", + "device_inbound_interface": "0", + "dns_ancount": 4, + "dns_class": "1", + "dns_flags": "0", + "dns_host": "HCT_6011-181e00a30af6._tcn_eqaHCT._tcp.local", + "dns_host_class": "1", + "dns_host_raw": "4843545f363031312d3138316530306133306166362e5f74636e5f6571614843542e5f7463702e6c6f63616c", + "dns_host_type": "PTR", + "dns_name": "_tcn_eqaHCT._tcp.local", + "dns_opcode": "0", + "dns_qdcount": 2, + "dns_query": "HCT_6011-181e00a30af6._tcn_eqaHCT._tcp.local", + "dns_query_type": "16", + "dns_query_type_value": "TXT", + "dns_transaction_id": 0, + "dns_ttl": 4499, + "dst_bytes": 0, + "dst_ip": "224.0.0.251", + "dst_mac": "01:00:5e:00:00:fb", + "dst_packets": 0, + "dst_port": 5353, + "egress_intf_id": "0", + "end_reason": "1", + "end_reason_value": "Idle Timeout", + "end_time": "2023-12-13T15:25:11.789Z", + "generator": "gs_apps_appInst16_423722da-33ec-1556-b24b-cda2e74a53f6", + "id": "679408454713073671", + "intf_name": "0", + "ip_version": "4", + "protocol": "17", + "seq_num": 657, + "src_bytes": 324, + "src_ip": "10.115.80.208", + "src_mac": "00:1d:ac:45:34:00", + "src_packets": 2, + "src_port": 5353, + "start_time": "2023-12-13T15:25:10.797Z", + "sys_up_time_first": 1349806091, + "sys_up_time_last": 813197323, + "ts": "2023-12-13T15:25:26.000Z", + "vendor": "Gigamon", + "version": "6.5.00" + } + }, + "tags": [ + "preserve_original_event" + ] + }, + { + "@timestamp": "2023-12-13T15:25:27.000Z", + "ecs": { + "version": "8.11.0" + }, + "gigamon": { + "ami": { + "app_id": 32, + "app_name": "dns", + "device_inbound_interface": "0", + "dns_class": "1", + "dns_flags": "0", + "dns_host": "linux-49197.local", + "dns_host_addr": "10.115.85.229", + "dns_host_class": "1", + "dns_host_raw": "6c696e75782d34393139372e6c6f63616c", + "dns_host_type": "PTR", + "dns_name": "b.d.2.6.4.9.e.f.f.f.6.5.0.5.2.0.0.8.0.2.1.0.0.0.0.0.0.0.b.a.c.f. ip6.arpa", + "dns_opcode": "0", + "dns_qdcount": 3, + "dns_query": "229.85.115.10.in-addr.arpa", + "dns_query_type": "255", + "dns_query_type_value": "*", + "dns_transaction_id": 0, + "dns_ttl": 120, + "dst_bytes": 0, + "dst_ip": "224.0.0.251", + "dst_mac": "01:00:5e:00:00:fb", + "dst_packets": 0, + "dst_port": 5353, + "egress_intf_id": "0", + "end_reason": "1", + "end_reason_value": "Idle Timeout", + "end_time": "2023-12-13T15:25:12.781Z", + "generator": "gs_apps_appInst16_423722da-33ec-1556-b24b-cda2e74a53f6", + "id": "679408454713074695", + "intf_name": "0", + "ip_version": "4", + "protocol": "17", + "seq_num": 658, + "src_bytes": 255, + "src_ip": "10.115.85.229", + "src_mac": "00:50:56:94:62:db", + "src_packets": 1, + "src_port": 5353, + "start_time": "2023-12-13T15:25:12.781Z", + "sys_up_time_first": 276588555, + "sys_up_time_last": 276588555, + "ts": "2023-12-13T15:25:27.000Z", + "vendor": "Gigamon", + "version": "6.5.00" + } + }, + "tags": [ + "preserve_original_event" + ] + }, + { + "@timestamp": "2023-12-13T15:25:27.000Z", + "ecs": { + "version": "8.11.0" + }, + "gigamon": { + "ami": { + "dns_ancount": 9, + "dns_flags": "33792", + "dns_host": "systest-virtual-machine-557152.local", + "dns_host_addr": "10.115.84.167", + "dns_host_type": "A", + "dns_name": "systest-virtual-machine-557152.local", + "dns_qdcount": 0, + "dns_reply_code": "0", + "dns_reply_code_value": "No Error", + "dns_response_time": 3.412379, + "dns_transaction_id": 0, + "dns_ttl": 120, + "generator": "gs_apps_appInst16_423722da-33ec-1556-b24b-cda2e74a53f6", + "ts": "2023-12-13T15:25:27.000Z", + "vendor": "Gigamon", + "version": "6.5.00" + } + }, + "tags": [ + "preserve_original_event" + ] + }, + { + "@timestamp": "2023-12-13T15:25:27.000Z", + "ecs": { + "version": "8.11.0" + }, + "gigamon": { + "ami": { + "dns_ancount": 400, + "dns_name": "_", + "dns_qdcount": 2, + "dns_transaction_id": 0, + "generator": "gs_apps_appInst16_423722da-33ec-1556-b24b-cda2e74a53f6", + "ts": "2023-12-13T15:25:27.000Z", + "vendor": "Gigamon", + "version": "6.5.00" + } + }, + "tags": [ + "preserve_original_event" + ] + }, + { + "@timestamp": "2023-12-13T15:25:28.000Z", + "ecs": { + "version": "8.11.0" + }, + "gigamon": { + "ami": { + "dns_ancount": 27, + "dns_name": "systest-virtual-machine-552999.local", + "dns_qdcount": 0, + "dns_transaction_id": 0, + "generator": "gs_apps_appInst16_423722da-33ec-1556-b24b-cda2e74a53f6", + "ts": "2023-12-13T15:25:28.000Z", + "vendor": "Gigamon", + "version": "6.5.00" + } + }, + "tags": [ + "preserve_original_event" + ] + }, + { + "@timestamp": "2023-12-13T15:25:28.000Z", + "ecs": { + "version": "8.11.0" + }, + "gigamon": { + "ami": { + "dns_ancount": 19, + "dns_host": "gigamon_8b6c6e-3513b246ab72._tcn_ABCD99995._tcp.local", + "dns_host_type": "PTR", + "dns_name": "_tcn_ABCD99995._tcp.local", + "dns_qdcount": 1, + "dns_transaction_id": 0, + "generator": "gs_apps_appInst16_423722da-33ec-1556-b24b-cda2e74a53f6", + "ts": "2023-12-13T15:25:28.000Z", + "vendor": "Gigamon", + "version": "6.5.00" + } + }, + "tags": [ + "preserve_original_event" + ] + }, + { + "@timestamp": "2023-12-13T15:25:29.000Z", + "ecs": { + "version": "8.11.0" + }, + "gigamon": { + "ami": { + "app_id": 32, + "app_name": "dns", + "device_inbound_interface": "0", + "dns_class": "1", + "dns_flags": "0", + "dns_host": "linux-69816.local", + "dns_host_addr": "10.115.85.224", + "dns_host_class": "1", + "dns_host_raw": "6c696e75782d36393831362e6c6f63616c", + "dns_host_type": "PTR", + "dns_name": "7.2.2.7.4.9.e.f.f.f.6.5.0.5.2.0.0.8.0.2.1.0.0.0.0.0.0.0.b.a.c.f. ip6.arpa", + "dns_opcode": "0", + "dns_qdcount": 3, + "dns_query": "224.85.115.10.in-addr.arpa", + "dns_query_type": "255", + "dns_query_type_value": "*", + "dns_transaction_id": 0, + "dns_ttl": 120, + "dst_bytes": 0, + "dst_ip": "224.0.0.251", + "dst_mac": "01:00:5e:00:00:fb", + "dst_packets": 0, + "dst_port": 5353, + "egress_intf_id": "0", + "end_reason": "1", + "end_reason_value": "Idle Timeout", + "end_time": "2023-12-13T15:25:15.037Z", + "generator": "gs_apps_appInst16_423722da-33ec-1556-b24b-cda2e74a53f6", + "id": "679408454713079815", + "intf_name": "0", + "ip_version": "4", + "protocol": "17", + "seq_num": 663, + "src_bytes": 255, + "src_ip": "10.115.85.224", + "src_mac": "00:50:56:94:72:27", + "src_packets": 1, + "src_port": 5353, + "start_time": "2023-12-13T15:25:15.037Z", + "sys_up_time_first": 3766773771, + "sys_up_time_last": 3766773771, + "ts": "2023-12-13T15:25:29.000Z", + "vendor": "Gigamon", + "version": "6.5.00" + } + }, + "tags": [ + "preserve_original_event" + ] + }, + { + "@timestamp": "2023-12-13T15:25:30.000Z", + "ecs": { + "version": "8.11.0" + }, + "gigamon": { + "ami": { + "app_id": 32, + "app_name": "dns", + "device_inbound_interface": "0", + "dns_class": "1", + "dns_flags": "0", + "dns_host": "pnstrex-85507.local", + "dns_host_addr": "10.114.82.167", + "dns_host_class": "1", + "dns_host_raw": "706e73747265782d38353530372e6c6f63616c", + "dns_host_type": "PTR", + "dns_name": "0.7.1.8.d.2.7.5.f.d.5.3.8.6.c.6.0.8.0.2.1.0.0.0.0.0.0.0.b.a.c.f. ip6.arpa", + "dns_opcode": "0", + "dns_qdcount": 4, + "dns_query": "7.7.4.f.0.1.0.d.e.7.9.c.d.f.6.a.0.8.0.2.1.0.0.0.0.0.0.0.b.a.c.f. ip6.arpa", + "dns_query_type": "255", + "dns_query_type_value": "*", + "dns_transaction_id": 0, + "dns_ttl": 120, + "dst_bytes": 0, + "dst_ip": "224.0.0.251", + "dst_mac": "01:00:5e:00:00:fb", + "dst_packets": 0, + "dst_port": 5353, + "egress_intf_id": "0", + "end_reason": "1", + "end_reason_value": "Idle Timeout", + "end_time": "2023-12-13T15:25:15.901Z", + "generator": "gs_apps_appInst16_423722da-33ec-1556-b24b-cda2e74a53f6", + "id": "679408454713080839", + "intf_name": "0", + "ip_version": "4", + "protocol": "17", + "seq_num": 664, + "src_bytes": 337, + "src_ip": "10.114.82.167", + "src_mac": "00:50:56:8d:d8:f7", + "src_packets": 1, + "src_port": 5353, + "start_time": "2023-12-13T15:25:15.901Z", + "sys_up_time_first": 1082681355, + "sys_up_time_last": 1082681355, + "ts": "2023-12-13T15:25:30.000Z", + "vendor": "Gigamon", + "version": "6.5.00" + } + }, + "tags": [ + "preserve_original_event" + ] + }, + { + "@timestamp": "2023-12-13T15:25:30.000Z", + "ecs": { + "version": "8.11.0" + }, + "gigamon": { + "ami": { + "app_id": 32, + "app_name": "dns", + "device_inbound_interface": "0", + "dns_class": "1", + "dns_flags": "0", + "dns_host": "pnstrex-61351.local", + "dns_host_addr": "10.114.83.205", + "dns_host_class": "1", + "dns_host_raw": "706e73747265782d36313335312e6c6f63616c", + "dns_host_type": "PTR", + "dns_name": "3.d.9.2.5.4.0.b.9.1.8.8.2.1.0.a.0.8.0.2.1.0.0.0.0.0.0.0.b.a.c.f. ip6.arpa", + "dns_opcode": "0", + "dns_qdcount": 4, + "dns_query": "2.7.8.c.f.f.6.2.a.5.8.1.2.3.4.a.0.8.0.2.1.0.0.0.0.0.0.0.b.a.c.f. ip6.arpa", + "dns_query_type": "255", + "dns_query_type_value": "*", + "dns_transaction_id": 0, + "dns_ttl": 120, + "dst_bytes": 0, + "dst_ip": "224.0.0.251", + "dst_mac": "01:00:5e:00:00:fb", + "dst_packets": 0, + "dst_port": 5353, + "egress_intf_id": "0", + "end_reason": "1", + "end_reason_value": "Idle Timeout", + "end_time": "2023-12-13T15:25:15.917Z", + "generator": "gs_apps_appInst16_423722da-33ec-1556-b24b-cda2e74a53f6", + "id": "679408454713081863", + "intf_name": "0", + "ip_version": "4", + "protocol": "17", + "seq_num": 665, + "src_bytes": 335, + "src_ip": "10.114.83.205", + "src_mac": "00:50:56:9c:74:4e", + "src_packets": 1, + "src_port": 5353, + "start_time": "2023-12-13T15:25:15.917Z", + "sys_up_time_first": 1351116811, + "sys_up_time_last": 1351116811, + "ts": "2023-12-13T15:25:30.000Z", + "vendor": "Gigamon", + "version": "6.5.00" + } + }, + "tags": [ + "preserve_original_event" + ] + }, + { + "@timestamp": "2023-12-13T15:25:31.000Z", + "ecs": { + "version": "8.11.0" + }, + "gigamon": { + "ami": { + "app_id": 32, + "app_name": "dns", + "device_inbound_interface": "0", + "dns_class": "1", + "dns_flags": "0", + "dns_host": "linux-52270.local", + "dns_host_addr": "10.115.85.219", + "dns_host_class": "1", + "dns_host_raw": "6c696e75782d35323237302e6c6f63616c", + "dns_host_type": "PTR", + "dns_name": "8.c.4.d.4.9.e.f.f.f.6.5.0.5.2.0.0.8.0.2.1.0.0.0.0.0.0.0.b.a.c.f. ip6.arpa", + "dns_opcode": "0", + "dns_qdcount": 3, + "dns_query": "219.85.115.10.in-addr.arpa", + "dns_query_type": "255", + "dns_query_type_value": "*", + "dns_transaction_id": 0, + "dns_ttl": 120, + "dst_bytes": 0, + "dst_ip": "224.0.0.251", + "dst_mac": "01:00:5e:00:00:fb", + "dst_packets": 0, + "dst_port": 5353, + "egress_intf_id": "0", + "end_reason": "1", + "end_reason_value": "Idle Timeout", + "end_time": "2023-12-13T15:25:17.229Z", + "generator": "gs_apps_appInst16_423722da-33ec-1556-b24b-cda2e74a53f6", + "id": "679408454713082887", + "intf_name": "0", + "ip_version": "4", + "protocol": "17", + "seq_num": 666, + "src_bytes": 255, + "src_ip": "10.115.85.219", + "src_mac": "00:50:56:94:d4:c8", + "src_packets": 1, + "src_port": 5353, + "start_time": "2023-12-13T15:25:17.229Z", + "sys_up_time_first": 1888315403, + "sys_up_time_last": 1888315403, + "ts": "2023-12-13T15:25:31.000Z", + "vendor": "Gigamon", + "version": "6.5.00" + } + }, + "tags": [ + "preserve_original_event" + ] + }, + { + "@timestamp": "2023-12-13T15:25:33.000Z", + "ecs": { + "version": "8.11.0" + }, + "gigamon": { + "ami": { + "app_id": 4979, + "app_name": "Unknown udp", + "device_inbound_interface": "0", + "dst_bytes": 0, + "dst_ip": "10.115.83.43", + "dst_mac": "00:50:56:9d:d1:ff", + "dst_packets": 0, + "dst_port": 514, + "egress_intf_id": "0", + "end_reason": "2", + "end_reason_value": "Active Timeout", + "end_time": "2023-12-13T15:25:31.645Z", + "generator": "gs_apps_appInst16_423722da-33ec-1556-b24b-cda2e74a53f6", + "id": "679408454713083911", + "intf_name": "0", + "ip_version": "4", + "protocol": "17", + "seq_num": 667, + "src_bytes": 837334, + "src_ip": "10.115.83.37", + "src_mac": "00:50:56:b7:e4:a1", + "src_packets": 629, + "src_port": 23384, + "start_time": "2023-12-13T15:24:33.549Z", + "sys_up_time_first": 3504498443, + "sys_up_time_last": 3234162699, + "ts": "2023-12-13T15:25:33.000Z", + "vendor": "Gigamon", + "version": "6.5.00" + } + }, + "tags": [ + "preserve_original_event" + ] + }, + { + "@timestamp": "2023-12-13T15:25:35.000Z", + "ecs": { + "version": "8.11.0" + }, + "gigamon": { + "ami": { + "dns_ancount": 9, + "dns_flags": "33792", + "dns_host": "systest-virtual-machine-552428.local", + "dns_host_addr": "10.115.84.155", + "dns_host_type": "A", + "dns_name": "systest-virtual-machine-552428.local", + "dns_qdcount": 0, + "dns_reply_code": "0", + "dns_reply_code_value": "No Error", + "dns_response_time": 3.520447, + "dns_transaction_id": 0, + "dns_ttl": 120, + "generator": "gs_apps_appInst16_423722da-33ec-1556-b24b-cda2e74a53f6", + "ts": "2023-12-13T15:25:35.000Z", + "vendor": "Gigamon", + "version": "6.5.00" + } + }, + "tags": [ + "preserve_original_event" + ] + }, + { + "@timestamp": "2023-12-13T15:25:35.000Z", + "ecs": { + "version": "8.11.0" + }, + "gigamon": { + "ami": { + "app_id": 32, + "app_name": "dns", + "device_inbound_interface": "0", + "dns_class": "1", + "dns_flags": "0", + "dns_host": "systest-virtual-machine-560412.local", + "dns_host_addr": "10.115.84.168", + "dns_host_class": "1", + "dns_host_raw": "737973746573742d7669727475616c2d6d616368696e652d3536303431322e6c6f63616c", + "dns_host_type": "PTR", + "dns_name": "d.6.6.9.b.6.2.9.a.8.3.1.8.4.2.e.0.0.0.0.0.0.0.0.0.0.0.0.0.8.e.f. ip6.arpa", + "dns_opcode": "0", + "dns_qdcount": 5, + "dns_query": "7.7.f.2.5.b.4.f.6.1.a.2.0.1.1.d.0.0.0.0.0.0.0.0.0.0.0.0.0.8.e.f. ip6.arpa", + "dns_query_type": "255", + "dns_query_type_value": "*", + "dns_transaction_id": 0, + "dns_ttl": 120, + "dst_bytes": 0, + "dst_ip": "224.0.0.251", + "dst_mac": "01:00:5e:00:00:fb", + "dst_packets": 0, + "dst_port": 5353, + "egress_intf_id": "0", + "end_reason": "1", + "end_reason_value": "Idle Timeout", + "end_time": "2023-12-13T15:25:20.509Z", + "generator": "gs_apps_appInst16_423722da-33ec-1556-b24b-cda2e74a53f6", + "id": "679408454713085959", + "intf_name": "0", + "ip_version": "4", + "protocol": "17", + "seq_num": 669, + "src_bytes": 434, + "src_ip": "10.115.84.168", + "src_mac": "00:50:56:86:1f:d9", + "src_packets": 1, + "src_port": 5353, + "start_time": "2023-12-13T15:25:20.509Z", + "sys_up_time_first": 1083861003, + "sys_up_time_last": 1083861003, + "ts": "2023-12-13T15:25:35.000Z", + "vendor": "Gigamon", + "version": "6.5.00" + } + }, + "tags": [ + "preserve_original_event" + ] + }, + { + "@timestamp": "2023-12-13T15:25:35.000Z", + "ecs": { + "version": "8.11.0" + }, + "gigamon": { + "ami": { + "dns_class": "1", + "dns_flags": "0", + "dns_host": "systest-virtual-machine-627950.local", + "dns_host_addr": "10.115.84.154", + "dns_host_class": "1", + "dns_host_raw": "737973746573742d7669727475616c2d6d616368696e652d3632373935302e6c6f63616c", + "dns_host_type": "PTR", + "dns_name": "d.6.6.9.b.6.2.9.a.8.3.1.8.4.2.e.0.0.0.0.0.0.0.0.0.0.0.0.0.8.e.f. ip6.arpa", + "dns_opcode": "0", + "dns_qdcount": 5, + "dns_transaction_id": 0, + "dns_ttl": 120, + "generator": "gs_apps_appInst16_423722da-33ec-1556-b24b-cda2e74a53f6", + "ts": "2023-12-13T15:25:35.000Z", + "vendor": "Gigamon", + "version": "6.5.00" + } + }, + "tags": [ + "preserve_original_event" + ] + }, + { + "@timestamp": "2023-12-13T15:25:36.000Z", + "ecs": { + "version": "8.11.0" + }, + "gigamon": { + "ami": { + "app_id": 32, + "app_name": "dns", + "device_inbound_interface": "0", + "dns_class": "1", + "dns_flags": "0", + "dns_host": "systest-virtual-machine-561372.local", + "dns_host_addr": "10.115.84.162", + "dns_host_class": "1", + "dns_host_raw": "737973746573742d7669727475616c2d6d616368696e652d3536313337322e6c6f63616c", + "dns_host_type": "PTR", + "dns_name": "d.6.6.9.b.6.2.9.a.8.3.1.8.4.2.e.0.0.0.0.0.0.0.0.0.0.0.0.0.8.e.f. ip6.arpa", + "dns_opcode": "0", + "dns_qdcount": 5, + "dns_query": "7.7.f.2.5.b.4.f.6.1.a.2.0.1.1.d.0.0.0.0.0.0.0.0.0.0.0.0.0.8.e.f. ip6.arpa", + "dns_query_type": "255", + "dns_query_type_value": "*", + "dns_transaction_id": 0, + "dns_ttl": 120, + "dst_bytes": 0, + "dst_ip": "224.0.0.251", + "dst_mac": "01:00:5e:00:00:fb", + "dst_packets": 0, + "dst_port": 5353, + "egress_intf_id": "0", + "end_reason": "1", + "end_reason_value": "Idle Timeout", + "end_time": "2023-12-13T15:25:21.661Z", + "generator": "gs_apps_appInst16_423722da-33ec-1556-b24b-cda2e74a53f6", + "id": "679408454713088007", + "intf_name": "0", + "ip_version": "4", + "protocol": "17", + "seq_num": 671, + "src_bytes": 434, + "src_ip": "10.115.84.162", + "src_mac": "00:50:56:86:24:0a", + "src_packets": 1, + "src_port": 5353, + "start_time": "2023-12-13T15:25:21.661Z", + "sys_up_time_first": 3231606795, + "sys_up_time_last": 3231606795, + "ts": "2023-12-13T15:25:36.000Z", + "vendor": "Gigamon", + "version": "6.5.00" + } + }, + "tags": [ + "preserve_original_event" + ] + }, + { + "@timestamp": "2023-12-13T15:25:36.000Z", + "ecs": { + "version": "8.11.0" + }, + "gigamon": { + "ami": { + "app_id": 32, + "app_name": "dns", + "device_inbound_interface": "0", + "dns_class": "1", + "dns_flags": "0", + "dns_host": "linux-76620.local", + "dns_host_addr": "10.115.85.220", + "dns_host_class": "1", + "dns_host_raw": "6c696e75782d37363632302e6c6f63616c", + "dns_host_type": "PTR", + "dns_name": "9.7.c.d.4.9.e.f.f.f.6.5.0.5.2.0.0.8.0.2.1.0.0.0.0.0.0.0.b.a.c.f. ip6.arpa", + "dns_opcode": "0", + "dns_qdcount": 3, + "dns_query": "220.85.115.10.in-addr.arpa", + "dns_query_type": "255", + "dns_query_type_value": "*", + "dns_transaction_id": 0, + "dns_ttl": 120, + "dst_bytes": 0, + "dst_ip": "224.0.0.251", + "dst_mac": "01:00:5e:00:00:fb", + "dst_packets": 0, + "dst_port": 5353, + "egress_intf_id": "0", + "end_reason": "1", + "end_reason_value": "Idle Timeout", + "end_time": "2023-12-13T15:25:21.469Z", + "generator": "gs_apps_appInst16_423722da-33ec-1556-b24b-cda2e74a53f6", + "id": "679408454713089031", + "intf_name": "0", + "ip_version": "4", + "protocol": "17", + "seq_num": 672, + "src_bytes": 255, + "src_ip": "10.115.85.220", + "src_mac": "00:50:56:94:dc:79", + "src_packets": 1, + "src_port": 5353, + "start_time": "2023-12-13T15:25:21.469Z", + "sys_up_time_first": 10381323, + "sys_up_time_last": 10381323, + "ts": "2023-12-13T15:25:36.000Z", + "vendor": "Gigamon", + "version": "6.5.00" + } + }, + "tags": [ + "preserve_original_event" + ] + }, + { + "@timestamp": "2023-12-13T15:25:36.000Z", + "ecs": { + "version": "8.11.0" + }, + "gigamon": { + "ami": { + "app_id": 4968, + "app_name": "Unknown tcp", + "device_inbound_interface": "0", + "dst_bytes": 28400, + "dst_ip": "10.115.83.73", + "dst_mac": "00:50:56:b7:a1:53", + "dst_packets": 197, + "dst_port": 22, + "egress_intf_id": "0", + "end_reason": "2", + "end_reason_value": "Active Timeout", + "end_time": "2023-12-13T15:25:36.605Z", + "generator": "gs_apps_appInst16_423722da-33ec-1556-b24b-cda2e74a53f6", + "id": "679408454713090055", + "intf_name": "0", + "ip_version": "4", + "protocol": "6", + "seq_num": 673, + "src_bytes": 18808, + "src_ip": "10.70.70.164", + "src_mac": "5c:31:92:40:19:7f", + "src_packets": 223, + "src_port": 50425, + "start_time": "2023-12-13T15:24:37.341Z", + "sys_up_time_first": 2700175115, + "sys_up_time_last": 551118859, + "ts": "2023-12-13T15:25:36.000Z", + "vendor": "Gigamon", + "version": "6.5.00" + } + }, + "tags": [ + "preserve_original_event" + ] + }, + { + "@timestamp": "2023-12-13T15:25:37.000Z", + "ecs": { + "version": "8.11.0" + }, + "gigamon": { + "ami": { + "app_id": 32, + "app_name": "dns", + "device_inbound_interface": "0", + "dns_class": "1", + "dns_flags": "0", + "dns_host": "systest-virtual-machine-611134.local", + "dns_host_addr": "10.115.84.172", + "dns_host_class": "1", + "dns_host_raw": "737973746573742d7669727475616c2d6d616368696e652d3631313133342e6c6f63616c", + "dns_host_type": "PTR", + "dns_name": "d.6.6.9.b.6.2.9.a.8.3.1.8.4.2.e.0.0.0.0.0.0.0.0.0.0.0.0.0.8.e.f. ip6.arpa", + "dns_opcode": "0", + "dns_qdcount": 5, + "dns_query": "7.7.f.2.5.b.4.f.6.1.a.2.0.1.1.d.0.0.0.0.0.0.0.0.0.0.0.0.0.8.e.f. ip6.arpa", + "dns_query_type": "255", + "dns_query_type_value": "*", + "dns_transaction_id": 0, + "dns_ttl": 120, + "dst_bytes": 0, + "dst_ip": "224.0.0.251", + "dst_mac": "01:00:5e:00:00:fb", + "dst_packets": 0, + "dst_port": 5353, + "egress_intf_id": "0", + "end_reason": "1", + "end_reason_value": "Idle Timeout", + "end_time": "2023-12-13T15:24:49.629Z", + "generator": "gs_apps_appInst16_423722da-33ec-1556-b24b-cda2e74a53f6", + "id": "679408454713091079", + "intf_name": "0", + "ip_version": "4", + "protocol": "17", + "seq_num": 674, + "src_bytes": 434, + "src_ip": "10.115.84.172", + "src_mac": "00:50:56:86:62:5f", + "src_packets": 1, + "src_port": 5353, + "start_time": "2023-12-13T15:24:49.629Z", + "sys_up_time_first": 2686543883, + "sys_up_time_last": 2686543883, + "ts": "2023-12-13T15:25:37.000Z", + "vendor": "Gigamon", + "version": "6.5.00" + } + }, + "tags": [ + "preserve_original_event" + ] + }, + { + "@timestamp": "2023-12-13T15:25:37.000Z", + "ecs": { + "version": "8.11.0" + }, + "gigamon": { + "ami": { + "app_id": 32, + "app_name": "dns", + "device_inbound_interface": "0", + "dns_class": "1", + "dns_flags": "0", + "dns_host": "linux-68644.local", + "dns_host_addr": "10.115.85.221", + "dns_host_class": "1", + "dns_host_raw": "6c696e75782d36383634342e6c6f63616c", + "dns_host_type": "PTR", + "dns_name": "0.c.b.3.4.9.e.f.f.f.6.5.0.5.2.0.0.8.0.2.1.0.0.0.0.0.0.0.b.a.c.f. ip6.arpa", + "dns_opcode": "0", + "dns_qdcount": 3, + "dns_query": "221.85.115.10.in-addr.arpa", + "dns_query_type": "255", + "dns_query_type_value": "*", + "dns_transaction_id": 0, + "dns_ttl": 120, + "dst_bytes": 0, + "dst_ip": "224.0.0.251", + "dst_mac": "01:00:5e:00:00:fb", + "dst_packets": 0, + "dst_port": 5353, + "egress_intf_id": "0", + "end_reason": "1", + "end_reason_value": "Idle Timeout", + "end_time": "2023-12-13T15:25:01.501Z", + "generator": "gs_apps_appInst16_423722da-33ec-1556-b24b-cda2e74a53f6", + "id": "679408454713092103", + "intf_name": "0", + "ip_version": "4", + "protocol": "17", + "seq_num": 675, + "src_bytes": 510, + "src_ip": "10.115.85.221", + "src_mac": "00:50:56:94:3b:c0", + "src_packets": 2, + "src_port": 5353, + "start_time": "2023-12-13T15:24:41.469Z", + "sys_up_time_first": 3221317643, + "sys_up_time_last": 5269515, + "ts": "2023-12-13T15:25:37.000Z", + "vendor": "Gigamon", + "version": "6.5.00" + } + }, + "tags": [ + "preserve_original_event" + ] + }, + { + "@timestamp": "2023-12-13T15:25:37.000Z", + "ecs": { + "version": "8.11.0" + }, + "gigamon": { + "ami": { + "app_id": 32, + "app_name": "dns", + "device_inbound_interface": "0", + "dns_class": "1", + "dns_flags": "0", + "dns_opcode": "0", + "dns_qdcount": 2, + "dns_query": "_ipps._tcp.local", + "dns_query_type": "12", + "dns_query_type_value": "PTR", + "dns_transaction_id": 0, + "dst_bytes": 0, + "dst_ip": "224.0.0.251", + "dst_mac": "01:00:5e:00:00:fb", + "dst_packets": 0, + "dst_port": 5353, + "egress_intf_id": "0", + "end_reason": "1", + "end_reason_value": "Idle Timeout", + "end_time": "2023-12-13T15:25:18.861Z", + "generator": "gs_apps_appInst16_423722da-33ec-1556-b24b-cda2e74a53f6", + "id": "679408454713093127", + "intf_name": "0", + "ip_version": "4", + "protocol": "17", + "seq_num": 676, + "src_bytes": 87, + "src_ip": "10.114.83.61", + "src_mac": "00:50:56:8d:fa:3e", + "src_packets": 1, + "src_port": 5353, + "start_time": "2023-12-13T15:25:18.861Z", + "sys_up_time_first": 3499321355, + "sys_up_time_last": 3499321355, + "ts": "2023-12-13T15:25:37.000Z", + "vendor": "Gigamon", + "version": "6.5.00" + } + }, + "tags": [ + "preserve_original_event" + ] + }, + { + "@timestamp": "2023-12-13T15:25:37.000Z", + "ecs": { + "version": "8.11.0" + }, + "gigamon": { + "ami": { + "app_id": 32, + "device_inbound_interface": "0", + "dns_class": "1", + "dns_flags": "0", + "dns_host": "tg-91532.local", + "dns_host_addr": "10.114.83.75", + "dns_host_class": "1", + "dns_host_raw": "74672d39313533322e6c6f63616c", + "dns_host_type": "PTR", + "dns_name": "2.2.0.0.0.0.0.0.0.0.0.0.0.0.0.0.b.0.0.1.a.0.2.4.4.3.2.1.3.6.1.2. ip6.arpa", + "dns_opcode": "0", + "dns_qdcount": 3, + "dns_query": "75.83.114.10.in-addr.arpa", + "dns_query_type": "255", + "dns_query_type_value": "*", + "dns_transaction_id": 0, + "dns_ttl": 120, + "dst_ip": "224.0.0.251", + "dst_mac": "01:00:5e:00:00:fb", + "dst_port": 5353, + "generator": "gs_apps_appInst16_423722da-33ec-1556-b24b-cda2e74a53f6", + "ip_version": "4", + "protocol": "17", + "src_bytes": 753, + "src_ip": "10.114.83.75", + "src_mac": "00:50:56:8d:6a:4b", + "src_port": 5353, + "ts": "2023-12-13T15:25:37.000Z", + "vendor": "Gigamon", + "version": "6.5.00" + } + }, + "tags": [ + "preserve_original_event" + ] + }, + { + "@timestamp": "2023-12-13T15:25:37.000Z", + "ecs": { + "version": "8.11.0" + }, + "gigamon": { + "ami": { + "dns_host": "systest-virtual-machine-560195.local", + "dns_host_addr": "10.115.84.159", + "dns_host_type": "PTR", + "dns_name": "d.6.6.9.b.6.2.9.a.8.3.1.8.4.2.e.0.0.0.0.0.0.0.0.0.0.0.0.0.8.e.f. ip6.arpa", + "dns_qdcount": 5, + "dns_transaction_id": 0, + "dns_ttl": 120, + "generator": "gs_apps_appInst16_423722da-33ec-1556-b24b-cda2e74a53f6", + "ts": "2023-12-13T15:25:37.000Z", + "vendor": "Gigamon", + "version": "6.5.00" + } + }, + "tags": [ + "preserve_original_event" + ] + }, + { + "@timestamp": "2023-12-13T15:25:37.000Z", + "ecs": { + "version": "8.11.0" + }, + "gigamon": { + "ami": { + "dns_class": "1", + "dns_flags": "0", + "dns_host": "systest-virtual-machine-584015.local", + "dns_host_addr": "10.115.84.151", + "dns_host_class": "1", + "dns_host_type": "PTR", + "dns_name": "b.2.f.f.8.f.c.5.9.2.d.c.a.4.7.d.0.8.0.2.1.0.0.0.0.0.0.0.b.a.c.f. ip6.arpa", + "dns_opcode": "0", + "dns_qdcount": 4, + "dns_transaction_id": 0, + "dns_ttl": 120, + "generator": "gs_apps_appInst16_423722da-33ec-1556-b24b-cda2e74a53f6", + "ts": "2023-12-13T15:25:37.000Z", + "vendor": "Gigamon", + "version": "6.5.00" + } + }, + "tags": [ + "preserve_original_event" + ] + }, + { + "@timestamp": "2023-12-13T15:25:40.000Z", + "ecs": { + "version": "8.11.0" + }, + "gigamon": { + "ami": { + "app_id": 29, + "app_name": "dhcp", + "device_inbound_interface": "0", + "dst_bytes": 0, + "dst_ip": "255.255.255.255", + "dst_mac": "ff:ff:ff:ff:ff:ff", + "dst_packets": 0, + "dst_port": 67, + "egress_intf_id": "0", + "end_reason": "1", + "end_reason_value": "Idle Timeout", + "end_time": "2023-12-13T15:25:26.285Z", + "generator": "gs_apps_appInst16_423722da-33ec-1556-b24b-cda2e74a53f6", + "id": "679408454713097223", + "intf_name": "0", + "ip_version": "4", + "protocol": "17", + "seq_num": 680, + "src_bytes": 1400, + "src_ip": "0.0.0.0", + "src_mac": "00:50:56:99:05:df", + "src_packets": 4, + "src_port": 68, + "start_time": "2023-12-13T15:24:58.717Z", + "sys_up_time_first": 541419531, + "sys_up_time_last": 3501221899, + "ts": "2023-12-13T15:25:40.000Z", + "vendor": "Gigamon", + "version": "6.5.00" + } + }, + "tags": [ + "preserve_original_event" + ] + }, + { + "@timestamp": "2023-12-13T15:25:40.000Z", + "ecs": { + "version": "8.11.0" + }, + "gigamon": { + "ami": { + "app_id": 3902, + "app_name": "vmware-client", + "device_inbound_interface": "0", + "dst_bytes": 0, + "dst_ip": "10.115.83.4", + "dst_mac": "00:50:56:9f:7f:ff", + "dst_packets": 0, + "dst_port": 902, + "egress_intf_id": "0", + "end_reason": "1", + "end_reason_value": "Idle Timeout", + "end_time": "2023-12-13T15:25:07.085Z", + "generator": "gs_apps_appInst16_423722da-33ec-1556-b24b-cda2e74a53f6", + "id": "679408454713098247", + "intf_name": "0", + "ip_version": "4", + "protocol": "17", + "seq_num": 681, + "src_bytes": 377, + "src_ip": "10.115.81.118", + "src_mac": "0c:c4:7a:f8:0d:c4", + "src_packets": 1, + "src_port": 43366, + "start_time": "2023-12-13T15:25:07.085Z", + "sys_up_time_first": 3496306699, + "sys_up_time_last": 3496306699, + "ts": "2023-12-13T15:25:40.000Z", + "vendor": "Gigamon", + "version": "6.5.00" + } + }, + "tags": [ + "preserve_original_event" + ] + }, + { + "@timestamp": "2023-12-13T15:25:40.000Z", + "ecs": { + "version": "8.11.0" + }, + "gigamon": { + "ami": { + "app_id": 3902, + "app_name": "vmware-client", + "device_inbound_interface": "0", + "dst_bytes": 0, + "dst_ip": "10.115.83.4", + "dst_mac": "00:50:56:9f:7f:ff", + "dst_packets": 0, + "dst_port": 902, + "egress_intf_id": "0", + "end_reason": "1", + "end_reason_value": "Idle Timeout", + "end_time": "2023-12-13T15:25:17.085Z", + "generator": "gs_apps_appInst16_423722da-33ec-1556-b24b-cda2e74a53f6", + "id": "679408454713099271", + "intf_name": "0", + "ip_version": "4", + "protocol": "17", + "seq_num": 682, + "src_bytes": 377, + "src_ip": "10.115.81.118", + "src_mac": "0c:c4:7a:f8:0d:c4", + "src_packets": 1, + "src_port": 30490, + "start_time": "2023-12-13T15:25:17.085Z", + "sys_up_time_first": 3767298059, + "sys_up_time_last": 3767298059, + "ts": "2023-12-13T15:25:40.000Z", + "vendor": "Gigamon", + "version": "6.5.00" + } + }, + "tags": [ + "preserve_original_event" + ] + }, + { + "@timestamp": "2023-12-13T15:25:40.000Z", + "ecs": { + "version": "8.11.0" + }, + "gigamon": { + "ami": { + "app_id": 32, + "device_inbound_interface": "0", + "dns_class": "1", + "dns_flags": "0", + "dns_host": "pnstrex-85535.local", + "dns_host_addr": "10.114.82.166", + "dns_host_class": "1", + "dns_host_raw": "706e73747265782d38353533352e6c6f63616c", + "dns_host_type": "PTR", + "dns_name": "d.5.8.e.b.0.0.d.e.d.b.f.f.5.a.8.0.8.0.2.1.0.0.0.0.0.0.0.b.a.c.f. ip6.arpa", + "dns_opcode": "0", + "dns_qdcount": 4, + "dns_query": "6.7.e.b.f.9.e.f.c.6.7.b.f.4.5.6.0.8.0.2.1.0.0.0.0.0.0.0.b.a.c.f. ip6.arpa", + "dns_query_type": "255", + "dns_query_type_value": "*", + "dns_transaction_id": 0, + "dns_ttl": 120, + "dst_ip": "224.0.0.251", + "dst_mac": "01:00:5e:00:00:fb", + "dst_port": 5353, + "generator": "gs_apps_appInst16_423722da-33ec-1556-b24b-cda2e74a53f6", + "ip_version": "4", + "protocol": "17", + "src_bytes": 674, + "src_ip": "10.114.82.166", + "src_mac": "00:50:56:9c:b2:df", + "src_port": 5353, + "ts": "2023-12-13T15:25:40.000Z", + "vendor": "Gigamon", + "version": "6.5.00" + } + }, + "tags": [ + "preserve_original_event" + ] + }, + { + "@timestamp": "2023-12-13T15:25:40.000Z", + "ecs": { + "version": "8.11.0" + }, + "gigamon": { + "ami": { + "app_id": 3414, + "app_name": "upnp", + "device_inbound_interface": "0", + "dst_bytes": 0, + "dst_ip": "239.255.255.250", + "dst_mac": "01:00:5e:7f:ff:fa", + "dst_packets": 0, + "dst_port": 1900, + "egress_intf_id": "0", + "end_reason": "1", + "end_reason_value": "Idle Timeout", + "end_time": "2023-12-13T15:25:25.437Z", + "generator": "gs_apps_appInst16_423722da-33ec-1556-b24b-cda2e74a53f6", + "id": "679408454713101319", + "intf_name": "0", + "ip_version": "4", + "protocol": "17", + "seq_num": 684, + "src_bytes": 868, + "src_ip": "10.115.83.20", + "src_mac": "00:50:56:b7:96:08", + "src_packets": 4, + "src_port": 49882, + "start_time": "2023-12-13T15:25:22.429Z", + "sys_up_time_first": 3231803403, + "sys_up_time_last": 2158848011, + "ts": "2023-12-13T15:25:40.000Z", + "vendor": "Gigamon", + "version": "6.5.00" + } + }, + "tags": [ + "preserve_original_event" + ] + }, + { + "@timestamp": "2023-12-13T15:25:40.000Z", + "ecs": { + "version": "8.11.0" + }, + "gigamon": { + "ami": { + "app_id": 32, + "app_name": "dns", + "device_inbound_interface": "0", + "dns_class": "1", + "dns_flags": "0", + "dns_host": "systest-virtual-machine-627875.local", + "dns_host_addr": "10.115.84.171", + "dns_host_class": "1", + "dns_host_raw": "737973746573742d7669727475616c2d6d616368696e652d3632373837352e6c6f63616c", + "dns_host_type": "PTR", + "dns_name": "d.6.6.9.b.6.2.9.a.8.3.1.8.4.2.e.0.0.0.0.0.0.0.0.0.0.0.0.0.8.e.f. ip6.arpa", + "dns_opcode": "0", + "dns_qdcount": 5, + "dns_query": "7.7.f.2.5.b.4.f.6.1.a.2.0.1.1.d.0.0.0.0.0.0.0.0.0.0.0.0.0.8.e.f. ip6.arpa", + "dns_query_type": "255", + "dns_query_type_value": "*", + "dns_transaction_id": 0, + "dns_ttl": 120, + "dst_bytes": 0, + "dst_ip": "224.0.0.251", + "dst_mac": "01:00:5e:00:00:fb", + "dst_packets": 0, + "dst_port": 5353, + "egress_intf_id": "0", + "end_reason": "1", + "end_reason_value": "Idle Timeout", + "end_time": "2023-12-13T15:25:23.757Z", + "generator": "gs_apps_appInst16_423722da-33ec-1556-b24b-cda2e74a53f6", + "id": "679408454713102343", + "intf_name": "0", + "ip_version": "4", + "protocol": "17", + "seq_num": 685, + "src_bytes": 434, + "src_ip": "10.115.84.171", + "src_mac": "00:50:56:86:09:cc", + "src_packets": 1, + "src_port": 5353, + "start_time": "2023-12-13T15:25:23.757Z", + "sys_up_time_first": 4037437451, + "sys_up_time_last": 4037437451, + "ts": "2023-12-13T15:25:40.000Z", + "vendor": "Gigamon", + "version": "6.5.00" + } + }, + "tags": [ + "preserve_original_event" + ] + }, + { + "@timestamp": "2023-12-13T15:25:40.000Z", + "ecs": { + "version": "8.11.0" + }, + "gigamon": { + "ami": { + "app_id": 32, + "app_name": "dns", + "device_inbound_interface": "0", + "dns_class": "1", + "dns_flags": "0", + "dns_host": "pnstrex-83631.local", + "dns_host_addr": "10.114.82.162", + "dns_host_class": "1", + "dns_host_raw": "706e73747265782d38333633312e6c6f63616c", + "dns_host_type": "PTR", + "dns_name": "3.a.2.3.7.1.5.5.e.2.1.6.e.4.7.e.0.8.0.2.1.0.0.0.0.0.0.0.b.a.c.f. ip6.arpa", + "dns_opcode": "0", + "dns_qdcount": 4, + "dns_query": "8.3.5.1.c.a.c.b.d.3.2.5.9.0.f.3.0.8.0.2.1.0.0.0.0.0.0.0.b.a.c.f. ip6.arpa", + "dns_query_type": "255", + "dns_query_type_value": "*", + "dns_transaction_id": 0, + "dns_ttl": 120, + "dst_bytes": 0, + "dst_ip": "224.0.0.251", + "dst_mac": "01:00:5e:00:00:fb", + "dst_packets": 0, + "dst_port": 5353, + "egress_intf_id": "0", + "end_reason": "1", + "end_reason_value": "Idle Timeout", + "end_time": "2023-12-13T15:25:24.013Z", + "generator": "gs_apps_appInst16_423722da-33ec-1556-b24b-cda2e74a53f6", + "id": "679408454713103367", + "intf_name": "0", + "ip_version": "4", + "protocol": "17", + "seq_num": 686, + "src_bytes": 337, + "src_ip": "10.114.82.162", + "src_mac": "00:50:56:8d:32:1a", + "src_packets": 1, + "src_port": 5353, + "start_time": "2023-12-13T15:25:24.013Z", + "sys_up_time_first": 4037502987, + "sys_up_time_last": 4037502987, + "ts": "2023-12-13T15:25:40.000Z", + "vendor": "Gigamon", + "version": "6.5.00" + } + }, + "tags": [ + "preserve_original_event" + ] + }, + { + "@timestamp": "2023-12-13T15:25:40.000Z", + "ecs": { + "version": "8.11.0" + }, + "gigamon": { + "ami": { + "app_id": 68, + "app_name": "https", + "device_inbound_interface": "0", + "dst_bytes": 388, + "dst_ip": "10.115.81.118", + "dst_mac": "0c:c4:7a:f8:0d:c4", + "dst_packets": 1, + "dst_port": 443, + "egress_intf_id": "0", + "end_reason": "1", + "end_reason_value": "Idle Timeout", + "end_time": "2023-12-13T15:25:25.693Z", + "generator": "gs_apps_appInst16_423722da-33ec-1556-b24b-cda2e74a53f6", + "id": "679408454713104391", + "intf_name": "0", + "ip_version": "4", + "protocol": "6", + "seq_num": 687, + "src_bytes": 399, + "src_ip": "10.115.83.4", + "src_mac": "00:50:56:9f:7f:ff", + "src_packets": 2, + "src_port": 50694, + "start_time": "2023-12-13T15:25:25.677Z", + "sys_up_time_first": 1890478091, + "sys_up_time_last": 2158913547, + "ts": "2023-12-13T15:25:40.000Z", + "vendor": "Gigamon", + "version": "6.5.00" + } + }, + "tags": [ + "preserve_original_event" + ] + }, + { + "@timestamp": "2023-12-13T15:25:40.000Z", + "ecs": { + "version": "8.11.0" + }, + "gigamon": { + "ami": { + "app_id": 4962, + "app_name": "Unknown ssl", + "device_inbound_interface": "0", + "dst_bytes": 2335, + "dst_ip": "10.115.81.118", + "dst_mac": "0c:c4:7a:f8:0d:c4", + "dst_packets": 8, + "dst_port": 9080, + "egress_intf_id": "0", + "end_reason": "1", + "end_reason_value": "Idle Timeout", + "end_time": "2023-12-13T15:25:25.837Z", + "generator": "gs_apps_appInst16_423722da-33ec-1556-b24b-cda2e74a53f6", + "id": "679408454713105415", + "intf_name": "0", + "ip_version": "4", + "protocol": "6", + "seq_num": 688, + "src_bytes": 1533, + "src_ip": "10.115.83.4", + "src_mac": "00:50:56:9f:7f:ff", + "src_packets": 11, + "src_port": 60117, + "ssl_cipher_suite_id": "49200", + "ssl_cipher_suite_id_value": "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384", + "start_time": "2023-12-13T15:25:25.837Z", + "sys_up_time_first": 279930891, + "sys_up_time_last": 279930891, + "ts": "2023-12-13T15:25:40.000Z", + "vendor": "Gigamon", + "version": "6.5.00" + } + }, + "tags": [ + "preserve_original_event" + ] + }, + { + "@timestamp": "2023-12-13T15:25:40.000Z", + "ecs": { + "version": "8.11.0" + }, + "gigamon": { + "ami": { + "app_id": 32, + "app_name": "dns", + "device_inbound_interface": "0", + "dns_class": "1", + "dns_flags": "0", + "dns_host": "tg-92794.local", + "dns_host_addr": "10.114.82.17", + "dns_host_class": "1", + "dns_host_raw": "74672d39323739342e6c6f63616c", + "dns_host_type": "PTR", + "dns_name": "2.2.0.0.0.0.0.0.0.0.0.0.0.0.0.0.b.0.0.1.a.0.2.4.4.3.2.1.3.6.1.2. ip6.arpa", + "dns_opcode": "0", + "dns_qdcount": 3, + "dns_query": "17.82.114.10.in-addr.arpa", + "dns_query_type": "255", + "dns_query_type_value": "*", + "dns_transaction_id": 0, + "dns_ttl": 120, + "dst_bytes": 0, + "dst_ip": "224.0.0.251", + "dst_mac": "01:00:5e:00:00:fb", + "dst_packets": 0, + "dst_port": 5353, + "egress_intf_id": "0", + "end_reason": "1", + "end_reason_value": "Idle Timeout", + "end_time": "2023-12-13T15:25:25.693Z", + "generator": "gs_apps_appInst16_423722da-33ec-1556-b24b-cda2e74a53f6", + "id": "679408454713106439", + "intf_name": "0", + "ip_version": "4", + "protocol": "17", + "seq_num": 689, + "src_bytes": 251, + "src_ip": "10.114.82.17", + "src_mac": "00:50:56:8d:26:ce", + "src_packets": 1, + "src_port": 5353, + "start_time": "2023-12-13T15:25:25.693Z", + "sys_up_time_first": 2158913547, + "sys_up_time_last": 2158913547, + "ts": "2023-12-13T15:25:40.000Z", + "vendor": "Gigamon", + "version": "6.5.00" + } + }, + "tags": [ + "preserve_original_event" + ] + }, + { + "@timestamp": "2023-12-13T15:25:40.000Z", + "ecs": { + "version": "8.11.0" + }, + "gigamon": { + "ami": { + "app_id": 32, + "app_name": "dns", + "device_inbound_interface": "0", + "dns_ancount": 6, + "dns_flags": "33792", + "dns_host": "tg-92967.local", + "dns_host_raw": "74672d39323936372e6c6f63616c", + "dns_host_type": "PTR", + "dns_name": "2.2.0.0.0.0.0.0.0.0.0.0.0.0.0.0.b.0.0.1.a.0.2.4.4.3.2.1.3.6.1.2. ip6.arpa", + "dns_opcode": "0", + "dns_qdcount": 0, + "dns_reply_code": "0", + "dns_reply_code_value": "No Error", + "dns_transaction_id": 0, + "dns_ttl": 120, + "dst_bytes": 0, + "dst_ip": "224.0.0.251", + "dst_mac": "01:00:5e:00:00:fb", + "dst_packets": 0, + "dst_port": 5353, + "egress_intf_id": "0", + "end_reason": "2", + "end_reason_value": "Active Timeout", + "end_time": "2023-12-13T15:25:25.693Z", + "generator": "gs_apps_appInst16_423722da-33ec-1556-b24b-cda2e74a53f6", + "id": "679408454713107463", + "intf_name": "0", + "ip_version": "4", + "protocol": "17", + "seq_num": 690, + "src_bytes": 924, + "src_ip": "10.114.83.110", + "src_mac": "00:50:56:99:d1:39", + "src_packets": 6, + "src_port": 5353, + "start_time": "2023-12-13T15:24:40.637Z", + "sys_up_time_first": 2164156171, + "sys_up_time_last": 2158913547, + "ts": "2023-12-13T15:25:40.000Z", + "vendor": "Gigamon", + "version": "6.5.00" + } + }, + "tags": [ + "preserve_original_event" + ] + }, + { + "@timestamp": "2023-12-13T15:23:59.000Z", + "ecs": { + "version": "8.11.0" + }, + "gigamon": { + "ami": { + "app_id": 29, + "app_name": "dhcp", + "device_inbound_interface": "0", + "dst_bytes": 0, + "dst_ip": "255.255.255.255", + "dst_mac": "ff:ff:ff:ff:ff:ff", + "dst_packets": 0, + "dst_port": 67, + "egress_intf_id": "0", + "end_reason": "1", + "end_reason_value": "Idle Timeout", + "end_time": "2023-12-13T15:23:44.910Z", + "generator": "gs_apps_appInst7_4237d0d0-8241-b4a1-b502-77f97421a2c6", + "id": "113836049853586439", + "intf_name": "0", + "ip_version": "4", + "protocol": "17", + "seq_num": 3, + "src_bytes": 1400, + "src_ip": "0.0.0.0", + "src_mac": "00:50:56:99:05:df", + "src_packets": 4, + "src_port": 68, + "start_time": "2023-12-13T15:23:17.354Z", + "sys_up_time_first": 3962320642, + "sys_up_time_last": 2425894658, + "ts": "2023-12-13T15:23:59.000Z", + "vendor": "Gigamon", + "version": "6.5.00" + } + }, + "tags": [ + "preserve_original_event" + ] + }, + { + "@timestamp": "2023-12-13T15:25:41.000Z", + "ecs": { + "version": "8.11.0" + }, + "gigamon": { + "ami": { + "app_id": 3902, + "app_name": "vmware-client", + "device_inbound_interface": "0", + "dst_bytes": 0, + "dst_ip": "10.115.83.4", + "dst_mac": "00:50:56:9f:7f:ff", + "dst_packets": 0, + "dst_port": 902, + "egress_intf_id": "0", + "end_reason": "1", + "end_reason_value": "Idle Timeout", + "end_time": "2023-12-13T15:25:27.101Z", + "generator": "gs_apps_appInst16_423722da-33ec-1556-b24b-cda2e74a53f6", + "id": "679408454713108487", + "intf_name": "0", + "ip_version": "4", + "protocol": "17", + "seq_num": 691, + "src_bytes": 377, + "src_ip": "10.115.81.118", + "src_mac": "0c:c4:7a:f8:0d:c4", + "src_packets": 1, + "src_port": 15536, + "start_time": "2023-12-13T15:25:27.101Z", + "sys_up_time_first": 11823115, + "sys_up_time_last": 11823115, + "ts": "2023-12-13T15:25:41.000Z", + "vendor": "Gigamon", + "version": "6.5.00" + } + }, + "tags": [ + "preserve_original_event" + ] + }, + { + "@timestamp": "2023-12-13T15:25:41.000Z", + "ecs": { + "version": "8.11.0" + }, + "gigamon": { + "ami": { + "dns_ancount": 27, + "dns_name": "systest-virtual", + "dns_qdcount": 0, + "dns_transaction_id": 0, + "generator": "gs_apps_appInst16_423722da-33ec-1556-b24b-cda2e74a53f6", + "ts": "2023-12-13T15:25:41.000Z", + "vendor": "Gigamon", + "version": "6.5.00" + } + }, + "tags": [ + "preserve_original_event" + ] + }, + { + "@timestamp": "2023-12-13T15:25:41.000Z", + "ecs": { + "version": "8.11.0" + }, + "gigamon": { + "ami": { + "dns_ancount": 9, + "dns_flags": "0 Gigam", + "dns_host": "systest-virtual-machine-110438.local", + "dns_host_addr": "10.115.84.157", + "dns_host_type": "AAAA", + "dns_name": "systest-virtual-machine-110438.local", + "dns_qdcount": 0, + "dns_reply_code": "0", + "dns_reply_code_value": "No Error", + "dns_response_time": 3.289977, + "dns_transaction_id": 0, + "dns_ttl": 120, + "generator": "gs_apps_appInst16_423722da-33ec-1556-b24b-cda2e74a53f6", + "ts": "2023-12-13T15:25:41.000Z", + "vendor": "Gigamon", + "version": "6.5.00" + } + }, + "tags": [ + "preserve_original_event" + ] + }, + { + "@timestamp": "2023-12-13T15:25:43.000Z", + "ecs": { + "version": "8.11.0" + }, + "gigamon": { + "ami": { + "dns_host": "systest-virtual-machine-616359.local", + "dns_host_addr": "10.115.84.173", + "dns_host_type": "PTR", + "dns_name": "d.6.6.9.b.6.2.9.a.8.3.1.8.4.2.e.0.0.0.0.0.0.0.0.0.0.0.0.0.8.e.f. ip6.arpa", + "dns_qdcount": 5, + "dns_transaction_id": 0, + "dns_ttl": 120, + "generator": "gs_apps_appInst16_423722da-33ec-1556-b24b-cda2e74a53f6", + "ts": "2023-12-13T15:25:43.000Z", + "vendor": "Gigamon", + "version": "6.5.00" + } + }, + "tags": [ + "preserve_original_event" + ] + }, + { + "@timestamp": "2023-12-13T15:25:44.000Z", + "ecs": { + "version": "8.11.0" + }, + "gigamon": { + "ami": { + "app_id": 32, + "app_name": "dns", + "device_inbound_interface": "0", + "dns_class": "1", + "dns_flags": "0", + "dns_host": "linux-59500.local", + "dns_host_addr": "10.115.85.227", + "dns_host_class": "1", + "dns_host_raw": "6c696e75782d35393530302e6c6f63616c", + "dns_host_type": "PTR", + "dns_name": "0.a.d.2.4.9.e.f.f.f.6.5.0.5.2.0.0.8.0.2.1.0.0.0.0.0.0.0.b.a.c.f. ip6.arpa", + "dns_opcode": "0", + "dns_qdcount": 3, + "dns_query": "227.85.115.10.in-addr.arpa", + "dns_query_type": "255", + "dns_query_type_value": "*", + "dns_transaction_id": 0, + "dns_ttl": 120, + "dst_bytes": 0, + "dst_ip": "224.0.0.251", + "dst_mac": "01:00:5e:00:00:fb", + "dst_packets": 0, + "dst_port": 5353, + "egress_intf_id": "0", + "end_reason": "1", + "end_reason_value": "Idle Timeout", + "end_time": "2023-12-13T15:25:29.565Z", + "generator": "gs_apps_appInst16_423722da-33ec-1556-b24b-cda2e74a53f6", + "id": "679408454713112583", + "intf_name": "0", + "ip_version": "4", + "protocol": "17", + "seq_num": 695, + "src_bytes": 255, + "src_ip": "10.115.85.227", + "src_mac": "00:50:56:94:2d:a0", + "src_packets": 1, + "src_port": 5353, + "start_time": "2023-12-13T15:25:29.565Z", + "sys_up_time_first": 2696767499, + "sys_up_time_last": 2696767499, + "ts": "2023-12-13T15:25:44.000Z", + "vendor": "Gigamon", + "version": "6.5.00" + } + }, + "tags": [ + "preserve_original_event" + ] + }, + { + "@timestamp": "2023-12-13T15:25:44.000Z", + "ecs": { + "version": "8.11.0" + }, + "gigamon": { + "ami": { + "app_id": 32, + "app_name": "dns", + "device_inbound_interface": "0", + "dns_class": "1", + "dns_flags": "0", + "dns_host": "systest-virtual-machine-559605.local", + "dns_host_addr": "10.115.84.163", + "dns_host_class": "1", + "dns_host_raw": "737973746573742d7669727475616c2d6d616368696e652d3535393630352e6c6f63616c", + "dns_host_type": "PTR", + "dns_name": "d.6.6.9.b.6.2.9.a.8.3.1.8.4.2.e.0.0.0.0.0.0.0.0.0.0.0.0.0.8.e.f. ip6.arpa", + "dns_opcode": "0", + "dns_qdcount": 5, + "dns_query": "7.7.f.2.5.b.4.f.6.1.a.2.0.1.1.d.0.0.0.0.0.0.0.0.0.0.0.0.0.8.e.f. ip6.arpa", + "dns_query_type": "255", + "dns_query_type_value": "*", + "dns_transaction_id": 0, + "dns_ttl": 120, + "dst_bytes": 0, + "dst_ip": "224.0.0.251", + "dst_mac": "01:00:5e:00:00:fb", + "dst_packets": 0, + "dst_port": 5353, + "egress_intf_id": "0", + "end_reason": "1", + "end_reason_value": "Idle Timeout", + "end_time": "2023-12-13T15:25:29.725Z", + "generator": "gs_apps_appInst16_423722da-33ec-1556-b24b-cda2e74a53f6", + "id": "679408454713113607", + "intf_name": "0", + "ip_version": "4", + "protocol": "17", + "seq_num": 696, + "src_bytes": 434, + "src_ip": "10.115.84.163", + "src_mac": "00:50:56:86:3d:da", + "src_packets": 1, + "src_port": 5353, + "start_time": "2023-12-13T15:25:29.725Z", + "sys_up_time_first": 1086220299, + "sys_up_time_last": 1086220299, + "ts": "2023-12-13T15:25:44.000Z", + "vendor": "Gigamon", + "version": "6.5.00" + } + }, + "tags": [ + "preserve_original_event" + ] + }, + { + "@timestamp": "2023-12-13T15:25:44.000Z", + "ecs": { + "version": "8.11.0" + }, + "gigamon": { + "ami": { + "app_id": 4962, + "app_name": "Unknown ssl", + "device_inbound_interface": "0", + "dst_bytes": 2985, + "dst_ip": "10.115.83.36", + "dst_mac": "00:50:56:b7:4d:72", + "dst_packets": 9, + "dst_port": 8889, + "egress_intf_id": "0", + "end_reason": "2", + "end_reason_value": "Active Timeout", + "end_time": "2023-12-13T15:24:55.053Z", + "generator": "gs_apps_appInst16_423722da-33ec-1556-b24b-cda2e74a53f6", + "id": "679408454713114631", + "intf_name": "0", + "ip_version": "4", + "protocol": "6", + "seq_num": 697, + "src_bytes": 2019, + "src_ip": "10.115.83.15", + "src_mac": "00:50:56:9f:ed:dc", + "src_packets": 12, + "src_port": 39252, + "ssl_cipher_suite_id": "4866", + "ssl_cipher_suite_id_value": "TLS_AES_256_GCM_SHA384", + "start_time": "2023-12-13T15:24:45.037Z", + "sys_up_time_first": 2953799691, + "sys_up_time_last": 3493226507, + "ts": "2023-12-13T15:25:44.000Z", + "vendor": "Gigamon", + "version": "6.5.00" + } + }, + "tags": [ + "preserve_original_event" + ] + }, + { + "@timestamp": "2023-12-13T15:25:45.000Z", + "ecs": { + "version": "8.11.0" + }, + "gigamon": { + "ami": { + "app_id": 32, + "app_name": "dns", + "device_inbound_interface": "0", + "dns_class": "1", + "dns_flags": "0", + "dns_host": "pnstrex-83817.local", + "dns_host_addr": "10.114.82.101", + "dns_host_class": "1", + "dns_host_raw": "706e73747265782d38333831372e6c6f63616c", + "dns_host_type": "PTR", + "dns_name": "a.b.2.b.9.6.c.2.3.9.3.d.6.2.6.a.0.8.0.2.1.0.0.0.0.0.0.0.b.a.c.f. ip6.arpa", + "dns_opcode": "0", + "dns_qdcount": 4, + "dns_query": "f.7.5.2.e.7.6.2.4.c.1.c.4.c.6.1.0.8.0.2.1.0.0.0.0.0.0.0.b.a.c.f. ip6.arpa", + "dns_query_type": "255", + "dns_query_type_value": "*", + "dns_transaction_id": 0, + "dns_ttl": 120, + "dst_bytes": 0, + "dst_ip": "224.0.0.251", + "dst_mac": "01:00:5e:00:00:fb", + "dst_packets": 0, + "dst_port": 5353, + "egress_intf_id": "0", + "end_reason": "1", + "end_reason_value": "Idle Timeout", + "end_time": "2023-12-13T15:25:31.149Z", + "generator": "gs_apps_appInst16_423722da-33ec-1556-b24b-cda2e74a53f6", + "id": "679408454713115655", + "intf_name": "0", + "ip_version": "4", + "protocol": "17", + "seq_num": 698, + "src_bytes": 337, + "src_ip": "10.114.82.101", + "src_mac": "00:50:56:8d:89:41", + "src_packets": 1, + "src_port": 5353, + "start_time": "2023-12-13T15:25:31.149Z", + "sys_up_time_first": 3502467083, + "sys_up_time_last": 3502467083, + "ts": "2023-12-13T15:25:45.000Z", + "vendor": "Gigamon", + "version": "6.5.00" + } + }, + "tags": [ + "preserve_original_event" + ] + }, + { + "@timestamp": "2023-12-13T15:25:45.000Z", + "ecs": { + "version": "8.11.0" + }, + "gigamon": { + "ami": { + "app_id": 32, + "app_name": "dns", + "device_inbound_interface": "0", + "dns_class": "1", + "dns_flags": "34179", + "dns_host": "hq1dc1.gigamon.com", + "dns_host_class": "1", + "dns_host_raw": "6871316463312e676967616d6f6e2e636f6d", + "dns_host_type": "SOA", + "dns_name": "115.10.in-addr.arpa", + "dns_opcode": "0", + "dns_qdcount": 1, + "dns_query": "43.83.115.10.in-addr.arpa", + "dns_query_type": "12", + "dns_query_type_value": "PTR", + "dns_reply_code": "3", + "dns_reply_code_value": "Non-Existent Domain", + "dns_response_time": 0.001563, + "dns_reverse_addr": "10.115.83.43", + "dns_transaction_id": 53887, + "dns_ttl": 3600, + "dst_bytes": 85, + "dst_ip": "10.115.83.36", + "dst_mac": "5c:31:92:40:19:7f", + "dst_packets": 1, + "dst_port": 59004, + "egress_intf_id": "0", + "end_reason": "1", + "end_reason_value": "Idle Timeout", + "end_time": "2023-12-13T15:25:30.653Z", + "generator": "gs_apps_appInst16_423722da-33ec-1556-b24b-cda2e74a53f6", + "id": "679408454713116679", + "intf_name": "0", + "ip_version": "4", + "protocol": "17", + "seq_num": 699, + "src_bytes": 169, + "src_ip": "10.10.1.20", + "src_mac": "00:50:56:b7:4d:72", + "src_packets": 1, + "src_port": 53, + "start_time": "2023-12-13T15:25:30.637Z", + "sys_up_time_first": 3502336011, + "sys_up_time_last": 3770771467, + "ts": "2023-12-13T15:25:45.000Z", + "vendor": "Gigamon", + "version": "6.5.00" + } + }, + "tags": [ + "preserve_original_event" + ] + }, + { + "@timestamp": "2023-12-13T15:25:46.000Z", + "ecs": { + "version": "8.11.0" + }, + "gigamon": { + "ami": { + "app_id": 68, + "app_name": "https", + "device_inbound_interface": "0", + "dst_bytes": 59982, + "dst_ip": "10.115.81.118", + "dst_mac": "0c:c4:7a:f8:0d:c4", + "dst_packets": 47, + "dst_port": 443, + "egress_intf_id": "0", + "end_reason": "1", + "end_reason_value": "Idle Timeout", + "end_time": "2023-12-13T15:25:31.837Z", + "generator": "gs_apps_appInst16_423722da-33ec-1556-b24b-cda2e74a53f6", + "id": "679408454713117703", + "intf_name": "0", + "ip_version": "4", + "protocol": "6", + "seq_num": 700, + "src_bytes": 10482, + "src_ip": "10.115.83.4", + "src_mac": "00:50:56:9f:7f:ff", + "src_packets": 52, + "src_port": 54892, + "start_time": "2023-12-13T15:24:47.085Z", + "sys_up_time_first": 2954323979, + "sys_up_time_last": 2160486411, + "ts": "2023-12-13T15:25:46.000Z", + "vendor": "Gigamon", + "version": "6.5.00" + } + }, + "tags": [ + "preserve_original_event" + ] + }, + { + "@timestamp": "2023-12-13T15:25:46.000Z", + "ecs": { + "version": "8.11.0" + }, + "gigamon": { + "ami": { + "dns_class": "1", + "dns_flags": "0", + "dns_host": "linux-57522.local", + "dns_host_addr": "10.115.85.228", + "dns_host_class": "1 Gi", + "dns_host_type": "PTR", + "dns_name": "f.1.2.3.4.9.e.f.f.f.6.5.0.5.2.0.0.8.0.2.1.0.0.0.0.0.0.0.b.a.c.f. ip6.arpa", + "dns_opcode": "0", + "dns_qdcount": 3, + "dns_transaction_id": 0, + "dns_ttl": 120, + "generator": "gs_apps_appInst16_423722da-33ec-1556-b24b-cda2e74a53f6", + "ts": "2023-12-13T15:25:46.000Z", + "vendor": "Gigamon", + "version": "6.5.00" + } + }, + "tags": [ + "preserve_original_event" + ] + }, + { + "@timestamp": "2023-12-13T15:25:47.000Z", + "ecs": { + "version": "8.11.0" + }, + "gigamon": { + "ami": { + "dns_ancount": 17, + "dns_host": "systest-vir", + "dns_name": "systest-virtual-machine-549088.local", + "dns_qdcount": 0, + "dns_transaction_id": 0, + "generator": "gs_apps_appInst16_423722da-33ec-1556-b24b-cda2e74a53f6", + "ts": "2023-12-13T15:25:47.000Z", + "vendor": "Gigamon", + "version": "6.5.00" + } + }, + "tags": [ + "preserve_original_event" + ] + }, + { + "@timestamp": "2023-12-13T15:25:47.000Z", + "ecs": { + "version": "8.11.0" + }, + "gigamon": { + "ami": { + "dns_class": "1", + "dns_flags": "0", + "dns_host": "pnstrex-81458.local", + "dns_host_addr": "10.114.82.169", + "dns_host_class": "1", + "dns_host_raw": "706e73747265782d3831", + "dns_host_type": "PTR", + "dns_name": "7.1.7.e.b.a.5.d.3.3.b.b.d.3.f.4.0.8.0.2.1.0.0.0.0.0.0.0.b.a.c.f. ip6.arpa", + "dns_opcode": "0", + "dns_qdcount": 4, + "dns_transaction_id": 0, + "dns_ttl": 120, + "generator": "gs_apps_appInst16_423722da-33ec-1556-b24b-cda2e74a53f6", + "ts": "2023-12-13T15:25:47.000Z", + "vendor": "Gigamon", + "version": "6.5.00" + } + }, + "tags": [ + "preserve_original_event" + ] + }, + { + "@timestamp": "2023-12-13T15:25:47.000Z", + "ecs": { + "version": "8.11.0" + }, + "gigamon": { + "ami": { + "app_id": 32, + "app_name": "dns", + "device_inbound_interface": "0", + "dns_class": "1", + "dns_flags": "0", + "dns_host": "linux-49198.local", + "dns_host_addr": "10.115.85.229", + "dns_host_class": "1", + "dns_host_raw": "6c696e75782d34393139382e6c6f63616c", + "dns_host_type": "PTR", + "dns_name": "b.d.2.6.4.9.e.f.f.f.6.5.0.5.2.0.0.8.0.2.1.0.0.0.0.0.0.0.b.a.c.f. ip6.arpa", + "dns_opcode": "0", + "dns_qdcount": 3, + "dns_query": "229.85.115.10.in-addr.arpa", + "dns_query_type": "255", + "dns_query_type_value": "*", + "dns_transaction_id": 0, + "dns_ttl": 120, + "dst_bytes": 0, + "dst_ip": "224.0.0.251", + "dst_mac": "01:00:5e:00:00:fb", + "dst_packets": 0, + "dst_port": 5353, + "egress_intf_id": "0", + "end_reason": "1", + "end_reason_value": "Idle Timeout", + "end_time": "2023-12-13T15:25:32.669Z", + "generator": "gs_apps_appInst16_423722da-33ec-1556-b24b-cda2e74a53f6", + "id": "679408454713121799", + "intf_name": "0", + "ip_version": "4", + "protocol": "17", + "seq_num": 704, + "src_bytes": 255, + "src_ip": "10.115.85.229", + "src_mac": "00:50:56:94:62:db", + "src_packets": 1, + "src_port": 5353, + "start_time": "2023-12-13T15:25:32.669Z", + "sys_up_time_first": 3234424843, + "sys_up_time_last": 3234424843, + "ts": "2023-12-13T15:25:47.000Z", + "vendor": "Gigamon", + "version": "6.5.00" + } + }, + "tags": [ + "preserve_original_event" + ] + }, + { + "@timestamp": "2023-12-13T15:25:47.000Z", + "ecs": { + "version": "8.11.0" + }, + "gigamon": { + "ami": { + "dns_ancount": 27, + "dns_name": "sys", + "dns_qdcount": 0, + "dns_transaction_id": 0, + "generator": "gs_apps_appInst16_423722da-33ec-1556-b24b-cda2e74a53f6", + "ts": "2023-12-13T15:25:47.000Z", + "vendor": "Gigamon", + "version": "6.5.00" + } + }, + "tags": [ + "preserve_original_event" + ] + }, + { + "@timestamp": "2023-12-13T15:25:47.000Z", + "ecs": { + "version": "8.11.0" + }, + "gigamon": { + "ami": { + "dns_ancount": 9, + "dns_flags": "33792", + "dns_host": "systest-virtual-machine-557153.local", + "dns_host_addr": "10.115.84.167", + "dns_host_type": "A", + "dns_name": "systest-virtual-machine-557153.local", + "dns_qdcount": 0, + "dns_reply_code": "0", + "dns_reply_code_value": "No Error", + "dns_response_time": 3.549374, + "dns_transaction_id": 0, + "dns_ttl": 120, + "generator": "gs_apps_appInst16_423722da-33ec-1556-b24b-cda2e74a53f6", + "ts": "2023-12-13T15:25:47.000Z", + "vendor": "Gigamon", + "version": "6.5.00" + } + }, + "tags": [ + "preserve_original_event" + ] + }, + { + "@timestamp": "2023-12-13T15:25:48.000Z", + "ecs": { + "version": "8.11.0" + }, + "gigamon": { + "ami": { + "dns_ancount": 9, + "dns_host": "systest-virtual-machine-553001.local", + "dns_host_addr": "10.115.84.166", + "dns_host_type": "A", + "dns_name": "systest-virtual-machine-553001.local", + "dns_qdcount": 0, + "dns_reply_code": "0", + "dns_reply_code_value": "No Error", + "dns_response_time": 3.440722, + "dns_transaction_id": 0, + "dns_ttl": 120, + "generator": "gs_apps_appInst16_423722da-33ec-1556-b24b-cda2e74a53f6", + "ts": "2023-12-13T15:25:48.000Z", + "vendor": "Gigamon", + "version": "6.5.00" + } + }, + "tags": [ + "preserve_original_event" + ] + }, + { + "@timestamp": "2023-12-13T15:25:49.000Z", + "ecs": { + "version": "8.11.0" + }, + "gigamon": { + "ami": { + "app_id": 32, + "app_name": "dns", + "device_inbound_interface": "0", + "dns_class": "1", + "dns_flags": "0", + "dns_host": "linux-69817.local", + "dns_host_addr": "10.115.85.224", + "dns_host_class": "1", + "dns_host_raw": "6c696e75782d36393831372e6c6f63616c", + "dns_host_type": "PTR", + "dns_name": "7.2.2.7.4.9.e.f.f.f.6.5.0.5.2.0.0.8.0.2.1.0.0.0.0.0.0.0.b.a.c.f. ip6.arpa", + "dns_opcode": "0", + "dns_qdcount": 3, + "dns_query": "224.85.115.10.in-addr.arpa", + "dns_query_type": "255", + "dns_query_type_value": "*", + "dns_transaction_id": 0, + "dns_ttl": 120, + "dst_bytes": 0, + "dst_ip": "224.0.0.251", + "dst_mac": "01:00:5e:00:00:fb", + "dst_packets": 0, + "dst_port": 5353, + "egress_intf_id": "0", + "end_reason": "1", + "end_reason_value": "Idle Timeout", + "end_time": "2023-12-13T15:25:34.941Z", + "generator": "gs_apps_appInst16_423722da-33ec-1556-b24b-cda2e74a53f6", + "id": "679408454713125895", + "intf_name": "0", + "ip_version": "4", + "protocol": "17", + "seq_num": 708, + "src_bytes": 255, + "src_ip": "10.115.85.224", + "src_mac": "00:50:56:94:72:27", + "src_packets": 1, + "src_port": 5353, + "start_time": "2023-12-13T15:25:34.941Z", + "sys_up_time_first": 2698143755, + "sys_up_time_last": 2698143755, + "ts": "2023-12-13T15:25:49.000Z", + "vendor": "Gigamon", + "version": "6.5.00" + } + }, + "tags": [ + "preserve_original_event" + ] + }, + { + "@timestamp": "2023-12-13T15:25:49.000Z", + "ecs": { + "version": "8.11.0" + }, + "gigamon": { + "ami": { + "dns_ancount": 37, + "dns_arcount": 5, + "dns_host": "MyClust23._t", + "dns_name": "_tcn_eqaHCT._tcp.local", + "dns_qdcount": 2, + "dns_transaction_id": 0, + "generator": "gs_apps_appInst16_423722da-33ec-1556-b24b-cda2e74a53f6", + "ts": "2023-12-13T15:25:49.000Z", + "vendor": "Gigamon", + "version": "6.5.00" + } + }, + "tags": [ + "preserve_original_event" + ] + }, + { + "@timestamp": "2023-12-13T15:25:49.000Z", + "ecs": { + "version": "8.11.0" + }, + "gigamon": { + "ami": { + "dns_ancount": 27, + "dns_name": "systest-virtual-machine-551405.local", + "dns_qdcount": 0, + "dns_transaction_id": 0, + "generator": "gs_apps_appInst16_423722da-33ec-1556-b24b-cda2e74a53f6", + "ts": "2023-12-13T15:25:49.000Z", + "vendor": "Gigamon", + "version": "6.5.00" + } + }, + "tags": [ + "preserve_original_event" + ] + }, + { + "@timestamp": "2023-12-13T15:25:50.000Z", + "ecs": { + "version": "8.11.0" + }, + "gigamon": { + "ami": { + "app_id": 4962, + "app_name": "Unknown ssl", + "device_inbound_interface": "0", + "dst_bytes": 2335, + "dst_ip": "10.115.81.118", + "dst_mac": "0c:c4:7a:f8:0d:c4", + "dst_packets": 8, + "dst_port": 9080, + "egress_intf_id": "0", + "end_reason": "1", + "end_reason_value": "Idle Timeout", + "end_time": "2023-12-13T15:25:35.821Z", + "generator": "gs_apps_appInst16_423722da-33ec-1556-b24b-cda2e74a53f6", + "id": "679408454713128967", + "intf_name": "0", + "ip_version": "4", + "protocol": "6", + "seq_num": 711, + "src_bytes": 1533, + "src_ip": "10.115.83.4", + "src_mac": "00:50:56:9f:7f:ff", + "src_packets": 11, + "src_port": 60895, + "ssl_cipher_suite_id": "49200", + "ssl_cipher_suite_id_value": "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384", + "start_time": "2023-12-13T15:25:35.821Z", + "sys_up_time_first": 282486795, + "sys_up_time_last": 282486795, + "ts": "2023-12-13T15:25:50.000Z", + "vendor": "Gigamon", + "version": "6.5.00" + } + }, + "tags": [ + "preserve_original_event" + ] + }, + { + "@timestamp": "2023-12-13T15:25:50.000Z", + "ecs": { + "version": "8.11.0" + }, + "gigamon": { + "ami": { + "app_id": 32, + "app_name": "dns", + "device_inbound_interface": "0", + "dns_class": "1", + "dns_flags": "0", + "dns_host": "systest-virtual-machine-634804.local", + "dns_host_addr": "10.115.84.152", + "dns_host_class": "1", + "dns_host_raw": "737973746573742d7669727475616c2d6d616368696e652d3633343830342e6c6f63616c", + "dns_host_type": "PTR", + "dns_name": "d.6.6.9.b.6.2.9.a.8.3.1.8.4.2.e.0.0.0.0.0.0.0.0.0.0.0.0.0.8.e.f. ip6.arpa", + "dns_opcode": "0", + "dns_qdcount": 5, + "dns_query": "7.7.f.2.5.b.4.f.6.1.a.2.0.1.1.d.0.0.0.0.0.0.0.0.0.0.0.0.0.8.e.f. ip6.arpa", + "dns_query_type": "255", + "dns_query_type_value": "*", + "dns_transaction_id": 0, + "dns_ttl": 120, + "dst_bytes": 0, + "dst_ip": "224.0.0.251", + "dst_mac": "01:00:5e:00:00:fb", + "dst_packets": 0, + "dst_port": 5353, + "egress_intf_id": "0", + "end_reason": "1", + "end_reason_value": "Idle Timeout", + "end_time": "2023-12-13T15:25:36.429Z", + "generator": "gs_apps_appInst16_423722da-33ec-1556-b24b-cda2e74a53f6", + "id": "679408454713129991", + "intf_name": "0", + "ip_version": "4", + "protocol": "17", + "seq_num": 712, + "src_bytes": 434, + "src_ip": "10.115.84.152", + "src_mac": "00:50:56:86:47:92", + "src_packets": 1, + "src_port": 5353, + "start_time": "2023-12-13T15:25:36.429Z", + "sys_up_time_first": 1893230603, + "sys_up_time_last": 1893230603, + "ts": "2023-12-13T15:25:50.000Z", + "vendor": "Gigamon", + "version": "6.5.00" + } + }, + "tags": [ + "preserve_original_event" + ] + }, + { + "@timestamp": "2023-12-13T15:25:50.000Z", + "ecs": { + "version": "8.11.0" + }, + "gigamon": { + "ami": { + "dns_host": "systest-virtual-machine-560119.local", + "dns_host_addr": "10.115.84.170", + "dns_host_type": "PTR", + "dns_name": "d.6.6.9.b.6.2.9.a.8.3.1.8.4.2.e.0.0.0.0.0.0.0.0.0.0.0.0.0.8.e.f. ip6.arpa", + "dns_qdcount": 5, + "dns_transaction_id": 0, + "dns_ttl": 120, + "generator": "gs_apps_appInst16_423722da-33ec-1556-b24b-cda2e74a53f6", + "ts": "2023-12-13T15:25:50.000Z", + "vendor": "Gigamon", + "version": "6.5.00" + } + }, + "tags": [ + "preserve_original_event" + ] + }, + { + "@timestamp": "2023-12-13T15:25:50.000Z", + "ecs": { + "version": "8.11.0" + }, + "gigamon": { + "ami": { + "app_id": 32, + "app_name": "dns", + "device_inbound_interface": "0", + "dns_class": "1", + "dns_flags": "0", + "dns_host": "pnstrex-85508.local", + "dns_host_addr": "10.114.82.167", + "dns_host_class": "1", + "dns_host_raw": "706e73747265782d38353530382e6c6f63616c", + "dns_host_type": "PTR", + "dns_name": "0.7.1.8.d.2.7.5.f.d.5.3.8.6.c.6.0.8.0.2.1.0.0.0.0.0.0.0.b.a.c.f. ip6.arpa", + "dns_opcode": "0", + "dns_qdcount": 4, + "dns_query": "7.7.4.f.0.1.0.d.e.7.9.c.d.f.6.a.0.8.0.2.1.0.0.0.0.0.0.0.b.a.c.f. ip6.arpa", + "dns_query_type": "255", + "dns_query_type_value": "*", + "dns_transaction_id": 0, + "dns_ttl": 120, + "dst_bytes": 0, + "dst_ip": "224.0.0.251", + "dst_mac": "01:00:5e:00:00:fb", + "dst_packets": 0, + "dst_port": 5353, + "egress_intf_id": "0", + "end_reason": "1", + "end_reason_value": "Idle Timeout", + "end_time": "2023-12-13T15:25:35.805Z", + "generator": "gs_apps_appInst16_423722da-33ec-1556-b24b-cda2e74a53f6", + "id": "679408454713132039", + "intf_name": "0", + "ip_version": "4", + "protocol": "17", + "seq_num": 714, + "src_bytes": 337, + "src_ip": "10.114.82.167", + "src_mac": "00:50:56:8d:d8:f7", + "src_packets": 1, + "src_port": 5353, + "start_time": "2023-12-13T15:25:35.805Z", + "sys_up_time_first": 14051339, + "sys_up_time_last": 14051339, + "ts": "2023-12-13T15:25:50.000Z", + "vendor": "Gigamon", + "version": "6.5.00" + } + }, + "tags": [ + "preserve_original_event" + ] + }, + { + "@timestamp": "2023-12-13T15:25:51.000Z", + "ecs": { + "version": "8.11.0" + }, + "gigamon": { + "ami": { + "app_id": 3902, + "app_name": "vmware-client", + "device_inbound_interface": "0", + "dst_bytes": 0, + "dst_ip": "10.115.83.4", + "dst_mac": "00:50:56:9f:7f:ff", + "dst_packets": 0, + "dst_port": 902, + "egress_intf_id": "0", + "end_reason": "1", + "end_reason_value": "Idle Timeout", + "end_time": "2023-12-13T15:25:37.101Z", + "generator": "gs_apps_appInst16_423722da-33ec-1556-b24b-cda2e74a53f6", + "id": "679408454713133063", + "intf_name": "0", + "ip_version": "4", + "protocol": "17", + "seq_num": 715, + "src_bytes": 377, + "src_ip": "10.115.81.118", + "src_mac": "0c:c4:7a:f8:0d:c4", + "src_packets": 1, + "src_port": 43599, + "start_time": "2023-12-13T15:25:37.101Z", + "sys_up_time_first": 282814475, + "sys_up_time_last": 282814475, + "ts": "2023-12-13T15:25:51.000Z", + "vendor": "Gigamon", + "version": "6.5.00" + } + }, + "tags": [ + "preserve_original_event" + ] + }, + { + "@timestamp": "2023-12-13T15:25:51.000Z", + "ecs": { + "version": "8.11.0" + }, + "gigamon": { + "ami": { + "app_id": 32, + "app_name": "dns", + "device_inbound_interface": "0", + "dns_class": "1", + "dns_flags": "0", + "dns_host": "linux-52271.local", + "dns_host_addr": "10.115.85.219", + "dns_host_class": "1", + "dns_host_raw": "6c696e75782d35323237312e6c6f63616c", + "dns_host_type": "PTR", + "dns_name": "8.c.4.d.4.9.e.f.f.f.6.5.0.5.2.0.0.8.0.2.1.0.0.0.0.0.0.0.b.a.c.f. ip6.arpa", + "dns_opcode": "0", + "dns_qdcount": 3, + "dns_query": "219.85.115.10.in-addr.arpa", + "dns_query_type": "255", + "dns_query_type_value": "*", + "dns_transaction_id": 0, + "dns_ttl": 120, + "dst_bytes": 0, + "dst_ip": "224.0.0.251", + "dst_mac": "01:00:5e:00:00:fb", + "dst_packets": 0, + "dst_port": 5353, + "egress_intf_id": "0", + "end_reason": "1", + "end_reason_value": "Idle Timeout", + "end_time": "2023-12-13T15:25:37.149Z", + "generator": "gs_apps_appInst16_423722da-33ec-1556-b24b-cda2e74a53f6", + "id": "679408454713134087", + "intf_name": "0", + "ip_version": "4", + "protocol": "17", + "seq_num": 716, + "src_bytes": 255, + "src_ip": "10.115.85.219", + "src_mac": "00:50:56:94:d4:c8", + "src_packets": 1, + "src_port": 5353, + "start_time": "2023-12-13T15:25:37.149Z", + "sys_up_time_first": 1088120843, + "sys_up_time_last": 1088120843, + "ts": "2023-12-13T15:25:51.000Z", + "vendor": "Gigamon", + "version": "6.5.00" + } + }, + "tags": [ + "preserve_original_event" + ] + }, + { + "@timestamp": "2023-12-13T15:25:51.000Z", + "ecs": { + "version": "8.11.0" + }, + "gigamon": { + "ami": { + "dns_class": "1", + "dns_flags": "0", + "dns_host": "pnstrex-61352.local", + "dns_host_addr": "10.114.83.205", + "dns_host_class": "1", + "dns_host_raw": "706e73747265782d3631", + "dns_host_type": "PTR", + "dns_name": "3.d.9.2.5.4.0.b.9.1.8.8.2.1.0.a.0.8.0.2.1.0.0.0.0.0.0.0.b.a.c.f. ip6.arpa", + "dns_opcode": "0", + "dns_qdcount": 4, + "dns_transaction_id": 0, + "dns_ttl": 120, + "generator": "gs_apps_appInst16_423722da-33ec-1556-b24b-cda2e74a53f6", + "ts": "2023-12-13T15:25:51.000Z", + "vendor": "Gigamon", + "version": "6.5.00" + } + }, + "tags": [ + "preserve_original_event" + ] + }, + { + "@timestamp": "2023-12-13T15:25:52.000Z", + "ecs": { + "version": "8.11.0" + }, + "gigamon": { + "ami": { + "dns_ancount": 18, + "dns_host": "systest-virtual-machine-613736.local", + "dns_name": "systest-virtual-machine-613736.local", + "dns_qdcount": 0, + "dns_transaction_id": 0, + "generator": "gs_apps_appInst16_423722da-33ec-1556-b24b-cda2e74a53f6", + "ts": "2023-12-13T15:25:52.000Z", + "vendor": "Gigamon", + "version": "6.5.00" + } + }, + "tags": [ + "preserve_original_event" + ] + }, + { + "@timestamp": "2023-12-13T15:25:52.000Z", + "ecs": { + "version": "8.11.0" + }, + "gigamon": { + "ami": { + "app_id": 4968, + "app_name": "Unknown tcp", + "device_inbound_interface": "0", + "dst_bytes": 286, + "dst_ip": "10.115.83.73", + "dst_mac": "00:50:56:b7:a1:53", + "dst_packets": 3, + "dst_port": 22, + "egress_intf_id": "0", + "end_reason": "1", + "end_reason_value": "Idle Timeout", + "end_time": "2023-12-13T15:25:38.253Z", + "generator": "gs_apps_appInst16_423722da-33ec-1556-b24b-cda2e74a53f6", + "id": "679408454713137159", + "intf_name": "0", + "ip_version": "4", + "protocol": "6", + "seq_num": 719, + "src_bytes": 518, + "src_ip": "10.70.70.164", + "src_mac": "5c:31:92:40:19:7f", + "src_packets": 7, + "src_port": 50425, + "start_time": "2023-12-13T15:25:36.669Z", + "sys_up_time_first": 1624860683, + "sys_up_time_last": 2430560267, + "ts": "2023-12-13T15:25:52.000Z", + "vendor": "Gigamon", + "version": "6.5.00" + } + }, + "tags": [ + "preserve_original_event" + ] + }, + { + "@timestamp": "2023-12-13T15:25:52.000Z", + "ecs": { + "version": "8.11.0" + }, + "gigamon": { + "ami": { + "dns_ancount": 27, + "dns_name": "sys", + "dns_qdcount": 0, + "dns_transaction_id": 0, + "generator": "gs_apps_appInst16_423722da-33ec-1556-b24b-cda2e74a53f6", + "ts": "2023-12-13T15:25:52.000Z", + "vendor": "Gigamon", + "version": "6.5.00" + } + }, + "tags": [ + "preserve_original_event" + ] + }, + { + "@timestamp": "2023-12-13T15:25:52.000Z", + "ecs": { + "version": "8.11.0" + }, + "gigamon": { + "ami": { + "app_id": 4962, + "app_name": "Unknown ssl", + "device_inbound_interface": "0", + "dst_bytes": 2335, + "dst_ip": "10.115.81.118", + "dst_mac": "0c:c4:7a:f8:0d:c4", + "dst_packets": 8, + "dst_port": 9080, + "egress_intf_id": "0", + "end_reason": "1", + "end_reason_value": "Idle Timeout", + "end_time": "2023-12-13T15:25:15.821Z", + "generator": "gs_apps_appInst16_423722da-33ec-1556-b24b-cda2e74a53f6", + "id": "679408454713139207", + "intf_name": "0", + "ip_version": "4", + "protocol": "6", + "seq_num": 721, + "src_bytes": 1533, + "src_ip": "10.115.83.4", + "src_mac": "00:50:56:9f:7f:ff", + "src_packets": 11, + "src_port": 41529, + "ssl_cipher_suite_id": "49200", + "ssl_cipher_suite_id_value": "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384", + "start_time": "2023-12-13T15:25:15.821Z", + "sys_up_time_first": 4035405835, + "sys_up_time_last": 4035405835, + "ts": "2023-12-13T15:25:52.000Z", + "vendor": "Gigamon", + "version": "6.5.00" + } + }, + "tags": [ + "preserve_original_event" + ] + }, + { + "@timestamp": "2023-12-13T15:25:52.000Z", + "ecs": { + "version": "8.11.0" + }, + "gigamon": { + "ami": { + "dns_ancount": 30, + "dns_host": "duo-test-cluster._tms_cluster._tcp.local", + "dns_host_type": "PTR", + "dns_name": "_tms_cluster._tcp.local", + "dns_qdcount": 1, + "dns_transaction_id": 0, + "generator": "gs_apps_appInst16_423722da-33ec-1556-b24b-cda2e74a53f6", + "ts": "2023-12-13T15:25:52.000Z", + "vendor": "Gigamon", + "version": "6.5.00" + } + }, + "tags": [ + "preserve_original_event" + ] + }, + { + "@timestamp": "2023-12-13T15:25:52.000Z", + "ecs": { + "version": "8.11.0" + }, + "gigamon": { + "ami": { + "dns_ancount": 40, + "dns_host": "eqaHCT._tms", + "dns_name": "_tcn_Suki-Cluster._tcp.local", + "dns_qdcount": 2, + "dns_transaction_id": 0, + "generator": "gs_apps_appInst16_423722da-33ec-1556-b24b-cda2e74a53f6", + "ts": "2023-12-13T15:25:52.000Z", + "vendor": "Gigamon", + "version": "6.5.00" + } + }, + "tags": [ + "preserve_original_event" + ] + }, + { + "@timestamp": "2023-12-13T15:25:54.000Z", + "ecs": { + "version": "8.11.0" + }, + "gigamon": { + "ami": { + "app_id": 32, + "app_name": "dns", + "device_inbound_interface": "0", + "dns_class": "1", + "dns_flags": "0", + "dns_opcode": "0", + "dns_qdcount": 7, + "dns_query": "_webdav._tcp.local", + "dns_query_type": "12", + "dns_query_type_value": "PTR", + "dns_transaction_id": 0, + "dst_bytes": 0, + "dst_ip": "224.0.0.251", + "dst_mac": "01:00:5e:00:00:fb", + "dst_packets": 0, + "dst_port": 5353, + "egress_intf_id": "0", + "end_reason": "1", + "end_reason_value": "Idle Timeout", + "end_time": "2023-12-13T15:25:40.285Z", + "generator": "gs_apps_appInst16_423722da-33ec-1556-b24b-cda2e74a53f6", + "id": "679408454713142279", + "intf_name": "0", + "ip_version": "4", + "protocol": "17", + "seq_num": 724, + "src_bytes": 247, + "src_ip": "10.115.82.8", + "src_mac": "00:50:56:a0:50:0d", + "src_packets": 2, + "src_port": 5353, + "start_time": "2023-12-13T15:25:39.533Z", + "sys_up_time_first": 2430887947, + "sys_up_time_last": 2162649099, + "ts": "2023-12-13T15:25:54.000Z", + "vendor": "Gigamon", + "version": "6.5.00" + } + }, + "tags": [ + "preserve_original_event" + ] + } + ] +} \ No newline at end of file diff --git a/packages/gigamon/data_stream/ami/_dev/test/pipeline/test-common-config.yml b/packages/gigamon/data_stream/ami/_dev/test/pipeline/test-common-config.yml new file mode 100644 index 00000000000..4da22641654 --- /dev/null +++ b/packages/gigamon/data_stream/ami/_dev/test/pipeline/test-common-config.yml @@ -0,0 +1,3 @@ +fields: + tags: + - preserve_original_event diff --git a/packages/gigamon/data_stream/ami/_dev/test/system/test-http-endpoint-config.yml b/packages/gigamon/data_stream/ami/_dev/test/system/test-http-endpoint-config.yml new file mode 100644 index 00000000000..423bb675ed4 --- /dev/null +++ b/packages/gigamon/data_stream/ami/_dev/test/system/test-http-endpoint-config.yml @@ -0,0 +1,11 @@ +service: gigamon-ami-http-endpoint +service_notify_signal: SIGHUP +input: http_endpoint +vars: + listen_address: 0.0.0.0 +data_stream: + vars: + listen_port: 9559 + preserve_original_event: true +assert: + hit_count: 8 diff --git a/packages/gigamon/data_stream/ami/agent/stream/http_endpoint.yml.hbs b/packages/gigamon/data_stream/ami/agent/stream/http_endpoint.yml.hbs new file mode 100644 index 00000000000..5a35bf6625d --- /dev/null +++ b/packages/gigamon/data_stream/ami/agent/stream/http_endpoint.yml.hbs @@ -0,0 +1,30 @@ +listen_address: {{listen_address}} +listen_port: {{listen_port}} +prefix: json +content_type: "" +{{#if secret_header}} +secret.header: {{secret_header}} +{{/if}} +{{#if secret_value}} +secret.value: {{secret_value}} +{{/if}} +{{#if preserve_original_event}} +preserve_original_event: true +{{/if}} +tags: +{{#if preserve_original_event}} + - preserve_original_event +{{/if}} +{{#each tags as |tag|}} + - {{tag}} +{{/each}} +{{#contains "forwarded" tags}} +publisher_pipeline.disable_host: true +{{/contains}} +{{#if ssl}} +ssl: {{ssl}} +{{/if}} +{{#if processors}} +processors: +{{processors}} +{{/if}} diff --git a/packages/gigamon/data_stream/ami/elasticsearch/ingest_pipeline/default.yml b/packages/gigamon/data_stream/ami/elasticsearch/ingest_pipeline/default.yml new file mode 100644 index 00000000000..13969ead3c1 --- /dev/null +++ b/packages/gigamon/data_stream/ami/elasticsearch/ingest_pipeline/default.yml @@ -0,0 +1,866 @@ +--- +description: Pipeline for Gigamon Ami logs. +processors: + - set: + field: ecs.version + value: '8.11.0' + - rename: + field: json + target_field: gigamon.ami + if: ctx.json != null + tag: rename_json + + # process dates on base fields + - date: + field: gigamon.ami.ts + tag: date_gigamon_ami_ts + target_field: gigamon.ami.ts + formats: + - 'EEE MMM dd HH:mm:ss yyyy' + - 'EEE MMM d HH:mm:ss yyyy' + - 'EEE MMM d HH:mm:ss yyyy' + - ISO8601 + if: ctx.gigamon?.ami?.ts != null + on_failure: + - remove: + field: gigamon.ami.ts + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - date: + field: gigamon.ami.start_time + target_field: gigamon.ami.start_time + tag: date_gigamon_ami_start_time + formats: + - 'yyyy:MM:dd HH:mm:ss.SSS' + - 'EEE MMM dd HH:mm:ss yyyy' + - 'EEE MMM d HH:mm:ss yyyy' + - 'EEE MMM d HH:mm:ss yyyy' + - ISO8601 + if: ctx.gigamon?.ami?.start_time != null + on_failure: + - remove: + field: gigamon.ami.start_time + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - date: + field: gigamon.ami.end_time + target_field: gigamon.ami.end_time + tag: date_gigamon_ami_end_time + formats: + - 'yyyy:MM:dd HH:mm:ss.SSS' + - 'EEE MMM dd HH:mm:ss yyyy' + - 'EEE MMM d HH:mm:ss yyyy' + - 'EEE MMM d HH:mm:ss yyyy' + - ISO8601 + if: ctx.gigamon?.ami?.end_time != null + on_failure: + - remove: + field: gigamon.ami.end_time + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - date: + field: gigamon.ami.ssl_validity_not_before + target_field: gigamon.ami.ssl_validity_not_before + tag: date_gigamon_ami_ssl_validity_not_before + formats: + - 'yyyy-MM-dd HH:mm:ss' + - ISO8601 + if: ctx.gigamon?.ami?.ssl_validity_not_before != null + on_failure: + - remove: + field: gigamon.ami.ssl_validity_not_before + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - date: + field: gigamon.ami.ssl_validity_not_after + target_field: gigamon.ami.ssl_validity_not_after + tag: date_gigamon_ami_ssl_validity_not_after + formats: + - 'yyyy-MM-dd HH:mm:ss' + - ISO8601 + if: ctx.gigamon?.ami?.ssl_validity_not_after != null + on_failure: + - remove: + field: gigamon.ami.ssl_validity_not_after + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + + # set @timestamp from gigamon.ami.ts + - set: + field: '@timestamp' + copy_from: gigamon.ami.ts + ignore_empty_value: true + + # convert base fields to long + - convert: + field: gigamon.ami.seq_num + if: ctx.gigamon?.ami?.seq_num != null + tag: convert_seq_num + type: long + on_failure: + - remove: + field: gigamon.ami.seq_num + ignore_missing: true + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - convert: + field: gigamon.ami.app_id + if: ctx.gigamon?.ami?.app_id != null + tag: convert_app_id + type: long + on_failure: + - remove: + field: gigamon.ami.app_id + ignore_missing: true + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - convert: + field: gigamon.ami.sys_up_time_first + if: ctx.gigamon?.ami?.sys_up_time_first != null + tag: convert_sys_up_time_first + type: long + on_failure: + - remove: + field: gigamon.ami.sys_up_time_first + ignore_missing: true + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - convert: + field: gigamon.ami.sys_up_time_last + if: ctx.gigamon?.ami?.sys_up_time_last != null + tag: convert_sys_up_time_last + type: long + on_failure: + - remove: + field: gigamon.ami.sys_up_time_last + ignore_missing: true + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - convert: + field: gigamon.ami.dst_bytes + if: ctx.gigamon?.ami?.dst_bytes != null + tag: convert_dst_bytes + type: long + on_failure: + - remove: + field: gigamon.ami.dst_bytes + ignore_missing: true + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - convert: + field: gigamon.ami.dst_packets + if: ctx.gigamon?.ami?.dst_packets != null + tag: convert_dst_packets + type: long + on_failure: + - remove: + field: gigamon.ami.dst_packets + ignore_missing: true + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - convert: + field: gigamon.ami.dst_port + if: ctx.gigamon?.ami?.dst_port != null + tag: convert_dst_port + type: long + on_failure: + - remove: + field: gigamon.ami.dst_port + ignore_missing: true + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - convert: + field: gigamon.ami.src_bytes + if: ctx.gigamon?.ami?.src_bytes != null + tag: convert_src_bytes + type: long + on_failure: + - remove: + field: gigamon.ami.src_bytes + ignore_missing: true + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - convert: + field: gigamon.ami.src_packets + if: ctx.gigamon?.ami?.src_packets != null + tag: convert_src_packets + type: long + on_failure: + - remove: + field: gigamon.ami.src_packets + ignore_missing: true + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - convert: + field: gigamon.ami.src_port + if: ctx.gigamon?.ami?.src_port != null + tag: convert_src_port + type: long + on_failure: + - remove: + field: gigamon.ami.src_port + ignore_missing: true + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + # convert dns_ fields to long + - convert: + field: gigamon.ami.dns_qdcount + if: ctx.gigamon?.ami?.dns_qdcount != null + tag: convert_dns_qdcount + type: long + on_failure: + - remove: + field: gigamon.ami.dns_qdcount + ignore_missing: true + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - convert: + field: gigamon.ami.dns_transaction_id + if: ctx.gigamon?.ami?.dns_transaction_id != null + tag: convert_dns_transaction_id + type: long + on_failure: + - remove: + field: gigamon.ami.dns_transaction_id + ignore_missing: true + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - convert: + field: gigamon.ami.dns_ttl + if: ctx.gigamon?.ami?.dns_ttl != null + tag: convert_dns_ttl + type: long + on_failure: + - remove: + field: gigamon.ami.dns_ttl + ignore_missing: true + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - convert: + field: gigamon.ami.dns_ancount + if: ctx.gigamon?.ami?.dns_ancount != null + tag: convert_dns_ancount + type: long + on_failure: + - remove: + field: gigamon.ami.dns_ancount + ignore_missing: true + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - convert: + field: gigamon.ami.dns_arcount + if: ctx.gigamon?.ami?.dns_arcount != null + tag: convert_dns_arcount + type: long + # convert dns_ fields to ip + on_failure: + - remove: + field: gigamon.ami.dns_arcount + ignore_missing: true + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - convert: + field: gigamon.ami.dns_reverse_addr + if: ctx.gigamon?.ami?.dns_reverse_addr != null + tag: convert_dns_reverse_addr + type: ip + # convert dns_ fields to double + on_failure: + - remove: + field: gigamon.ami.dns_reverse_addr + ignore_missing: true + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - convert: + field: gigamon.ami.dns_response_time + if: ctx.gigamon?.ami?.dns_response_time != null + tag: convert_dns_response_time + type: double + # convert http_ fields to long + on_failure: + - remove: + field: gigamon.ami.dns_response_time + ignore_missing: true + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - convert: + field: gigamon.ami.http_code + if: ctx.gigamon?.ami?.http_code != null + tag: convert_http_code + type: long + on_failure: + - remove: + field: gigamon.ami.http_code + ignore_missing: true + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - convert: + field: gigamon.ami.http_content_len + if: ctx.gigamon?.ami?.http_content_len != null + tag: convert_http_content_len + type: long + on_failure: + - remove: + field: gigamon.ami.http_content_len + ignore_missing: true + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - convert: + field: gigamon.ami.http_request_size + if: ctx.gigamon?.ami?.http_request_size != null + tag: convert_http_request_size + type: long + on_failure: + - remove: + field: gigamon.ami.http_request_size + ignore_missing: true + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + # convert ssl_ fields to long + - convert: + field: gigamon.ami.ssl_request_size + if: ctx.gigamon?.ami?.ssl_request_size != null + tag: convert_ssl_request_size + type: long + on_failure: + - remove: + field: gigamon.ami.ssl_request_size + ignore_missing: true + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - convert: + field: gigamon.ami.ssl_client_hello_extension_len + if: ctx.gigamon?.ami?.ssl_client_hello_extension_len != null + tag: convert_ssl_client_hello_extension_len + type: long + on_failure: + - remove: + field: gigamon.ami.ssl_client_hello_extension_len + ignore_missing: true + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - convert: + field: gigamon.ami.ssl_server_hello_extension_len + if: ctx.gigamon?.ami?.ssl_server_hello_extension_len != null + tag: convert_ssl_server_hello_extension_len + type: long + on_failure: + - remove: + field: gigamon.ami.ssl_server_hello_extension_len + ignore_missing: true + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - convert: + field: gigamon.ami.ssl_ext_sig_algorithms_len + if: ctx.gigamon?.ami?.ssl_ext_sig_algorithms_len != null + tag: convert_ssl_ext_sig_algorithms_len + type: long + on_failure: + - remove: + field: gigamon.ami.ssl_ext_sig_algorithms_len + ignore_missing: true + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - convert: + field: gigamon.ami.ssl_certificate_subject_key_size + if: ctx.gigamon?.ami?.ssl_certificate_subject_key_size != null + tag: convert_ssl_certificate_subject_key_size + type: long + on_failure: + - remove: + field: gigamon.ami.ssl_certificate_subject_key_size + ignore_missing: true + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - script: + lang: painless + description: Gigamon AMI lookup mappings + tag: script_lookup_mapping + if: ctx.gigamon?.ami != null + params: + end_reason: + "1": Idle Timeout + "2": Active Timeout + "3": End of Flow + "0": None + http_uri_path: + "*v1*": V1 + smb_version: + "1": SMB-V1 + "2": SMB-V2 + ssl_cipher_suite_id: + "47": + - TLS_RSA_WITH_AES_128_CBC_SHA + - AES128-SHA + "50": + - TLS_DHE_DSS_WITH_AES_128_CBC_SHA + - DHE-DSS-AES128-SHA + "51": + - TLS_DHE_RSA_WITH_AES_128_CBC_SHA + - DHE-RSA-AES128-SHA + "52": + - TLS_DH_anon_WITH_AES_128_CBC_SHA + - ADH-AES128-SHA + "53": + - TLS_RSA_WITH_AES_256_CBC_SHA + - AES256-SHA + "56": + - TLS_DHE_DSS_WITH_AES_256_CBC_SHA + - DHE-DSS-AES256-SHA + "57": + - TLS_DHE_RSA_WITH_AES_256_CBC_SHA + - DHE-RSA-AES256-SHA + "58": + - TLS_DH_anon_WITH_AES_256_CBC_SHA + - ADH-AES256-SHA + "65": + - TLS_RSA_WITH_CAMELLIA_128_CBC_SHA + - CAMELLIA128-SHA + "68": + - TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA + - DHE-DSS-CAMELLIA128-SHA + "69": + - TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA + - DHE-RSA-CAMELLIA128-SHA + "70": + - TLS_DH_anon_WITH_CAMELLIA_128_CBC_SHA + - ADH-CAMELLIA128-SHA + "108": + - TLS_DH_anon_WITH_AES_128_CBC_SHA256 + - ADH-AES128-SHA256 + "109": + - TLS_DH_anon_WITH_AES_256_CBC_SHA256 + - ADH-AES256-SHA256 + "132": + - TLS_RSA_WITH_CAMELLIA_256_CBC_SHA + - CAMELLIA256-SHA + "135": + - TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA + - DHE-DSS-CAMELLIA256-SHA + "136": + - TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA + - DHE-RSA-CAMELLIA256-SHA + "137": + - TLS_DH_anon_WITH_CAMELLIA_256_CBC_SHA + - ADH-CAMELLIA256-SHA + "138": + - TLS_PSK_WITH_RC4_128_SHA + - PSK-RC4-SHA + "139": + - TLS_PSK_WITH_3DES_EDE_CBC_SHA + - PSK-3DES-EDE-CBC-SHA + "140": + - TLS_PSK_WITH_AES_128_CBC_SHA + - PSK-AES128-CBC-SHA + "141": + - TLS_PSK_WITH_AES_256_CBC_SHA + - PSK-AES256-CBC-SHA + "150": + - TLS_RSA_WITH_SEED_CBC_SHA + - SEED-SHA + "153": + - TLS_DHE_DSS_WITH_SEED_CBC_SHA + - DHE-DSS-SEED-SHA + "154": + - TLS_DHE_RSA_WITH_SEED_CBC_SHA + - DHE-RSA-SEED-SHA + "155": + - TLS_DH_anon_WITH_SEED_CBC_SHA + - ADH-SEED-SHA + "156": + - TLS_RSA_WITH_AES_256_CBC_SHA + "166": + - TLS_DH_anon_WITH_AES_128_GCM_SHA256 + - ADH-AES128-GCM-SHA256 + "167": + - TLS_DH_anon_WITH_AES_256_GCM_SHA384 + - ADH-AES256-GCM-SHA384 + "4865": + - TLS_AES_128_GCM_SHA256 + "4866": + - TLS_AES_256_GCM_SHA384 + "19171": + - TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA + "49153": + - TLS_ECDH_ECDSA_WITH_NULL_SHA + - ECDH-ECDSA-NULL-SHA + "49154": + - TLS_ECDH_ECDSA_WITH_RC4_128_SHA + - ECDH-ECDSA-RC4-SHA + "49155": + - TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA + - ECDH-ECDSA-DES-CBC3-SHA + "49156": + - TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA + - ECDH-ECDSA-AES128-SHA + "49157": + - TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA + - ECDH-ECDSA-AES256-SHA + "49158": + - TLS_ECDHE_ECDSA_WITH_NULL_SHA + - ECDHE-ECDSA-NULL-SHA + "49159": + - TLS_ECDHE_ECDSA_WITH_RC4_128_SHA + - ECDHE-ECDSA-RC4-SHA + "49160": + - TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA + - ECDHE-ECDSA-DES-CBC3-SHA + "49161": + - TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA + - ECDHE-ECDSA-AES128-SHA + "49162": + - TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA + - ECDHE-ECDSA-AES256-SHA + "49163": + - TLS_ECDH_RSA_WITH_NULL_SHA + - ECDH-RSA-NULL-SHA + "49164": + - TLS_ECDH_RSA_WITH_RC4_128_SHA + - ECDH-RSA-RC4-SHA + "49165": + - TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA + - ECDH-RSA-DES-CBC3-SHA + "49166": + - TLS_ECDH_RSA_WITH_AES_128_CBC_SHA + - ECDH-RSA-AES128-SHA + "49167": + - TLS_ECDH_RSA_WITH_AES_256_CBC_SHA + - ECDH-RSA-AES256-SHA + "49168": + - TLS_ECDHE_RSA_WITH_NULL_SHA + - ECDHE-RSA-NULL-SHA + "49169": + - TLS_ECDHE_RSA_WITH_RC4_128_SHA + - ECDHE-RSA-RC4-SHA + "49170": + - TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA + - ECDHE-RSA-DES-CBC3-SHA + "49171": + - TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA + - ECDHE-RSA-AES128-SHA + "49172": + - TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA + - ECDHE-RSA-AES256-SHA + "49173": + - TLS_ECDH_anon_WITH_NULL_SHA + - AECDH-NULL-SHA + "49174": + - TLS_ECDH_anon_WITH_RC4_128_SHA + - AECDH-RC4-SHA + "49175": + - TLS_ECDH_anon_WITH_3DES_EDE_CBC_SHA + - AECDH-DES-CBC3-SHA + "49176": + - TLS_ECDH_anon_WITH_AES_128_CBC_SHA + - AECDH-AES128-SHA + "49177": + - TLS_ECDH_anon_WITH_AES_256_CBC_SHA + - AECDH-AES256-SHA + "49178": + - TLS_SRP_SHA_WITH_3DES_EDE_CBC_SHA + - SRP-3DES-EDE-CBC-SHA + "49179": + - TLS_SRP_SHA_RSA_WITH_3DES_EDE_CBC_SHA + - SRP-RSA-3DES-EDE-CBC-SHA + "49180": + - TLS_SRP_SHA_DSS_WITH_3DES_EDE_CBC_SHA + - SRP-DSS-3DES-EDE-CBC-SHA + "49181": + - TLS_SRP_SHA_WITH_AES_128_CBC_SHA + - SRP-AES-128-CBC-SHA + "49182": + - TLS_SRP_SHA_RSA_WITH_AES_128_CBC_SHA + - SRP-RSA-AES-128-CBC-SHA + "49183": + - TLS_SRP_SHA_DSS_WITH_AES_128_CBC_SHA + - SRP-DSS-AES-128-CBC-SHA + "49184": + - TLS_SRP_SHA_WITH_AES_256_CBC_SHA + - SRP-AES-256-CBC-SHA + "49185": + - TLS_SRP_SHA_RSA_WITH_AES_256_CBC_SHA + - SRP-RSA-AES-256-CBC-SHA + "49186": + - TLS_SRP_SHA_DSS_WITH_AES_256_CBC_SHA + - SRP-DSS-AES-256-CBC-SHA + "49191": + - TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 + "49192": + - TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 + "49195": + - TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 + "49196": + - TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 + "49199": + - TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 + "49200": + - TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 + "52392": + - TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 + "52393": + - TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256 + ssl_protocol_version: + "2": SSL_2_0 + "768": SSL_3_0 + "769": TLS_1_0 + "770": TLS_1_1 + "771": TLS_1_2 + "772": TLS_1_3 + ssl_ext_sig_algorithm_hash: + "0": None + "1": MD5 + "2": SHA1 + "3": SHA224 + "4": SHA256 + "5": SHA384 + "6": SHA512 + ssl_ext_sig_algorithm_scheme: + "1537": rsa_pkcs1_sha512 + "1027": ecdsa_secp256r1_sha256 + "257": MD5 RSA + "514": SHA1 DSA + "515": ecdsa_sha1 + "769": SHA224 RSA + "770": SHA224 DSA + "771": SHA224 ECDSA + "1025": rsa_pkcs1_sha256 + "1026": SHA256 DSA + "1281": rsa_pkcs1_sha384 + "1282": SHA384 DSA + "1283": ecdsa_secp384r1_sha384 + "1538": SHA512 DSA + "1539": ecdsa_secp521r1_sha512 + "2052": rsa_pss_rsae_sha256 + "2053": rsa_pss_rsae_sha384 + "2054": rsa_pss_rsae_sha512 + "2055": ed25519 + "2056": ed448 + "2057": rsa_pss_pss_sha256 + "2058": rsa_pss_pss_sha384 + "2059": rsa_pss_pss_sha512 + "2570": GREASE + "0": Anonymous + dns_query_type: + "1": A + "2": NS + "3": MD + "4": MF + "5": CNAME + "6": SOA + "7": MB + "8": MG + "9": MR + "10": "NULL" + "11": WKS + "12": PTR + "13": HINFO + "14": MINFO + "15": MX + "16": TXT + "17": RP + "18": AFSDB + "19": X25 + "20": ISDN + "21": RT + "22": NSAP + "23": NSAP-PTR + "24": SIG + "25": KEY + "26": PX + "27": GPOS + "28": AAAA + "29": LOC + "30": NXT + "31": EID + "32": NIMLOC + "33": SRV + "34": ATMA + "35": NAPTR + "36": KX + "37": CERT + "39": DNAME + "40": SINK + "41": OPT + "42": APL + "43": DS + "44": SSHFP + "45": IPSECKEY + "46": RRSIG + "47": NSEC + "48": DNSKEY + "49": DHCID + "50": NSEC3 + "51": NSEC3PARAM + "52": TLSA + "53": SMIMEA + "54": Unassigned + "55": HIP + "56": NINFO + "57": RKEY + "58": TALINK + "59": CDS + "60": CDNSKEY + "61": OPENPGPKEY + "62": CSYNC + "63": ZONEMD + "99": SPF + "100": UINFO + "101": UID + "102": GID + "103": UNSPEC + "104": NID + "105": L32 + "106": L64 + "107": LP + "108": EUI48 + "109": EUI64 + "249": TKEY + "250": TSIG + "251": IXFR + "252": AXFR + "253": MAILB + "254": MAILA + "255": "*" + "256": URI + "257": CAA + "258": AVC + "259": DOA + "260": AMTRELAY + "32768": TA + "32769": DLV + "-1L": unknown + dns_reply_code: + "0": No Error + "1": Format Error + "2": Server Failure + "3": Non-Existent Domain + "4": Not Implemented + "5": Query Refused + "6": Name Exists when it should not + "7": RR Set Exists when it should not + "8": RR Set that should exist does not + "9": Not Authorized + "10": Name not contained in zone + "11": DSO-TYPE Not Implemented + "16": Bad OPT Version + "17": Key not recognized + "18": Signature out of time window + "19": Bad TKEY Mode + "20": Duplicate key name + "21": Algorithm not supported + "22": Bad Truncation + "23": Bad/missing Server Cookie + "-1L": unknown + source: |- + // end_reason + if (ctx.gigamon.ami.end_reason != null) { + ctx.gigamon.ami.end_reason_value = params['end_reason'][ctx.gigamon.ami.end_reason]; + } + // http_uri_path + if (ctx.gigamon.ami.http_uri_path != null) { + ctx.gigamon.ami.http_uri_path_value = params['http_uri_path'][ctx.gigamon.ami.http_uri_path]; + } + // smb_version + if (ctx.gigamon.ami.smb_version != null) { + ctx.gigamon.ami.smb_version_value = params['smb_version'][ctx.gigamon.ami.smb_version]; + } + // ssl_cipher_suite_id + if (ctx.gigamon.ami.ssl_cipher_suite_id != null) { + ctx.gigamon.ami.ssl_cipher_suite_id_value = params['ssl_cipher_suite_id'][ctx.gigamon.ami.ssl_cipher_suite_id]; + } + // ssl_protocol_version + if (ctx.gigamon.ami.ssl_protocol_version != null) { + ctx.gigamon.ami.ssl_protocol_version_value = params['ssl_protocol_version'][ctx.gigamon.ami.ssl_protocol_version]; + } + // ssl_ext_sig_algorithm_hash + if (ctx.gigamon.ami.ssl_ext_sig_algorithm_hash != null) { + ctx.gigamon.ami.ssl_ext_sig_algorithm_hash_value = params['ssl_ext_sig_algorithm_hash'][ctx.gigamon.ami.ssl_ext_sig_algorithm_hash]; + } + // ssl_cipher_suite_id + if (ctx.gigamon.ami.ssl_cipher_suite_id != null) { + ctx.gigamon.ami.ssl_cipher_suite_id_value = params['ssl_cipher_suite_id'][ctx.gigamon.ami.ssl_cipher_suite_id][0]; + if (params['ssl_cipher_suite_id'][ctx.gigamon.ami.ssl_cipher_suite_id].size() > 1) { + ctx.gigamon.ami.ssl_cipher_suite_id_protocol = params['ssl_cipher_suite_id'][ctx.gigamon.ami.ssl_cipher_suite_id][1]; + } + } + // ssl_ext_sig_algorithm_scheme + if (ctx.gigamon.ami.ssl_ext_sig_algorithm_scheme != null) { + ctx.gigamon.ami.ssl_ext_sig_algorithm_scheme_value = params['ssl_ext_sig_algorithm_scheme'][ctx.gigamon.ami.ssl_ext_sig_algorithm_scheme]; + } + // dns_query_type + if (ctx.gigamon.ami.dns_query_type != null) { + ctx.gigamon.ami.dns_query_type_value = params['dns_query_type'][ctx.gigamon.ami.dns_query_type]; + } + // dns_reply_code + if (ctx.gigamon.ami.dns_reply_code != null) { + ctx.gigamon.ami.dns_reply_code_value = params['dns_reply_code'][ctx.gigamon.ami.dns_reply_code]; + } + - remove: + field: + - ts + - json + if: ctx.tags == null || !(ctx.tags.contains('preserve_duplicate_custom_fields')) + ignore_missing: true + - remove: + field: event.original + if: ctx.tags == null || !(ctx.tags.contains('preserve_original_event')) + ignore_failure: true + ignore_missing: true + - script: + lang: painless + description: Drops null/empty values recursively. + tag: painless_remove_null + source: |- + boolean drop(Object object) { + if (object == null || object == '') { + return true; + } else if (object instanceof Map) { + ((Map) object).values().removeIf(v -> drop(v)); + return (((Map) object).size() == 0); + } else if (object instanceof List) { + ((List) object).removeIf(v -> drop(v)); + return (((List) object).length == 0); + } + return false; + } + drop(ctx); +on_failure: + - set: + field: error.message + value: >- + Processor '{{ _ingest.on_failure_processor_type }}' + {{#_ingest.on_failure_processor_tag}}with tag '{{ _ingest.on_failure_processor_tag }}' + {{/_ingest.on_failure_processor_tag}}failed with message '{{ _ingest.on_failure_message }}' + - set: + field: event.kind + value: pipeline_error diff --git a/packages/gigamon/data_stream/ami/fields/base-fields.yml b/packages/gigamon/data_stream/ami/fields/base-fields.yml new file mode 100644 index 00000000000..b12d0fbf376 --- /dev/null +++ b/packages/gigamon/data_stream/ami/fields/base-fields.yml @@ -0,0 +1,20 @@ +- name: data_stream.type + type: constant_keyword + description: Data stream type. +- name: data_stream.dataset + type: constant_keyword + description: Data stream dataset. +- name: data_stream.namespace + type: constant_keyword + description: Data stream namespace. +- name: '@timestamp' + type: date + description: Event timestamp. +- name: event.module + type: constant_keyword + description: Event module + value: gigamon +- name: event.dataset + type: constant_keyword + description: Event dataset + value: gigamon.ami diff --git a/packages/gigamon/data_stream/ami/fields/beats.yml b/packages/gigamon/data_stream/ami/fields/beats.yml new file mode 100644 index 00000000000..2d5ae254634 --- /dev/null +++ b/packages/gigamon/data_stream/ami/fields/beats.yml @@ -0,0 +1,9 @@ +- name: input.type + type: keyword + description: Type of Filebeat input. +- name: log.offset + type: long + description: Log offset. +- name: tags + type: keyword + description: User defined tags. diff --git a/packages/gigamon/data_stream/ami/fields/fields.yml b/packages/gigamon/data_stream/ami/fields/fields.yml new file mode 100644 index 00000000000..2f7fb4293b7 --- /dev/null +++ b/packages/gigamon/data_stream/ami/fields/fields.yml @@ -0,0 +1,263 @@ +- name: gigamon.ami + type: group + fields: + # base fields + - name: id + type: keyword + - name: seq_num + type: long + - name: app_id + type: long + - name: app_name + type: keyword + - name: ts + type: date + - name: vendor + type: keyword + - name: version + type: keyword + - name: generator + type: keyword + - name: protocol + type: keyword + - name: device_inbound_interface + type: keyword + - name: ip_version + type: keyword + - name: start_time + type: date + - name: end_time + type: date + - name: intf_name + type: keyword + - name: egress_intf_id + type: keyword + - name: sys_up_time_first + type: long + - name: sys_up_time_last + type: long + - name: end_reason + type: keyword + - name: end_reason_value + type: keyword + - name: eventType + type: keyword + - name: smb_version + type: keyword + - name: smb_version_value + type: keyword + # dst_ and src_ fields + - name: dst_mac + type: keyword + - name: dst_ip + type: ip + - name: dst_port + type: long + - name: dst_bytes + type: long + - name: dst_packets + type: long + - name: src_mac + type: keyword + - name: src_ip + type: ip + - name: src_port + type: long + - name: src_bytes + type: long + - name: src_packets + type: long + # dns_ fields + - name: dns_qdcount + type: long + - name: dns_transaction_id + type: long + - name: dns_name + type: keyword + - name: dns_host + type: keyword + - name: dns_host_addr + type: keyword + - name: dns_host_type + type: keyword + - name: dns_ttl + type: long + - name: dns_flags + type: keyword + - name: dns_opcode + type: keyword + - name: dns_class + type: keyword + - name: dns_host_class + type: keyword + - name: dns_host_raw + type: keyword + - name: dns_query + type: keyword + - name: dns_query_type + type: keyword + - name: dns_query_type_value + type: keyword + - name: dns_ancount + type: long + - name: dns_arcount + type: long + - name: dns_reply_code + type: keyword + - name: dns_reply_code_value + type: keyword + - name: dns_response_time + type: double + - name: dns_reverse_addr + type: ip + # http_ fields + - name: http_server + type: keyword + - name: http_uri + type: keyword + - name: http_uri_full + type: keyword + - name: http_mime_type + type: keyword + - name: http_server_agent + type: keyword + - name: http_rtt + type: keyword + - name: http_code + type: long + - name: http_content_len + type: long + - name: http_uri_path + type: keyword + - name: http_uri_path_value + type: keyword + - name: http_request_size + type: long + - name: http_host + type: keyword + - name: http_uri_decoded + type: keyword + - name: http_uri_path_decoded + type: keyword + - name: http_uri_raw + type: keyword + - name: http_content_type + type: keyword + - name: http_method + type: keyword + - name: http_version + type: keyword + - name: http_user_agent + type: keyword + # tcp_ fields + - name: tcp_flags + type: keyword + # ssl_ fields + - name: ssl_certif_md5 + type: keyword + - name: ssl_common_name + type: keyword + - name: ssl_issuer + type: keyword + - name: ssl_validity_not_before + type: date + - name: ssl_validity_not_after + type: date + - name: ssl_serial_number + type: keyword + - name: ssl_handshake_type + type: keyword + - name: ssl_organization_name + type: keyword + - name: ssl_request_size + type: long + - name: ssl_cipher_suite_id + type: keyword + - name: ssl_cipher_suite_id_value + type: keyword + - name: ssl_cipher_suite_id_protocol + type: keyword + - name: ssl_cipher_suite_list + type: keyword + - name: ssl_certif_sha1 + type: keyword + - name: ssl_content_type + type: keyword + - name: ssl_protocol_version + type: keyword + - name: ssl_protocol_version_value + type: keyword + - name: ssl_client_hello_extension_type + type: keyword + - name: ssl_server_hello_extension_type + type: keyword + - name: ssl_certificate_dn_subject + type: keyword + - name: ssl_certificate_subject_cn + type: keyword + - name: ssl_certificate_subject_l + type: keyword + - name: ssl_certificate_subject_st + type: keyword + - name: ssl_certificate_subject_o + type: keyword + - name: ssl_certificate_subject_ou + type: keyword + - name: ssl_certificate_subject_c + type: keyword + - name: ssl_certificate_dn_issuer + type: keyword + - name: ssl_certificate_issuer_cn + type: keyword + - name: ssl_certificate_issuer_l + type: keyword + - name: ssl_certificate_issuer_st + type: keyword + - name: ssl_certificate_issuer_o + type: keyword + - name: ssl_certificate_issuer_ou + type: keyword + - name: ssl_certificate_issuer_c + type: keyword + - name: ssl_client_hello_extension_len + type: long + - name: ssl_server_hello_extension_len + type: long + - name: ssl_nb_compression_methods + type: keyword + - name: ssl_compression_method + type: keyword + - name: ssl_ext_sig_algorithms_len + type: long + - name: ssl_ext_sig_algorithm_scheme + type: keyword + - name: ssl_ext_sig_algorithm_scheme_value + type: keyword + - name: ssl_ext_sig_algorithm_hash + type: keyword + - name: ssl_ext_sig_algorithm_hash_value + type: keyword + - name: ssl_ext_sig_algorithm_sig + type: keyword + - name: ssl_certificate_subject_key_algo_oid + type: keyword + - name: ssl_certificate_subject_key_size + type: long + - name: ssl_cert_extension_oid + type: keyword + - name: ssl_cert_ext_authority_key_id + type: keyword + - name: ssl_cert_ext_subject_key_id + type: keyword + - name: ssl_fingerprint_ja3 + type: keyword + - name: ssl_fingerprint_ja3s + type: keyword + - name: ssl_index + type: keyword + - name: ssl_session_id + type: keyword + - name: ssl_declassify_override + type: keyword + - name: ssl_signalization_override + type: keyword diff --git a/packages/gigamon/data_stream/ami/manifest.yml b/packages/gigamon/data_stream/ami/manifest.yml new file mode 100644 index 00000000000..a97387cda19 --- /dev/null +++ b/packages/gigamon/data_stream/ami/manifest.yml @@ -0,0 +1,63 @@ +title: Gigamon Application Metadata Intelligence (AMI) Logs +type: logs +streams: + - input: http_endpoint + template_path: http_endpoint.yml.hbs + title: Gigamon Application Metadata Intelligence (AMI) Logs + description: Collect the Gigamon Application Metadata Attributes which is in json format via HTTP endpoint. + vars: + - name: listen_port + type: integer + title: Listen Port + description: The port number to listen on. + multi: false + required: true + show_user: true + default: 9559 + - name: secret_header + type: text + title: Secret Header + description: The header to check for a specific value specified by `secret.value`. + required: false + show_user: false + secret: false + - name: secret_value + type: password + title: Secret Value + description: The secret stored in the header name specified by `secret.header`. + required: false + show_user: false + secret: true + - name: tags + type: text + title: Tags + multi: true + required: true + show_user: false + default: + - forwarded + - gigamon-ami + - name: preserve_original_event + type: bool + required: true + show_user: true + title: Preserve original event + description: Preserves a raw copy of the original event, added to the field `event.original. + multi: false + default: false + - name: preserve_duplicate_custom_fields + required: true + show_user: true + title: Preserve duplicate custom fields + description: Preserve custom fields for all ECS mappings. + type: bool + multi: false + default: false + - name: processors + type: yaml + title: Processors + multi: false + required: false + show_user: false + description: >- + Processors are used to reduce the number of fields in the exported event or to enhance the event with metadata. This executes in the agent before the logs are parsed. See [Processors](https://www.elastic.co/guide/en/beats/filebeat/current/filtering-and-enhancing-data.html) for details. diff --git a/packages/gigamon/data_stream/ami/sample_event.json b/packages/gigamon/data_stream/ami/sample_event.json new file mode 100644 index 00000000000..c76dce4d679 --- /dev/null +++ b/packages/gigamon/data_stream/ami/sample_event.json @@ -0,0 +1,85 @@ +{ + "@timestamp": "2023-05-16T15:25:25.000Z", + "agent": { + "ephemeral_id": "0e2836eb-563d-4550-9858-6fc4af32480a", + "id": "931b4c56-94b9-481d-a440-a4d9f31c41fd", + "name": "elastic-agent-58986", + "type": "filebeat", + "version": "8.15.0" + }, + "data_stream": { + "dataset": "gigamon.ami", + "namespace": "16851", + "type": "logs" + }, + "ecs": { + "version": "8.11.0" + }, + "elastic_agent": { + "id": "931b4c56-94b9-481d-a440-a4d9f31c41fd", + "snapshot": false, + "version": "8.15.0" + }, + "event": { + "agent_id_status": "verified", + "dataset": "gigamon.ami", + "ingested": "2024-08-23T10:00:41Z", + "original": "{\"app_id\":\"32\",\"app_name\":\"dns\",\"device_inbound_interface\":\"0\",\"dns_class\":\"1\",\"dns_flags\":\"0\",\"dns_host\":\"pnstrex-83816.local\",\"dns_host_addr\":\"10.114.82.101\",\"dns_host_class\":\"1\",\"dns_host_raw\":\"706e73747265782d38333831362e6c6f63616c\",\"dns_host_type\":\"PTR\",\"dns_name\":\"a.b.2.b.9.6.c.2.3.9.3.d.6.2.6.a.0.8.0.2.1.0.0.0.0.0.0.0.b.a.c.f. i:p6.arpa\",\"dns_opcode\":\"0\",\"dns_qdcount\":\"4\",\"dns_query\":\"f.7.5.2.e.7.6.2.4.c.1.c.4.c.6.1.0.8.0.2.1.0.0.0.0.0.0.0.b.a.c.f. ip6.arpa\",\"dns_query_type\":\"255\",\"dns_transaction_id\":\"0\",\"dns_ttl\":\"120\",\"dst_bytes\":\"0\",\"dst_ip\":\"224.0.0.251\",\"dst_mac\":\"01:00:5e:00:00:fb\",\"dst_packets\":\"0\",\"dst_port\":\"5353\",\"egress_intf_id\":\"0\",\"end_reason\":\"1\",\"end_time\":\"2023:12:13 15:25:11.181\",\"generator\":\"gs_apps_appInst16_423722da-33ec-1556-b24b-cda2e74a53f6\",\"id\":\"679408454713072647\",\"intf_name\":\"0\",\"ip_version\":\"4\",\"protocol\":\"17\",\"seq_num\":\"656\",\"src_bytes\":\"337\",\"src_ip\":\"10.114.82.101\",\"src_mac\":\"00:50:56:8d:89:41\",\"src_packets\":\"1\",\"src_port\":\"5353\",\"start_time\":\"2023:12:13 15:25:11.181\",\"sys_up_time_first\":\"3497355275\",\"sys_up_time_last\":\"3497355275\",\"ts\":\"Thu May 16 15:25:25 2023\",\"vendor\":\"Gigamon\",\"version\":\"6.5.00\"}" + }, + "gigamon": { + "ami": { + "app_id": 32, + "app_name": "dns", + "device_inbound_interface": "0", + "dns_class": "1", + "dns_flags": "0", + "dns_host": "pnstrex-83816.local", + "dns_host_addr": "10.114.82.101", + "dns_host_class": "1", + "dns_host_raw": "706e73747265782d38333831362e6c6f63616c", + "dns_host_type": "PTR", + "dns_name": "a.b.2.b.9.6.c.2.3.9.3.d.6.2.6.a.0.8.0.2.1.0.0.0.0.0.0.0.b.a.c.f. i:p6.arpa", + "dns_opcode": "0", + "dns_qdcount": 4, + "dns_query": "f.7.5.2.e.7.6.2.4.c.1.c.4.c.6.1.0.8.0.2.1.0.0.0.0.0.0.0.b.a.c.f. ip6.arpa", + "dns_query_type": "255", + "dns_query_type_value": "*", + "dns_transaction_id": 0, + "dns_ttl": 120, + "dst_bytes": 0, + "dst_ip": "224.0.0.251", + "dst_mac": "01:00:5e:00:00:fb", + "dst_packets": 0, + "dst_port": 5353, + "egress_intf_id": "0", + "end_reason": "1", + "end_reason_value": "Idle Timeout", + "end_time": "2023-12-13T15:25:11.181Z", + "generator": "gs_apps_appInst16_423722da-33ec-1556-b24b-cda2e74a53f6", + "id": "679408454713072647", + "intf_name": "0", + "ip_version": "4", + "protocol": "17", + "seq_num": 656, + "src_bytes": 337, + "src_ip": "10.114.82.101", + "src_mac": "00:50:56:8d:89:41", + "src_packets": 1, + "src_port": 5353, + "start_time": "2023-12-13T15:25:11.181Z", + "sys_up_time_first": 3497355275, + "sys_up_time_last": 3497355275, + "ts": "2023-05-16T15:25:25.000Z", + "vendor": "Gigamon", + "version": "6.5.00" + } + }, + "input": { + "type": "http_endpoint" + }, + "tags": [ + "preserve_original_event", + "forwarded", + "gigamon-ami" + ] +} \ No newline at end of file diff --git a/packages/gigamon/docs/README.md b/packages/gigamon/docs/README.md new file mode 100644 index 00000000000..00b25abf2cb --- /dev/null +++ b/packages/gigamon/docs/README.md @@ -0,0 +1,331 @@ +# Gigamon Integration + +Gigamon leverages deep packet inspection (DPI) to extract over 7500+ app related metadata attributes from the raw packets in the network. Gigamon Elastic Integration delivers intelligent security analytics and threat intelligence across the enterprise, and you get a single solution for attack detection, threat visibility, proactive hunting, and threat response. + +## Data streams + +The Gigamon integration currently provides a single +data stream: `ami`. + +## Requirements + +- Elastic Agent must be installed. +- You can install only one Elastic Agent per host. + +### Installing and managing an Elastic Agent: + +You have a few options for installing and managing an Elastic Agent: + +### Install a Fleet-managed Elastic Agent (recommended): + +With this approach, you install Elastic Agent and use Fleet in Kibana to +define, configure, and manage your agents in a central location. We recommend +using Fleet management because it makes the management and upgrade of your +agents considerably easier. + +### Install Elastic Agent in standalone mode (advanced users): + +With this approach, you install Elastic Agent and manually configure the agent +locally on the system where it is installed. You are responsible for managing +and upgrading the agents. This approach is reserved for advanced users only. + +### Install Elastic Agent in a containerized environment: + +You can run Elastic Agent inside a container, either with Fleet Server or +standalone. Docker images for all versions of Elastic Agent are available +from the Elastic Docker registry, and we provide deployment manifests for +running on Kubernetes. + +There are some minimum requirements for running Elastic Agent and for more +information, refer to the link [here](https://www.elastic.co/guide/en/fleet/current/elastic-agent-installation.html). + +The minimum **kibana.version** required is **8.12.0**. + + +### Setup + +## Gigamon setup + +To export data to Gigamon Elastic Integration. + +1. From Fabric Manager, Deploy an AMX node with traffic acquisition method as "Customer Orchestrated Source". + +2. Create an Monitoring Session with (Rep In ----> AMX ---> Rep Out). + + + +To add AMX application: + +1. Drag and drop Application Metadata Exporter from APPLICATIONS to the graphical workspace. The Application quick view appears. +2. Enter the Alias for the application. Enter a port number for the Cloud Tool Ingestor Port. Then, click the Add button for Cloud Tool Exports. +3. You can export your Application Metadata Intelligence output to cloud tools. Enter the following details for the Cloud tool export in the Application quick view: + + -**Alias**:Enter the alias name for the cloud tool export. + + -**Cloud Tool**:Select the Cloud tool from the drop-down menu.If it is not available click "others". + + -**Endpoint**:Give the URL of the cloud tool instance with the correct port number in which the port is listening. + + -**Headers**:Enter the secret header and enable secure keys + + -**Enable Export**:Enable the box to export the Application Metadata Intelligence output in JSON format. + + -**Zip**:Enable the box to compress the output file. + + -**Interval**:The time interval (in seconds) in which the data should be uploaded periodically. The recommended minimum time interval is 10 seconds and the maximum time interval is 30 minutes. + + -**Parallel Writer**:Specifies the number of simultaneous JSON exports done. + + -**Export Retries**:The number of times the application tries to export the entries to Cloud Tool. The recommended minimum value is 4 and the maximum is 10. + + -**Maximum Entries**:The number of JSON entries in a file. The maximum number of allowed entries is 5000 and the minimum is 10, however 1000 is the default value. + + -**Labels**:Click Add. Enter the following details: + + o Enter the Key . + o Enter the Value. + + +4. Click Deploy to deploy the monitoring session. The Select nodes to deploy the Monitoring Session dialog box appears. Select the GigaVUE V Series Node for which you wish to deploy the monitoring session. +5. After selecting the V Series Node, select the interfaces for the REPs deployed in the monitoring session from the drop-down menu. Then, click Deploy. + +## Logs Reference + +### ami + +This is the `ami` dataset. + +#### Example + +An example event for `ami` looks as following: + +```json +{ + "@timestamp": "2023-05-16T15:25:25.000Z", + "agent": { + "ephemeral_id": "0e2836eb-563d-4550-9858-6fc4af32480a", + "id": "931b4c56-94b9-481d-a440-a4d9f31c41fd", + "name": "elastic-agent-58986", + "type": "filebeat", + "version": "8.15.0" + }, + "data_stream": { + "dataset": "gigamon.ami", + "namespace": "16851", + "type": "logs" + }, + "ecs": { + "version": "8.11.0" + }, + "elastic_agent": { + "id": "931b4c56-94b9-481d-a440-a4d9f31c41fd", + "snapshot": false, + "version": "8.15.0" + }, + "event": { + "agent_id_status": "verified", + "dataset": "gigamon.ami", + "ingested": "2024-08-23T10:00:41Z", + "original": "{\"app_id\":\"32\",\"app_name\":\"dns\",\"device_inbound_interface\":\"0\",\"dns_class\":\"1\",\"dns_flags\":\"0\",\"dns_host\":\"pnstrex-83816.local\",\"dns_host_addr\":\"10.114.82.101\",\"dns_host_class\":\"1\",\"dns_host_raw\":\"706e73747265782d38333831362e6c6f63616c\",\"dns_host_type\":\"PTR\",\"dns_name\":\"a.b.2.b.9.6.c.2.3.9.3.d.6.2.6.a.0.8.0.2.1.0.0.0.0.0.0.0.b.a.c.f. i:p6.arpa\",\"dns_opcode\":\"0\",\"dns_qdcount\":\"4\",\"dns_query\":\"f.7.5.2.e.7.6.2.4.c.1.c.4.c.6.1.0.8.0.2.1.0.0.0.0.0.0.0.b.a.c.f. ip6.arpa\",\"dns_query_type\":\"255\",\"dns_transaction_id\":\"0\",\"dns_ttl\":\"120\",\"dst_bytes\":\"0\",\"dst_ip\":\"224.0.0.251\",\"dst_mac\":\"01:00:5e:00:00:fb\",\"dst_packets\":\"0\",\"dst_port\":\"5353\",\"egress_intf_id\":\"0\",\"end_reason\":\"1\",\"end_time\":\"2023:12:13 15:25:11.181\",\"generator\":\"gs_apps_appInst16_423722da-33ec-1556-b24b-cda2e74a53f6\",\"id\":\"679408454713072647\",\"intf_name\":\"0\",\"ip_version\":\"4\",\"protocol\":\"17\",\"seq_num\":\"656\",\"src_bytes\":\"337\",\"src_ip\":\"10.114.82.101\",\"src_mac\":\"00:50:56:8d:89:41\",\"src_packets\":\"1\",\"src_port\":\"5353\",\"start_time\":\"2023:12:13 15:25:11.181\",\"sys_up_time_first\":\"3497355275\",\"sys_up_time_last\":\"3497355275\",\"ts\":\"Thu May 16 15:25:25 2023\",\"vendor\":\"Gigamon\",\"version\":\"6.5.00\"}" + }, + "gigamon": { + "ami": { + "app_id": 32, + "app_name": "dns", + "device_inbound_interface": "0", + "dns_class": "1", + "dns_flags": "0", + "dns_host": "pnstrex-83816.local", + "dns_host_addr": "10.114.82.101", + "dns_host_class": "1", + "dns_host_raw": "706e73747265782d38333831362e6c6f63616c", + "dns_host_type": "PTR", + "dns_name": "a.b.2.b.9.6.c.2.3.9.3.d.6.2.6.a.0.8.0.2.1.0.0.0.0.0.0.0.b.a.c.f. i:p6.arpa", + "dns_opcode": "0", + "dns_qdcount": 4, + "dns_query": "f.7.5.2.e.7.6.2.4.c.1.c.4.c.6.1.0.8.0.2.1.0.0.0.0.0.0.0.b.a.c.f. ip6.arpa", + "dns_query_type": "255", + "dns_query_type_value": "*", + "dns_transaction_id": 0, + "dns_ttl": 120, + "dst_bytes": 0, + "dst_ip": "224.0.0.251", + "dst_mac": "01:00:5e:00:00:fb", + "dst_packets": 0, + "dst_port": 5353, + "egress_intf_id": "0", + "end_reason": "1", + "end_reason_value": "Idle Timeout", + "end_time": "2023-12-13T15:25:11.181Z", + "generator": "gs_apps_appInst16_423722da-33ec-1556-b24b-cda2e74a53f6", + "id": "679408454713072647", + "intf_name": "0", + "ip_version": "4", + "protocol": "17", + "seq_num": 656, + "src_bytes": 337, + "src_ip": "10.114.82.101", + "src_mac": "00:50:56:8d:89:41", + "src_packets": 1, + "src_port": 5353, + "start_time": "2023-12-13T15:25:11.181Z", + "sys_up_time_first": 3497355275, + "sys_up_time_last": 3497355275, + "ts": "2023-05-16T15:25:25.000Z", + "vendor": "Gigamon", + "version": "6.5.00" + } + }, + "input": { + "type": "http_endpoint" + }, + "tags": [ + "preserve_original_event", + "forwarded", + "gigamon-ami" + ] +} +``` + +**Exported fields** + +| Field | Description | Type | +|---|---|---| +| @timestamp | Event timestamp. | date | +| data_stream.dataset | Data stream dataset. | constant_keyword | +| data_stream.namespace | Data stream namespace. | constant_keyword | +| data_stream.type | Data stream type. | constant_keyword | +| event.dataset | Event dataset | constant_keyword | +| event.module | Event module | constant_keyword | +| gigamon.ami.app_id | | long | +| gigamon.ami.app_name | | keyword | +| gigamon.ami.device_inbound_interface | | keyword | +| gigamon.ami.dns_ancount | | long | +| gigamon.ami.dns_arcount | | long | +| gigamon.ami.dns_class | | keyword | +| gigamon.ami.dns_flags | | keyword | +| gigamon.ami.dns_host | | keyword | +| gigamon.ami.dns_host_addr | | keyword | +| gigamon.ami.dns_host_class | | keyword | +| gigamon.ami.dns_host_raw | | keyword | +| gigamon.ami.dns_host_type | | keyword | +| gigamon.ami.dns_name | | keyword | +| gigamon.ami.dns_opcode | | keyword | +| gigamon.ami.dns_qdcount | | long | +| gigamon.ami.dns_query | | keyword | +| gigamon.ami.dns_query_type | | keyword | +| gigamon.ami.dns_query_type_value | | keyword | +| gigamon.ami.dns_reply_code | | keyword | +| gigamon.ami.dns_reply_code_value | | keyword | +| gigamon.ami.dns_response_time | | double | +| gigamon.ami.dns_reverse_addr | | ip | +| gigamon.ami.dns_transaction_id | | long | +| gigamon.ami.dns_ttl | | long | +| gigamon.ami.dst_bytes | | long | +| gigamon.ami.dst_ip | | ip | +| gigamon.ami.dst_mac | | keyword | +| gigamon.ami.dst_packets | | long | +| gigamon.ami.dst_port | | long | +| gigamon.ami.egress_intf_id | | keyword | +| gigamon.ami.end_reason | | keyword | +| gigamon.ami.end_reason_value | | keyword | +| gigamon.ami.end_time | | date | +| gigamon.ami.eventType | | keyword | +| gigamon.ami.generator | | keyword | +| gigamon.ami.http_code | | long | +| gigamon.ami.http_content_len | | long | +| gigamon.ami.http_content_type | | keyword | +| gigamon.ami.http_host | | keyword | +| gigamon.ami.http_method | | keyword | +| gigamon.ami.http_mime_type | | keyword | +| gigamon.ami.http_request_size | | long | +| gigamon.ami.http_rtt | | keyword | +| gigamon.ami.http_server | | keyword | +| gigamon.ami.http_server_agent | | keyword | +| gigamon.ami.http_uri | | keyword | +| gigamon.ami.http_uri_decoded | | keyword | +| gigamon.ami.http_uri_full | | keyword | +| gigamon.ami.http_uri_path | | keyword | +| gigamon.ami.http_uri_path_decoded | | keyword | +| gigamon.ami.http_uri_path_value | | keyword | +| gigamon.ami.http_uri_raw | | keyword | +| gigamon.ami.http_user_agent | | keyword | +| gigamon.ami.http_version | | keyword | +| gigamon.ami.id | | keyword | +| gigamon.ami.intf_name | | keyword | +| gigamon.ami.ip_version | | keyword | +| gigamon.ami.protocol | | keyword | +| gigamon.ami.seq_num | | long | +| gigamon.ami.smb_version | | keyword | +| gigamon.ami.smb_version_value | | keyword | +| gigamon.ami.src_bytes | | long | +| gigamon.ami.src_ip | | ip | +| gigamon.ami.src_mac | | keyword | +| gigamon.ami.src_packets | | long | +| gigamon.ami.src_port | | long | +| gigamon.ami.ssl_cert_ext_authority_key_id | | keyword | +| gigamon.ami.ssl_cert_ext_subject_key_id | | keyword | +| gigamon.ami.ssl_cert_extension_oid | | keyword | +| gigamon.ami.ssl_certif_md5 | | keyword | +| gigamon.ami.ssl_certif_sha1 | | keyword | +| gigamon.ami.ssl_certificate_dn_issuer | | keyword | +| gigamon.ami.ssl_certificate_dn_subject | | keyword | +| gigamon.ami.ssl_certificate_issuer_c | | keyword | +| gigamon.ami.ssl_certificate_issuer_cn | | keyword | +| gigamon.ami.ssl_certificate_issuer_l | | keyword | +| gigamon.ami.ssl_certificate_issuer_o | | keyword | +| gigamon.ami.ssl_certificate_issuer_ou | | keyword | +| gigamon.ami.ssl_certificate_issuer_st | | keyword | +| gigamon.ami.ssl_certificate_subject_c | | keyword | +| gigamon.ami.ssl_certificate_subject_cn | | keyword | +| gigamon.ami.ssl_certificate_subject_key_algo_oid | | keyword | +| gigamon.ami.ssl_certificate_subject_key_size | | long | +| gigamon.ami.ssl_certificate_subject_l | | keyword | +| gigamon.ami.ssl_certificate_subject_o | | keyword | +| gigamon.ami.ssl_certificate_subject_ou | | keyword | +| gigamon.ami.ssl_certificate_subject_st | | keyword | +| gigamon.ami.ssl_cipher_suite_id | | keyword | +| gigamon.ami.ssl_cipher_suite_id_protocol | | keyword | +| gigamon.ami.ssl_cipher_suite_id_value | | keyword | +| gigamon.ami.ssl_cipher_suite_list | | keyword | +| gigamon.ami.ssl_client_hello_extension_len | | long | +| gigamon.ami.ssl_client_hello_extension_type | | keyword | +| gigamon.ami.ssl_common_name | | keyword | +| gigamon.ami.ssl_compression_method | | keyword | +| gigamon.ami.ssl_content_type | | keyword | +| gigamon.ami.ssl_declassify_override | | keyword | +| gigamon.ami.ssl_ext_sig_algorithm_hash | | keyword | +| gigamon.ami.ssl_ext_sig_algorithm_hash_value | | keyword | +| gigamon.ami.ssl_ext_sig_algorithm_scheme | | keyword | +| gigamon.ami.ssl_ext_sig_algorithm_scheme_value | | keyword | +| gigamon.ami.ssl_ext_sig_algorithm_sig | | keyword | +| gigamon.ami.ssl_ext_sig_algorithms_len | | long | +| gigamon.ami.ssl_fingerprint_ja3 | | keyword | +| gigamon.ami.ssl_fingerprint_ja3s | | keyword | +| gigamon.ami.ssl_handshake_type | | keyword | +| gigamon.ami.ssl_index | | keyword | +| gigamon.ami.ssl_issuer | | keyword | +| gigamon.ami.ssl_nb_compression_methods | | keyword | +| gigamon.ami.ssl_organization_name | | keyword | +| gigamon.ami.ssl_protocol_version | | keyword | +| gigamon.ami.ssl_protocol_version_value | | keyword | +| gigamon.ami.ssl_request_size | | long | +| gigamon.ami.ssl_serial_number | | keyword | +| gigamon.ami.ssl_server_hello_extension_len | | long | +| gigamon.ami.ssl_server_hello_extension_type | | keyword | +| gigamon.ami.ssl_session_id | | keyword | +| gigamon.ami.ssl_signalization_override | | keyword | +| gigamon.ami.ssl_validity_not_after | | date | +| gigamon.ami.ssl_validity_not_before | | date | +| gigamon.ami.start_time | | date | +| gigamon.ami.sys_up_time_first | | long | +| gigamon.ami.sys_up_time_last | | long | +| gigamon.ami.tcp_flags | | keyword | +| gigamon.ami.ts | | date | +| gigamon.ami.vendor | | keyword | +| gigamon.ami.version | | keyword | +| input.type | Type of Filebeat input. | keyword | +| log.offset | Log offset. | long | +| tags | User defined tags. | keyword | + + diff --git a/packages/gigamon/img/App_Insights_Dashboard.png b/packages/gigamon/img/App_Insights_Dashboard.png new file mode 100644 index 0000000000000000000000000000000000000000..e3a95b290d48eaff8cdca34629f0c58de1e11512 GIT binary patch literal 238172 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°+_;~qgpDd_G=h9+Xo4uH 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�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%0AKv%i4>4yOFPS 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%0Am<4vby>$>FRX$-xTOzns)e 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±s%F1cHqN2}cejFW1pgi9d4k@Tb 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 Z9^7p2r-zpqc{Kn literal 0 HcmV?d00001 diff --git a/packages/gigamon/img/M21-31_Dashboard.png b/packages/gigamon/img/M21-31_Dashboard.png new file mode 100644 index 0000000000000000000000000000000000000000..6fcea4048d468eaf42cf3fdb098687abf59130f8 GIT binary patch literal 188198 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 z zy4Ti3G5LkOYXhy0Moi`I6c(_~PSrL?<_31eqR0jycQe0r=W2DN$BS3z$IN2>u%ex` z66&_m_Qqb>*s;_Q9YvpP+i3MVXvKX)YL<)|u8H!XX@wlC4rZKH`1sJ5);xI7Vr$zO zk&*qW?ufF;wK6_*^;6SwIv4O&ezf|UfqUK61DBVaZH+0X^YYYYoe!R8Wwtb4j{N`F z`s%o**Ej4TDvE)HCfsq4sbPZcU;0V$&LOLe3(I|>IU^I+v zgo13q7|nVx{7R#9Cw-AXOy4><7(*2PPt!gn6 z8FZyZ5_wRjeWB&d%l0cBXXr!iN+ zjM?fb_sHhT@)N5Ghy?o&N+*dOhih8gkuwVFoQLBR?HkumAGsu>j%@Et`|L<{id-kz zhrCEcJ9_wZ;Ya*!5h-Zz<0)wW?V^ucmgeHfkb&UI&GrLHmEL8dk1vhlN4&~p!HI)Y zX(j9H)+%ktGTab)oJ#X&TpHf0_DuNa=T7kRhclNd)bppfs-g;8n2_UvSkEglXT8e zk#veypGe}7N7!W9c2qx6x{zcax1%_vZq8o>@*Z#7m1>x8I=Xc6@f1i#MH>zV6$<*o zw2D$NE-`nC+KE55uh=AfyMz$ykL7|Wn(x_DJ&Q-0aSW=WV>b@-mw=oreOzSj+vXGL zd0o9h$d0 zCt|WYSbFLlDmNRYJ2Ng56+h`dO8t2h=N-B+(I9K4M;&ZT9n z{c0fCcNCqO5;MRQRIWMyM*rxbJ^?1F;@bB(*|e*COrQO75$BqZV;p%^5Ih<3iZxjw z?;d1Yr+9X!v^WXn`q%B_L7UDPXSS#h^Fh9^?asL@w@K?%^9_@i3C>Tn`<0&w{Tpd; z2j^~8e0)g6F9~(ixNFzE78~Yp@$iOD<$E?P@=S`Lis@+NDyFl`I1yYJ+SJk#t71ki z{GbZ?xFCZfOsGGW*SuT4ZK0{uV#!`0jkSwplm@HJm!xhdub1Vo1>GY7S)EcCWIIN5 zM%W?j^9K)a4PD%lUy!A^S+KGu&yz2-8KJ*xE)WNg2-a7cP-2eQJ6C^

>HKv@N!jmvsATQrRhA{2ekt9> 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 hAT;V|V~{(yyf?DruTFH(Qp`_@-J5yGED#g literal 0 HcmV?d00001 diff --git a/packages/gigamon/img/PCI_Compliance_Dashboard.png b/packages/gigamon/img/PCI_Compliance_Dashboard.png new file mode 100644 index 0000000000000000000000000000000000000000..2851c14bd60778a91281a908a01a8134ef44ceff GIT binary patch literal 201191 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%0A)GC@i@G;i-d;~gjEX{9-+U|TV`pcl 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 literal 0 HcmV?d00001 diff --git a/packages/gigamon/img/Rogue_Activity_Dashboard.png b/packages/gigamon/img/Rogue_Activity_Dashboard.png new file mode 100644 index 0000000000000000000000000000000000000000..c709db26ef8f99cc65df639128b42367e2124595 GIT binary patch literal 199511 zcmb4qbyQp5)-5eiN-3p4DehL>id*sGMS{B)4Nh@dC{i4XTX9H$V8J1{YazIMaSaYH z{oOn6_uVnxcw@ZvM}UxX&d%Oz?={z)YlVMOk;8sL@&W|~1zY~3v^ok3Mj#3bn!xjC z$ai)o+NF>`p17*ZNurdGko`gafo3hCEP;Yj8H06aijIQv*eEY8q4~vVe-XpvP51n> zW5$N_CE;Ka+ntunXsQ=90MIw|ia_*z{};Q)pSqsSe3E!06Zh)3&kyMJ&N1N%X z^TBiml9Df;kE+JZ`_(NR?k^b~E@cwaT3cU|y~h3DruN;%&E<)d|56Wj+4S&e=Z!xj8 zERZRF&mEuO?0+D;pK=@iHpeG5FCl?X)A?WH%2m*=b0nvuqg%PTc+Dm$E$#MrhCqBP zD`OkU6o$zB9o0vM08%j_9n!oifs6TUrKgV=nzBz*lt29aqG|>4$|eJ8Fr^1P-0>h; ze?-iV@*PixHh8d}YNS8@n1z%NWEJ@K6K_!T3Ae zxJeK|kxanp6DchXjknV=Pb~7W#lK20>g=R6Dc(Z&OR>i@cgB9B8_qX&z{*7zGKK-H zBFxx~qur~^Ex0r8oa)^JYgv#d`#U>mczJyp#8HnjAAR%H$B~n%c~W24G}J zW@hGFwkF2xj9|pUyp1`5YHO0xm;Z8*@q3A>oBNylteT{JKU^yg(v9M*e9`G z%kr|c*iAdKse7=qvwxne!Tc5!1P#k7Dq{55zanh%JZj$@OosmBB#TTyAQ17_7jfwP zpWz`Vf?(3+RKOu@ptBv=IuSAu8Wn}jpqv&)A=;QDpV0Gpv5}zB^C(0%>dtv rDY}t-QEoZt|ooOXSliQ}osy?K6_tz19UZ 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

e}VoY-R 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≤Ks6_m;c3y(T?sZ5cCGnK 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 YQ>Db&(a4GH8KO$J)NkhBc<}W90JEQ4#sB~S literal 0 HcmV?d00001 diff --git a/packages/gigamon/img/Security_Posture_Dashboard.png b/packages/gigamon/img/Security_Posture_Dashboard.png new file mode 100644 index 0000000000000000000000000000000000000000..096858cd739611d4e4e2d73684f9d6b05aa5b358 GIT binary patch literal 185672 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

6?9fq5xs~O6wHH?6ls}uvf`5){TWCIa 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 z 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 CV-y>i%*i0!UHd8 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


c5)c%&eRp(wU2UZrd~j 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 literal 0 HcmV?d00001 diff --git a/packages/gigamon/img/gigamon-logo.svg b/packages/gigamon/img/gigamon-logo.svg new file mode 100644 index 00000000000..db203692085 --- /dev/null +++ b/packages/gigamon/img/gigamon-logo.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/gigamon/kibana/dashboard/gigamon-032aab7b-87b2-444c-8c86-956d092598fb.json b/packages/gigamon/kibana/dashboard/gigamon-032aab7b-87b2-444c-8c86-956d092598fb.json new file mode 100644 index 00000000000..d2cbef791d4 --- /dev/null +++ b/packages/gigamon/kibana/dashboard/gigamon-032aab7b-87b2-444c-8c86-956d092598fb.json @@ -0,0 +1,2690 @@ +{ + "attributes": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": { + "filter": [], + "query": { + "language": "kuery", + "query": "" + } + } + }, + "optionsJSON": { + "hidePanelTitles": false, + "syncColors": false, + "syncCursor": true, + "syncTooltips": false, + "useMargins": true + }, + "panelsJSON": [ + { + "embeddableConfig": { + "description": "", + "enhancements": {}, + "hidePanelTitles": true, + "savedVis": { + "data": { + "aggs": [], + "searchSource": { + "filter": [], + "query": { + "language": "kuery", + "query": "" + } + } + }, + "description": "", + "id": "", + "params": { + "fontSize": 12, + "markdown": "**AMI Starter Pack**\n\n- [App Insights](#/dashboard/gigamon-855a64dc-1a72-403f-932b-a5b848378f7e)\n- Trouble shooting\n - [Troubleshooting Insights for Network traffic](#/dashboard/gigamon-e733c64e-6ea9-4dd6-a8ca-3914274598f3)\n - [Top Traffic Sources and Destinations](#/dashboard/gigamon-d6cecabb-f026-4823-914d-b4d61fd61787)\n- [Security Posture](#/dashboard/gigamon-4ae2cd9a-3eef-42c6-a02c-731ce74d94ac)\n- Identifier Analysis\n - [Homoglyph Detection](#/dashboard/gigamon-64ca15b3-8327-4940-8b35-0e75ab3a73c6)\n - [URL Analysis](#/dashboard/gigamon-8f772203-64e0-4d1b-bb0e-14fa57b4b754)\n- M21-31\n - [Web Traffic Details](#/dashboard/gigamon-d866be49-47b2-4306-a2be-d5cb6b6ab9c8)\n - [DNS Information](#/dashboard/gigamon-e192a946-8287-450a-a8f0-e23de9f95dae)\n- Rogue Activity\n - [Unsanctioned Peer to Peer Apps](#/dashboard/gigamon-3523b534-7525-44a7-808f-6a9f3235a67d)\n- [**PCI Compliance**](#/dashboard/gigamon-032aab7b-87b2-444c-8c86-956d092598fb)\n- Suspicious Activities\n - [Suspicious Connections](#/dashboard/gigamon-62291e9e-8b75-4f23-9121-79959da99b3b)\n - [Unmanaged Endpoints](#/dashboard/gigamon-46931a21-a33e-43af-aadf-da8d6446b9cc)", + "openLinksInNewTab": false + }, + "title": "", + "type": "markdown", + "uiState": {} + } + }, + "gridData": { + "h": 21, + "i": "d3817a9d-43fa-4d42-ab96-6419f34baa2e", + "w": 24, + "x": 0, + "y": 0 + }, + "panelIndex": "d3817a9d-43fa-4d42-ab96-6419f34baa2e", + "title": "", + "type": "visualization" + }, + { + "embeddableConfig": { + "attributes": { + "references": [ + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "indexpattern-datasource-layer-7c68c54d-62b4-49f1-8a13-f778321dd524", + "type": "index-pattern" + } + ], + "state": { + "adHocDataViews": {}, + "datasourceStates": { + "formBased": { + "layers": { + "7c68c54d-62b4-49f1-8a13-f778321dd524": { + "columnOrder": [ + "3afa4586-bf0f-4920-a49e-1a2da9e2ec78", + "7bada444-3bfe-4b3c-a5cf-f58cdcc0d5bb" + ], + "columns": { + "3afa4586-bf0f-4920-a49e-1a2da9e2ec78": { + "dataType": "string", + "isBucketed": true, + "label": "Top 15 values of gigamon.ami.ssl_protocol_version_value", + "operationType": "terms", + "params": { + "exclude": [], + "excludeIsRegex": false, + "include": [], + "includeIsRegex": false, + "missingBucket": false, + "orderBy": { + "columnId": "7bada444-3bfe-4b3c-a5cf-f58cdcc0d5bb", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": false, + "parentFormat": { + "id": "terms" + }, + "size": 15 + }, + "scale": "ordinal", + "sourceField": "gigamon.ami.ssl_protocol_version_value" + }, + "7bada444-3bfe-4b3c-a5cf-f58cdcc0d5bb": { + "dataType": "number", + "isBucketed": false, + "label": "Count of records", + "operationType": "count", + "params": { + "emptyAsNull": true + }, + "scale": "ratio", + "sourceField": "___records___" + } + }, + "incompleteColumns": {}, + "sampling": 1 + } + } + }, + "indexpattern": { + "layers": {} + }, + "textBased": { + "layers": {} + } + }, + "filters": [], + "internalReferences": [], + "query": { + "language": "kuery", + "query": "data_stream.dataset : \"gigamon.ami\" " + }, + "visualization": { + "layers": [ + { + "allowMultipleMetrics": false, + "categoryDisplay": "default", + "colorMapping": { + "assignments": [], + "colorMode": { + "sort": "desc", + "steps": [ + { + "colorIndex": 8, + "paletteId": "eui_amsterdam_color_blind", + "touched": false, + "type": "categorical" + }, + { + "colorCode": "#e0cdd3", + "touched": true, + "type": "colorCode" + } + ], + "type": "gradient" + }, + "paletteId": "eui_amsterdam_color_blind", + "specialAssignments": [ + { + "color": { + "type": "loop" + }, + "rule": { + "type": "other" + }, + "touched": false + } + ] + }, + "layerId": "7c68c54d-62b4-49f1-8a13-f778321dd524", + "layerType": "data", + "legendDisplay": "default", + "metrics": [ + "7bada444-3bfe-4b3c-a5cf-f58cdcc0d5bb" + ], + "nestedLegend": false, + "numberDisplay": "percent", + "primaryGroups": [ + "3afa4586-bf0f-4920-a49e-1a2da9e2ec78" + ], + "secondaryGroups": [] + } + ], + "shape": "mosaic" + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsPie" + }, + "enhancements": {} + }, + "gridData": { + "h": 15, + "i": "9398dc6a-34e1-4932-a812-4aa0eb66c174", + "w": 24, + "x": 24, + "y": 0 + }, + "panelIndex": "9398dc6a-34e1-4932-a812-4aa0eb66c174", + "title": "TLS Versions[Gigamon AMI]", + "type": "lens" + }, + { + "embeddableConfig": { + "attributes": { + "references": [ + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "indexpattern-datasource-layer-5c045cd1-896d-4616-ab58-e438179a1271", + "type": "index-pattern" + } + ], + "state": { + "adHocDataViews": {}, + "datasourceStates": { + "formBased": { + "layers": { + "5c045cd1-896d-4616-ab58-e438179a1271": { + "columnOrder": [ + "c2881bde-6dda-4c4f-a651-01a6275a118b", + "532096e0-c3f5-45dd-8913-681d0c7e4b56" + ], + "columns": { + "532096e0-c3f5-45dd-8913-681d0c7e4b56": { + "dataType": "number", + "isBucketed": false, + "label": "Count of records", + "operationType": "count", + "params": { + "emptyAsNull": true + }, + "scale": "ratio", + "sourceField": "___records___" + }, + "c2881bde-6dda-4c4f-a651-01a6275a118b": { + "dataType": "string", + "isBucketed": true, + "label": "Top 15 values of gigamon.ami.ssl_cipher_suite_id_value", + "operationType": "terms", + "params": { + "exclude": [], + "excludeIsRegex": false, + "include": [], + "includeIsRegex": false, + "missingBucket": false, + "orderBy": { + "columnId": "532096e0-c3f5-45dd-8913-681d0c7e4b56", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": false, + "parentFormat": { + "id": "terms" + }, + "size": 15 + }, + "scale": "ordinal", + "sourceField": "gigamon.ami.ssl_cipher_suite_id_value" + } + }, + "incompleteColumns": {}, + "sampling": 1 + } + } + }, + "indexpattern": { + "layers": {} + }, + "textBased": { + "layers": {} + } + }, + "filters": [], + "internalReferences": [], + "query": { + "language": "kuery", + "query": "data_stream.dataset : \"gigamon.ami\" " + }, + "visualization": { + "layers": [ + { + "allowMultipleMetrics": false, + "categoryDisplay": "default", + "colorMapping": { + "assignments": [], + "colorMode": { + "sort": "desc", + "steps": [ + { + "colorCode": "#dbcdb4", + "touched": false, + "type": "colorCode" + }, + { + "colorIndex": 2, + "paletteId": "eui_amsterdam_color_blind", + "touched": true, + "type": "categorical" + }, + { + "colorCode": "#453b08", + "touched": false, + "type": "colorCode" + } + ], + "type": "gradient" + }, + "paletteId": "eui_amsterdam_color_blind", + "specialAssignments": [ + { + "color": { + "type": "loop" + }, + "rule": { + "type": "other" + }, + "touched": false + } + ] + }, + "layerId": "5c045cd1-896d-4616-ab58-e438179a1271", + "layerType": "data", + "legendDisplay": "default", + "metrics": [ + "532096e0-c3f5-45dd-8913-681d0c7e4b56" + ], + "nestedLegend": false, + "numberDisplay": "percent", + "primaryGroups": [ + "c2881bde-6dda-4c4f-a651-01a6275a118b" + ], + "secondaryGroups": [] + } + ], + "shape": "donut" + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsPie" + }, + "enhancements": {} + }, + "gridData": { + "h": 15, + "i": "dff9d72d-84a2-485f-895f-d41ceb25b537", + "w": 24, + "x": 24, + "y": 15 + }, + "panelIndex": "dff9d72d-84a2-485f-895f-d41ceb25b537", + "title": "Weak Ciphers[Gigamon CIM]", + "type": "lens" + }, + { + "embeddableConfig": { + "attributes": { + "references": [ + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "indexpattern-datasource-layer-b41c5eb7-b859-49fd-98e0-3f44e409b57e", + "type": "index-pattern" + } + ], + "state": { + "adHocDataViews": {}, + "datasourceStates": { + "formBased": { + "layers": { + "b41c5eb7-b859-49fd-98e0-3f44e409b57e": { + "columnOrder": [ + "6a26cd13-29eb-44cb-bdfa-3f76a1b033c6", + "6cf31472-45a3-4507-b97b-3cbec1f54206" + ], + "columns": { + "6a26cd13-29eb-44cb-bdfa-3f76a1b033c6": { + "dataType": "string", + "isBucketed": true, + "label": "Top 5 values of gigamon.ami.app_name", + "operationType": "terms", + "params": { + "exclude": [], + "excludeIsRegex": false, + "include": [ + "http", + "http2", + "https" + ], + "includeIsRegex": false, + "missingBucket": false, + "orderBy": { + "columnId": "6cf31472-45a3-4507-b97b-3cbec1f54206", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": false, + "parentFormat": { + "id": "terms" + }, + "size": 5 + }, + "scale": "ordinal", + "sourceField": "gigamon.ami.app_name" + }, + "6cf31472-45a3-4507-b97b-3cbec1f54206": { + "dataType": "number", + "isBucketed": false, + "label": "Count of records", + "operationType": "count", + "params": { + "emptyAsNull": true + }, + "scale": "ratio", + "sourceField": "___records___" + } + }, + "incompleteColumns": {}, + "sampling": 1 + } + } + }, + "indexpattern": { + "layers": {} + }, + "textBased": { + "layers": {} + } + }, + "filters": [], + "internalReferences": [], + "query": { + "language": "kuery", + "query": "data_stream.dataset : \"gigamon.ami\" " + }, + "visualization": { + "axisTitlesVisibilitySettings": { + "x": true, + "yLeft": true, + "yRight": true + }, + "fittingFunction": "None", + "gridlinesVisibilitySettings": { + "x": true, + "yLeft": true, + "yRight": true + }, + "labelsOrientation": { + "x": 0, + "yLeft": 0, + "yRight": 0 + }, + "layers": [ + { + "accessors": [ + "6cf31472-45a3-4507-b97b-3cbec1f54206" + ], + "colorMapping": { + "assignments": [], + "colorMode": { + "type": "categorical" + }, + "paletteId": "eui_amsterdam_color_blind", + "specialAssignments": [ + { + "color": { + "type": "loop" + }, + "rule": { + "type": "other" + }, + "touched": false + } + ] + }, + "layerId": "b41c5eb7-b859-49fd-98e0-3f44e409b57e", + "layerType": "data", + "position": "top", + "seriesType": "bar_stacked", + "showGridlines": false, + "xAccessor": "6a26cd13-29eb-44cb-bdfa-3f76a1b033c6", + "yConfig": [ + { + "color": "#5e2141", + "forAccessor": "6cf31472-45a3-4507-b97b-3cbec1f54206" + } + ] + } + ], + "legend": { + "isVisible": true, + "position": "right" + }, + "preferredSeriesType": "bar_stacked", + "tickLabelsVisibilitySettings": { + "x": true, + "yLeft": true, + "yRight": true + }, + "valueLabels": "hide" + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsXY" + }, + "enhancements": {} + }, + "gridData": { + "h": 15, + "i": "09fe9c07-9113-427b-9c1d-c50defd14c0a", + "w": 24, + "x": 0, + "y": 21 + }, + "panelIndex": "09fe9c07-9113-427b-9c1d-c50defd14c0a", + "title": "Web Traffic[Gigamon AMI]", + "type": "lens" + }, + { + "embeddableConfig": { + "attributes": { + "references": [ + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "indexpattern-datasource-layer-f00fe1d2-0b00-4926-ba8b-50f5098b4aec", + "type": "index-pattern" + } + ], + "state": { + "adHocDataViews": {}, + "datasourceStates": { + "formBased": { + "layers": { + "f00fe1d2-0b00-4926-ba8b-50f5098b4aec": { + "columnOrder": [ + "23d833e9-3564-4a0b-933e-9a1c4ef14e4c", + "02376fc5-57ae-4829-ad13-300c578fbfbe" + ], + "columns": { + "02376fc5-57ae-4829-ad13-300c578fbfbe": { + "dataType": "number", + "isBucketed": false, + "label": "Count of records", + "operationType": "count", + "params": { + "emptyAsNull": true + }, + "scale": "ratio", + "sourceField": "___records___" + }, + "23d833e9-3564-4a0b-933e-9a1c4ef14e4c": { + "dataType": "string", + "isBucketed": true, + "label": "Top 5 values of gigamon.ami.ssl_ext_sig_algorithm_hash_value", + "operationType": "terms", + "params": { + "exclude": [], + "excludeIsRegex": false, + "include": [], + "includeIsRegex": false, + "missingBucket": false, + "orderBy": { + "columnId": "02376fc5-57ae-4829-ad13-300c578fbfbe", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": true, + "parentFormat": { + "id": "terms" + }, + "size": 5 + }, + "scale": "ordinal", + "sourceField": "gigamon.ami.ssl_ext_sig_algorithm_hash_value" + } + }, + "incompleteColumns": {}, + "sampling": 1 + } + } + }, + "indexpattern": { + "layers": {} + }, + "textBased": { + "layers": {} + } + }, + "filters": [], + "internalReferences": [], + "query": { + "language": "kuery", + "query": "data_stream.dataset : \"gigamon.ami\" " + }, + "visualization": { + "axisTitlesVisibilitySettings": { + "x": true, + "yLeft": true, + "yRight": true + }, + "fittingFunction": "None", + "gridlinesVisibilitySettings": { + "x": true, + "yLeft": true, + "yRight": true + }, + "labelsOrientation": { + "x": 0, + "yLeft": 0, + "yRight": 0 + }, + "layers": [ + { + "accessors": [ + "02376fc5-57ae-4829-ad13-300c578fbfbe" + ], + "colorMapping": { + "assignments": [], + "colorMode": { + "type": "categorical" + }, + "paletteId": "eui_amsterdam_color_blind", + "specialAssignments": [ + { + "color": { + "type": "loop" + }, + "rule": { + "type": "other" + }, + "touched": false + } + ] + }, + "layerId": "f00fe1d2-0b00-4926-ba8b-50f5098b4aec", + "layerType": "data", + "position": "top", + "seriesType": "bar_stacked", + "showGridlines": false, + "xAccessor": "23d833e9-3564-4a0b-933e-9a1c4ef14e4c", + "yConfig": [ + { + "color": "#6092c0", + "forAccessor": "02376fc5-57ae-4829-ad13-300c578fbfbe" + } + ] + } + ], + "legend": { + "isVisible": true, + "position": "right" + }, + "preferredSeriesType": "bar_stacked", + "tickLabelsVisibilitySettings": { + "x": true, + "yLeft": true, + "yRight": true + }, + "valueLabels": "hide" + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsXY" + }, + "description": "Lookout for MD5 and SHA1", + "enhancements": {} + }, + "gridData": { + "h": 15, + "i": "4b26f1c1-a5e3-4373-801a-9606d43da277", + "w": 24, + "x": 24, + "y": 30 + }, + "panelIndex": "4b26f1c1-a5e3-4373-801a-9606d43da277", + "title": "Cryptographic Hash[Gigamon AMI]", + "type": "lens" + }, + { + "embeddableConfig": { + "attributes": { + "references": [ + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "indexpattern-datasource-layer-d38e1fb2-0496-472a-82f2-7c88d7f947d4", + "type": "index-pattern" + } + ], + "state": { + "adHocDataViews": {}, + "datasourceStates": { + "formBased": { + "layers": { + "d38e1fb2-0496-472a-82f2-7c88d7f947d4": { + "columnOrder": [ + "45c2b897-c01e-4a17-a21a-cb7505e403d6", + "bbb57ed4-9a2a-4daf-9938-ca701d68fe2a" + ], + "columns": { + "45c2b897-c01e-4a17-a21a-cb7505e403d6": { + "dataType": "string", + "isBucketed": true, + "label": "Top 15 values of gigamon.ami.ssl_ext_sig_algorithm_scheme_value", + "operationType": "terms", + "params": { + "exclude": [], + "excludeIsRegex": false, + "include": [], + "includeIsRegex": false, + "missingBucket": false, + "orderBy": { + "columnId": "bbb57ed4-9a2a-4daf-9938-ca701d68fe2a", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": false, + "parentFormat": { + "id": "terms" + }, + "size": 15 + }, + "scale": "ordinal", + "sourceField": "gigamon.ami.ssl_ext_sig_algorithm_scheme_value" + }, + "bbb57ed4-9a2a-4daf-9938-ca701d68fe2a": { + "dataType": "number", + "isBucketed": false, + "label": "Count of records", + "operationType": "count", + "params": { + "emptyAsNull": true + }, + "scale": "ratio", + "sourceField": "___records___" + } + }, + "incompleteColumns": {}, + "sampling": 1 + } + } + }, + "indexpattern": { + "layers": {} + }, + "textBased": { + "layers": {} + } + }, + "filters": [], + "internalReferences": [], + "query": { + "language": "kuery", + "query": "data_stream.dataset : \"gigamon.ami\" " + }, + "visualization": { + "layers": [ + { + "categoryDisplay": "default", + "colorMapping": { + "assignments": [], + "colorMode": { + "sort": "desc", + "steps": [ + { + "colorIndex": 8, + "paletteId": "eui_amsterdam_color_blind", + "touched": false, + "type": "categorical" + }, + { + "colorIndex": 1, + "paletteId": "neutral", + "touched": true, + "type": "categorical" + }, + { + "colorCode": "#2c8ee7", + "touched": false, + "type": "colorCode" + } + ], + "type": "gradient" + }, + "paletteId": "eui_amsterdam_color_blind", + "specialAssignments": [ + { + "color": { + "type": "loop" + }, + "rule": { + "type": "other" + }, + "touched": false + } + ] + }, + "layerId": "d38e1fb2-0496-472a-82f2-7c88d7f947d4", + "layerType": "data", + "legendDisplay": "default", + "metrics": [ + "bbb57ed4-9a2a-4daf-9938-ca701d68fe2a" + ], + "nestedLegend": false, + "numberDisplay": "percent", + "primaryGroups": [ + "45c2b897-c01e-4a17-a21a-cb7505e403d6" + ] + } + ], + "shape": "donut" + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsPie" + }, + "enhancements": {} + }, + "gridData": { + "h": 15, + "i": "e35868f4-1c6e-4eff-a933-08884a7fc300", + "w": 24, + "x": 0, + "y": 36 + }, + "panelIndex": "e35868f4-1c6e-4eff-a933-08884a7fc300", + "title": " Key Exchange Protocols[Gigamon AMI]", + "type": "lens" + }, + { + "embeddableConfig": { + "attributes": { + "references": [ + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "indexpattern-datasource-layer-a267cd60-3767-4e26-8b44-4761dd601e16", + "type": "index-pattern" + }, + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "c001313b-a4ee-4ec8-91bb-e412b3bbe5d2", + "type": "index-pattern" + } + ], + "state": { + "adHocDataViews": {}, + "datasourceStates": { + "formBased": { + "layers": { + "a267cd60-3767-4e26-8b44-4761dd601e16": { + "columnOrder": [ + "1ae3f675-9720-45ac-9f42-43be896a768f" + ], + "columns": { + "1ae3f675-9720-45ac-9f42-43be896a768f": { + "customLabel": true, + "dataType": "number", + "isBucketed": false, + "label": "Total Certificates Expired", + "operationType": "count", + "params": { + "emptyAsNull": true + }, + "scale": "ratio", + "sourceField": "___records___" + } + }, + "ignoreGlobalFilters": false, + "incompleteColumns": {}, + "sampling": 1 + } + } + }, + "indexpattern": { + "layers": {} + }, + "textBased": { + "layers": {} + } + }, + "filters": [ + { + "$state": { + "store": "appState" + }, + "meta": { + "alias": null, + "disabled": false, + "field": "gigamon.ami.ssl_validity_not_after", + "index": "c001313b-a4ee-4ec8-91bb-e412b3bbe5d2", + "key": "gigamon.ami.ssl_validity_not_after", + "negate": false, + "params": { + "lt": "2024-08-01T00:00:00.000+05:30" + }, + "type": "range", + "value": { + "lt": "2024-08-01T00:00:00.000+05:30" + } + }, + "query": { + "range": { + "gigamon.ami.ssl_validity_not_after": { + "lt": "2024-08-01T00:00:00.000+05:30" + } + } + } + } + ], + "internalReferences": [], + "query": { + "language": "kuery", + "query": "data_stream.dataset : \"gigamon.ami\" " + }, + "visualization": { + "accessor": "1ae3f675-9720-45ac-9f42-43be896a768f", + "colorMode": "Background", + "layerId": "a267cd60-3767-4e26-8b44-4761dd601e16", + "layerType": "data", + "palette": { + "name": "status", + "params": { + "continuity": "all", + "maxSteps": 5, + "name": "status", + "progression": "fixed", + "rangeMax": 70.5, + "rangeMin": 0, + "rangeType": "number", + "reverse": false, + "steps": 3, + "stops": [ + { + "color": "#209280", + "stop": 0 + }, + { + "color": "#d6bf57", + "stop": 31.33 + }, + { + "color": "#cc5642", + "stop": 62.66 + } + ] + }, + "type": "palette" + } + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsLegacyMetric" + }, + "enhancements": {}, + "hidePanelTitles": true + }, + "gridData": { + "h": 15, + "i": "039714a2-0b5f-4ce1-aea0-35887146d978", + "w": 24, + "x": 24, + "y": 45 + }, + "panelIndex": "039714a2-0b5f-4ce1-aea0-35887146d978", + "title": "", + "type": "lens" + }, + { + "embeddableConfig": { + "attributes": { + "references": [ + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "indexpattern-datasource-layer-f8c599bc-4580-4a39-a5fa-1cc2a68260d7", + "type": "index-pattern" + } + ], + "state": { + "adHocDataViews": {}, + "datasourceStates": { + "formBased": { + "layers": { + "f8c599bc-4580-4a39-a5fa-1cc2a68260d7": { + "columnOrder": [ + "5b513fb1-7f19-4f04-b85f-e5b7f9ccc7ed", + "4f062c03-a3df-4b2c-bbfb-184f1899ae46", + "2008e32d-421d-41ce-8daa-747b57a1fe35", + "27dcd775-b0c5-4805-9670-6780d019d83f", + "ff65ac60-8d9b-41fe-b63e-1260aa77b113", + "c9c8b223-bffd-4990-bb41-9aa56a0ebbb7" + ], + "columns": { + "2008e32d-421d-41ce-8daa-747b57a1fe35": { + "customLabel": true, + "dataType": "ip", + "isBucketed": true, + "label": "Server ip", + "operationType": "terms", + "params": { + "exclude": [], + "excludeIsRegex": false, + "include": [], + "includeIsRegex": false, + "missingBucket": false, + "orderBy": { + "columnId": "ff65ac60-8d9b-41fe-b63e-1260aa77b113", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": false, + "parentFormat": { + "id": "terms" + }, + "size": 15 + }, + "scale": "ordinal", + "sourceField": "gigamon.ami.src_ip" + }, + "27dcd775-b0c5-4805-9670-6780d019d83f": { + "customLabel": true, + "dataType": "string", + "isBucketed": true, + "label": "Application", + "operationType": "terms", + "params": { + "exclude": [], + "excludeIsRegex": false, + "include": [], + "includeIsRegex": false, + "missingBucket": false, + "orderBy": { + "columnId": "ff65ac60-8d9b-41fe-b63e-1260aa77b113", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": false, + "parentFormat": { + "id": "terms" + }, + "size": 15 + }, + "scale": "ordinal", + "sourceField": "gigamon.ami.app_name" + }, + "4f062c03-a3df-4b2c-bbfb-184f1899ae46": { + "customLabel": true, + "dataType": "string", + "isBucketed": true, + "label": "Issuer", + "operationType": "terms", + "params": { + "exclude": [], + "excludeIsRegex": false, + "include": [], + "includeIsRegex": false, + "missingBucket": false, + "orderBy": { + "columnId": "ff65ac60-8d9b-41fe-b63e-1260aa77b113", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": false, + "parentFormat": { + "id": "terms" + }, + "size": 15 + }, + "scale": "ordinal", + "sourceField": "gigamon.ami.ssl_issuer" + }, + "5b513fb1-7f19-4f04-b85f-e5b7f9ccc7ed": { + "customLabel": true, + "dataType": "string", + "isBucketed": true, + "label": "Common Name", + "operationType": "terms", + "params": { + "exclude": [], + "excludeIsRegex": false, + "include": [], + "includeIsRegex": false, + "missingBucket": false, + "orderBy": { + "columnId": "ff65ac60-8d9b-41fe-b63e-1260aa77b113", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": false, + "parentFormat": { + "id": "terms" + }, + "size": 15 + }, + "scale": "ordinal", + "sourceField": "gigamon.ami.ssl_common_name" + }, + "c9c8b223-bffd-4990-bb41-9aa56a0ebbb7": { + "customLabel": true, + "dataType": "date", + "isBucketed": false, + "label": "Expiration Time", + "operationType": "max", + "params": { + "emptyAsNull": true + }, + "scale": "ratio", + "sourceField": "gigamon.ami.ssl_validity_not_after" + }, + "ff65ac60-8d9b-41fe-b63e-1260aa77b113": { + "dataType": "number", + "isBucketed": false, + "label": "Count of records", + "operationType": "count", + "params": { + "emptyAsNull": true + }, + "scale": "ratio", + "sourceField": "___records___" + } + }, + "incompleteColumns": {}, + "sampling": 1 + } + } + }, + "indexpattern": { + "layers": {} + }, + "textBased": { + "layers": {} + } + }, + "filters": [], + "internalReferences": [], + "query": { + "language": "kuery", + "query": "data_stream.dataset : \"gigamon.ami\" " + }, + "visualization": { + "columns": [ + { + "columnId": "ff65ac60-8d9b-41fe-b63e-1260aa77b113", + "hidden": true, + "isTransposed": false + }, + { + "columnId": "c9c8b223-bffd-4990-bb41-9aa56a0ebbb7", + "isMetric": true, + "isTransposed": false + }, + { + "columnId": "5b513fb1-7f19-4f04-b85f-e5b7f9ccc7ed", + "isMetric": false, + "isTransposed": false + }, + { + "columnId": "4f062c03-a3df-4b2c-bbfb-184f1899ae46", + "isMetric": false, + "isTransposed": false + }, + { + "columnId": "2008e32d-421d-41ce-8daa-747b57a1fe35", + "isMetric": false, + "isTransposed": false + }, + { + "columnId": "27dcd775-b0c5-4805-9670-6780d019d83f", + "isMetric": false, + "isTransposed": false + } + ], + "layerId": "f8c599bc-4580-4a39-a5fa-1cc2a68260d7", + "layerType": "data" + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsDatatable" + }, + "enhancements": {} + }, + "gridData": { + "h": 15, + "i": "846e11e1-efc8-4311-88a7-cadb7aca1ad4", + "w": 24, + "x": 0, + "y": 51 + }, + "panelIndex": "846e11e1-efc8-4311-88a7-cadb7aca1ad4", + "title": "TLS Certificate Validity Details[Gigamon AMI]", + "type": "lens" + }, + { + "embeddableConfig": { + "attributes": { + "references": [ + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "indexpattern-datasource-layer-e6f6eaaa-bde7-4b77-a5a3-2cbdc2449a35", + "type": "index-pattern" + } + ], + "state": { + "adHocDataViews": {}, + "datasourceStates": { + "formBased": { + "layers": { + "e6f6eaaa-bde7-4b77-a5a3-2cbdc2449a35": { + "columnOrder": [ + "69512011-8f1d-4522-a596-baca152b5e8a", + "8595817d-f7a0-4f87-b056-87af947e684b" + ], + "columns": { + "69512011-8f1d-4522-a596-baca152b5e8a": { + "dataType": "string", + "isBucketed": true, + "label": "Top 15 values of gigamon.ami.app_name", + "operationType": "terms", + "params": { + "exclude": [], + "excludeIsRegex": false, + "include": [], + "includeIsRegex": true, + "missingBucket": false, + "orderBy": { + "columnId": "8595817d-f7a0-4f87-b056-87af947e684b", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": false, + "parentFormat": { + "id": "terms" + }, + "size": 15 + }, + "scale": "ordinal", + "sourceField": "gigamon.ami.app_name" + }, + "8595817d-f7a0-4f87-b056-87af947e684b": { + "dataType": "number", + "isBucketed": false, + "label": "Count of gigamon.ami.app_name", + "operationType": "count", + "params": { + "emptyAsNull": true + }, + "scale": "ratio", + "sourceField": "gigamon.ami.app_name" + } + }, + "incompleteColumns": {}, + "sampling": 1 + } + } + }, + "indexpattern": { + "layers": {} + }, + "textBased": { + "layers": {} + } + }, + "filters": [], + "internalReferences": [], + "query": { + "language": "kuery", + "query": "data_stream.dataset : \"gigamon.ami\" " + }, + "visualization": { + "axisTitlesVisibilitySettings": { + "x": true, + "yLeft": true, + "yRight": true + }, + "fittingFunction": "None", + "gridlinesVisibilitySettings": { + "x": true, + "yLeft": true, + "yRight": true + }, + "labelsOrientation": { + "x": 0, + "yLeft": 0, + "yRight": 0 + }, + "layers": [ + { + "accessors": [ + "8595817d-f7a0-4f87-b056-87af947e684b" + ], + "colorMapping": { + "assignments": [], + "colorMode": { + "type": "categorical" + }, + "paletteId": "eui_amsterdam_color_blind", + "specialAssignments": [ + { + "color": { + "type": "loop" + }, + "rule": { + "type": "other" + }, + "touched": false + } + ] + }, + "layerId": "e6f6eaaa-bde7-4b77-a5a3-2cbdc2449a35", + "layerType": "data", + "seriesType": "bar_horizontal", + "xAccessor": "69512011-8f1d-4522-a596-baca152b5e8a", + "yConfig": [ + { + "color": "#8529e8", + "forAccessor": "8595817d-f7a0-4f87-b056-87af947e684b" + } + ] + } + ], + "legend": { + "isVisible": true, + "position": "right" + }, + "preferredSeriesType": "bar_horizontal", + "tickLabelsVisibilitySettings": { + "x": true, + "yLeft": true, + "yRight": true + }, + "valueLabels": "hide" + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsXY" + }, + "enhancements": {} + }, + "gridData": { + "h": 15, + "i": "a7f83583-f83e-41fb-bce5-fd13fc774a8f", + "w": 24, + "x": 24, + "y": 60 + }, + "panelIndex": "a7f83583-f83e-41fb-bce5-fd13fc774a8f", + "title": "Application Overview[Gigamon AMI]", + "type": "lens" + }, + { + "embeddableConfig": { + "attributes": { + "references": [ + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "indexpattern-datasource-layer-fd16c376-c72d-484f-b22d-b1e48d9806c1", + "type": "index-pattern" + } + ], + "state": { + "adHocDataViews": {}, + "datasourceStates": { + "formBased": { + "currentIndexPatternId": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "layers": { + "fd16c376-c72d-484f-b22d-b1e48d9806c1": { + "columnOrder": [ + "476e243b-d175-4f93-80da-279b1a84e88a", + "1d98ba0b-1344-43f0-95a6-6fd92945b4c6", + "b7ef20e6-a37c-4a14-850e-b5dc9a68550f", + "3f68b672-8f26-4237-b7bd-8084a4cdf3fc", + "be934f0b-63f0-4f45-bc1d-b5dcf0ecd86e" + ], + "columns": { + "1d98ba0b-1344-43f0-95a6-6fd92945b4c6": { + "customLabel": true, + "dataType": "ip", + "isBucketed": true, + "label": "Source ip", + "operationType": "terms", + "params": { + "exclude": [], + "excludeIsRegex": false, + "include": [], + "includeIsRegex": false, + "missingBucket": false, + "orderBy": { + "columnId": "be934f0b-63f0-4f45-bc1d-b5dcf0ecd86e", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": false, + "parentFormat": { + "id": "terms" + }, + "size": 15 + }, + "scale": "ordinal", + "sourceField": "gigamon.ami.src_ip" + }, + "3f68b672-8f26-4237-b7bd-8084a4cdf3fc": { + "customLabel": true, + "dataType": "string", + "isBucketed": true, + "label": "Applications", + "operationType": "terms", + "params": { + "exclude": [], + "excludeIsRegex": false, + "include": [], + "includeIsRegex": false, + "missingBucket": false, + "orderBy": { + "columnId": "be934f0b-63f0-4f45-bc1d-b5dcf0ecd86e", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": false, + "parentFormat": { + "id": "terms" + }, + "size": 15 + }, + "scale": "ordinal", + "sourceField": "gigamon.ami.app_name" + }, + "476e243b-d175-4f93-80da-279b1a84e88a": { + "customLabel": true, + "dataType": "string", + "isBucketed": true, + "label": "Deprecated SSL versions", + "operationType": "terms", + "params": { + "exclude": [], + "excludeIsRegex": false, + "include": [ + "SSL_2_0", + "SSL_3_0" + ], + "includeIsRegex": false, + "missingBucket": false, + "orderBy": { + "columnId": "be934f0b-63f0-4f45-bc1d-b5dcf0ecd86e", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": false, + "parentFormat": { + "id": "terms" + }, + "size": 15 + }, + "scale": "ordinal", + "sourceField": "gigamon.ami.ssl_protocol_version_value" + }, + "b7ef20e6-a37c-4a14-850e-b5dc9a68550f": { + "customLabel": true, + "dataType": "ip", + "isBucketed": true, + "label": "Destinaon ip", + "operationType": "terms", + "params": { + "exclude": [], + "excludeIsRegex": false, + "include": [], + "includeIsRegex": false, + "missingBucket": false, + "orderBy": { + "columnId": "be934f0b-63f0-4f45-bc1d-b5dcf0ecd86e", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": false, + "parentFormat": { + "id": "terms" + }, + "size": 15 + }, + "scale": "ordinal", + "sourceField": "gigamon.ami.dst_ip" + }, + "be934f0b-63f0-4f45-bc1d-b5dcf0ecd86e": { + "dataType": "number", + "isBucketed": false, + "label": "Count of records", + "operationType": "count", + "params": { + "emptyAsNull": true + }, + "scale": "ratio", + "sourceField": "___records___" + } + }, + "incompleteColumns": {}, + "indexPatternId": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "sampling": 1 + } + } + }, + "indexpattern": { + "layers": {} + }, + "textBased": { + "layers": {} + } + }, + "filters": [], + "internalReferences": [], + "query": { + "language": "kuery", + "query": "data_stream.dataset : \"gigamon.ami\" " + }, + "visualization": { + "columns": [ + { + "columnId": "476e243b-d175-4f93-80da-279b1a84e88a" + }, + { + "columnId": "be934f0b-63f0-4f45-bc1d-b5dcf0ecd86e" + }, + { + "columnId": "1d98ba0b-1344-43f0-95a6-6fd92945b4c6", + "isMetric": false, + "isTransposed": false + }, + { + "columnId": "b7ef20e6-a37c-4a14-850e-b5dc9a68550f", + "isMetric": false, + "isTransposed": false + }, + { + "columnId": "3f68b672-8f26-4237-b7bd-8084a4cdf3fc", + "isMetric": false, + "isTransposed": false + } + ], + "layerId": "fd16c376-c72d-484f-b22d-b1e48d9806c1", + "layerType": "data" + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsDatatable" + }, + "enhancements": {} + }, + "gridData": { + "h": 15, + "i": "ca21225a-3af7-4bc9-8602-433089592d5f", + "w": 24, + "x": 0, + "y": 66 + }, + "panelIndex": "ca21225a-3af7-4bc9-8602-433089592d5f", + "title": "Sessions using Old SSL Versions - Applications, Servers and Clients using deprecated and risky SSL versions[Gigamon AMI]", + "type": "lens" + }, + { + "embeddableConfig": { + "description": "", + "enhancements": {}, + "hidePanelTitles": true, + "savedVis": { + "data": { + "aggs": [], + "searchSource": { + "filter": [], + "query": { + "language": "kuery", + "query": "" + } + } + }, + "description": "", + "id": "", + "params": { + "fontSize": 12, + "markdown": "**Insecure Protocol/Service/Port**\n\nServices, protocols, or ports that transmit data or authentication credentials (for example, password/passphrase) in clear-text over the Internet", + "openLinksInNewTab": false + }, + "title": "", + "type": "markdown", + "uiState": {} + } + }, + "gridData": { + "h": 6, + "i": "4f971a25-e30d-4550-b820-55678e388ee0", + "w": 24, + "x": 24, + "y": 75 + }, + "panelIndex": "4f971a25-e30d-4550-b820-55678e388ee0", + "title": "", + "type": "visualization" + }, + { + "embeddableConfig": { + "attributes": { + "references": [ + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "indexpattern-datasource-layer-a82f90ee-acf4-4ff5-899f-a5e07ae82bf7", + "type": "index-pattern" + }, + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "d8152df4-c3d5-4e93-ac0d-9d13a3cd834e", + "type": "index-pattern" + }, + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "088f2453-2e6e-4f79-adf6-f3ee0d498e49", + "type": "index-pattern" + }, + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "14efcd52-a120-4efe-8502-da61db173619", + "type": "index-pattern" + } + ], + "state": { + "adHocDataViews": {}, + "datasourceStates": { + "formBased": { + "layers": { + "a82f90ee-acf4-4ff5-899f-a5e07ae82bf7": { + "columnOrder": [ + "ee8cfc7c-9f39-4dad-a28d-99d1dfdf350b" + ], + "columns": { + "ee8cfc7c-9f39-4dad-a28d-99d1dfdf350b": { + "customLabel": true, + "dataType": "number", + "isBucketed": false, + "label": "Non Standard ports", + "operationType": "count", + "params": { + "emptyAsNull": true + }, + "scale": "ratio", + "sourceField": "___records___" + } + }, + "incompleteColumns": {}, + "sampling": 1 + } + } + }, + "indexpattern": { + "layers": {} + }, + "textBased": { + "layers": {} + } + }, + "filters": [ + { + "$state": { + "store": "appState" + }, + "meta": { + "alias": null, + "disabled": false, + "field": "gigamon.ami.app_name", + "index": "d8152df4-c3d5-4e93-ac0d-9d13a3cd834e", + "key": "gigamon.ami.app_name", + "negate": false, + "params": { + "query": "ssh" + }, + "type": "phrase" + }, + "query": { + "match_phrase": { + "gigamon.ami.app_name": "ssh" + } + } + }, + { + "$state": { + "store": "appState" + }, + "meta": { + "alias": null, + "disabled": false, + "index": "088f2453-2e6e-4f79-adf6-f3ee0d498e49", + "key": "gigamon.ami.dst_port", + "negate": true, + "params": { + "query": 22 + }, + "type": "phrase" + }, + "query": { + "match_phrase": { + "gigamon.ami.dst_port": 22 + } + } + }, + { + "$state": { + "store": "appState" + }, + "meta": { + "alias": null, + "disabled": false, + "field": "gigamon.ami.src_port", + "index": "14efcd52-a120-4efe-8502-da61db173619", + "key": "gigamon.ami.src_port", + "negate": true, + "params": { + "query": "22" + }, + "type": "phrase" + }, + "query": { + "match_phrase": { + "gigamon.ami.src_port": "22" + } + } + } + ], + "internalReferences": [], + "query": { + "language": "kuery", + "query": "data_stream.dataset : \"gigamon.ami\" " + }, + "visualization": { + "accessor": "ee8cfc7c-9f39-4dad-a28d-99d1dfdf350b", + "colorMode": "Background", + "layerId": "a82f90ee-acf4-4ff5-899f-a5e07ae82bf7", + "layerType": "data", + "palette": { + "name": "temperature", + "params": { + "continuity": "above", + "maxSteps": 5, + "name": "temperature", + "progression": "fixed", + "rangeMax": null, + "rangeMin": 0, + "rangeType": "number", + "reverse": false, + "steps": 3, + "stops": [ + { + "color": "#6092c0", + "stop": 0 + }, + { + "color": "#ebeff5", + "stop": 0 + }, + { + "color": "#e7664c", + "stop": 0 + } + ] + }, + "type": "palette" + } + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsLegacyMetric" + }, + "enhancements": {} + }, + "gridData": { + "h": 15, + "i": "2f77e26f-85cf-47aa-a467-4886a34a6845", + "w": 24, + "x": 0, + "y": 81 + }, + "panelIndex": "2f77e26f-85cf-47aa-a467-4886a34a6845", + "title": "SSH Sessions[Gigamon AMI]", + "type": "lens" + }, + { + "embeddableConfig": { + "attributes": { + "references": [ + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "indexpattern-datasource-layer-707db7dc-7bda-4553-b9a6-cbeba1925faf", + "type": "index-pattern" + } + ], + "state": { + "adHocDataViews": {}, + "datasourceStates": { + "formBased": { + "layers": { + "707db7dc-7bda-4553-b9a6-cbeba1925faf": { + "columnOrder": [ + "26f37cb3-6272-468b-b0bf-311911f4bad0", + "cdcb22ee-4be6-4a4c-a7e1-ef3f5be3892a" + ], + "columns": { + "26f37cb3-6272-468b-b0bf-311911f4bad0": { + "dataType": "string", + "isBucketed": true, + "label": "Top 5 values of gigamon.ami.app_name", + "operationType": "terms", + "params": { + "exclude": [], + "excludeIsRegex": false, + "include": [ + "ftp", + "telnet", + "pop3", + "imap", + "smb", + "snmp" + ], + "includeIsRegex": false, + "missingBucket": false, + "orderBy": { + "columnId": "cdcb22ee-4be6-4a4c-a7e1-ef3f5be3892a", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": false, + "parentFormat": { + "id": "terms" + }, + "size": 5 + }, + "scale": "ordinal", + "sourceField": "gigamon.ami.app_name" + }, + "cdcb22ee-4be6-4a4c-a7e1-ef3f5be3892a": { + "dataType": "number", + "isBucketed": false, + "label": "Count of records", + "operationType": "count", + "params": { + "emptyAsNull": true + }, + "scale": "ratio", + "sourceField": "___records___" + } + }, + "incompleteColumns": {}, + "sampling": 1 + } + } + }, + "indexpattern": { + "layers": {} + }, + "textBased": { + "layers": {} + } + }, + "filters": [], + "internalReferences": [], + "query": { + "language": "kuery", + "query": "data_stream.dataset : \"gigamon.ami\" " + }, + "visualization": { + "layers": [ + { + "allowMultipleMetrics": false, + "categoryDisplay": "default", + "colorMapping": { + "assignments": [], + "colorMode": { + "sort": "desc", + "steps": [ + { + "colorIndex": 0, + "paletteId": "eui_amsterdam_color_blind", + "touched": false, + "type": "categorical" + }, + { + "colorIndex": 1, + "paletteId": "eui_amsterdam_color_blind", + "touched": true, + "type": "categorical" + }, + { + "colorIndex": 9, + "paletteId": "eui_amsterdam_color_blind", + "touched": false, + "type": "categorical" + } + ], + "type": "gradient" + }, + "paletteId": "eui_amsterdam_color_blind", + "specialAssignments": [ + { + "color": { + "type": "loop" + }, + "rule": { + "type": "other" + }, + "touched": false + } + ] + }, + "layerId": "707db7dc-7bda-4553-b9a6-cbeba1925faf", + "layerType": "data", + "legendDisplay": "default", + "metrics": [ + "cdcb22ee-4be6-4a4c-a7e1-ef3f5be3892a" + ], + "nestedLegend": false, + "numberDisplay": "percent", + "primaryGroups": [ + "26f37cb3-6272-468b-b0bf-311911f4bad0" + ], + "secondaryGroups": [] + } + ], + "shape": "treemap" + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsPie" + }, + "enhancements": {} + }, + "gridData": { + "h": 15, + "i": "e7ce60d7-9327-4d64-9ca1-6c814506375b", + "w": 24, + "x": 24, + "y": 81 + }, + "panelIndex": "e7ce60d7-9327-4d64-9ca1-6c814506375b", + "title": "Insecure protocols[Gigamon AMI]", + "type": "lens" + }, + { + "embeddableConfig": { + "attributes": { + "references": [ + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "indexpattern-datasource-layer-9ad9bf45-e8a5-4971-a6d9-f10c483725bc", + "type": "index-pattern" + } + ], + "state": { + "adHocDataViews": {}, + "datasourceStates": { + "formBased": { + "layers": { + "9ad9bf45-e8a5-4971-a6d9-f10c483725bc": { + "columnOrder": [ + "75858c01-5475-41bd-84bd-82668792cb6a", + "b2f71dd5-d176-4971-9644-7ed4a0b2104e" + ], + "columns": { + "75858c01-5475-41bd-84bd-82668792cb6a": { + "dataType": "string", + "isBucketed": true, + "label": "Top 5 values of gigamon.ami.smb_version_value", + "operationType": "terms", + "params": { + "exclude": [], + "excludeIsRegex": false, + "include": [], + "includeIsRegex": false, + "missingBucket": false, + "orderBy": { + "columnId": "b2f71dd5-d176-4971-9644-7ed4a0b2104e", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": true, + "parentFormat": { + "id": "terms" + }, + "size": 5 + }, + "scale": "ordinal", + "sourceField": "gigamon.ami.smb_version_value" + }, + "b2f71dd5-d176-4971-9644-7ed4a0b2104e": { + "dataType": "number", + "isBucketed": false, + "label": "Count of records", + "operationType": "count", + "params": { + "emptyAsNull": true + }, + "scale": "ratio", + "sourceField": "___records___" + } + }, + "incompleteColumns": {}, + "sampling": 1 + } + } + }, + "indexpattern": { + "layers": {} + }, + "textBased": { + "layers": {} + } + }, + "filters": [], + "internalReferences": [], + "query": { + "language": "kuery", + "query": "data_stream.dataset : \"gigamon.ami\" " + }, + "visualization": { + "axisTitlesVisibilitySettings": { + "x": true, + "yLeft": true, + "yRight": true + }, + "fittingFunction": "None", + "gridlinesVisibilitySettings": { + "x": true, + "yLeft": true, + "yRight": true + }, + "labelsOrientation": { + "x": 0, + "yLeft": 0, + "yRight": 0 + }, + "layers": [ + { + "accessors": [ + "b2f71dd5-d176-4971-9644-7ed4a0b2104e" + ], + "colorMapping": { + "assignments": [], + "colorMode": { + "type": "categorical" + }, + "paletteId": "eui_amsterdam_color_blind", + "specialAssignments": [ + { + "color": { + "type": "loop" + }, + "rule": { + "type": "other" + }, + "touched": false + } + ] + }, + "layerId": "9ad9bf45-e8a5-4971-a6d9-f10c483725bc", + "layerType": "data", + "position": "top", + "seriesType": "bar_stacked", + "showGridlines": false, + "xAccessor": "75858c01-5475-41bd-84bd-82668792cb6a", + "yConfig": [ + { + "color": "#64b354", + "forAccessor": "b2f71dd5-d176-4971-9644-7ed4a0b2104e" + } + ] + } + ], + "legend": { + "isVisible": true, + "position": "right" + }, + "preferredSeriesType": "bar_stacked", + "tickLabelsVisibilitySettings": { + "x": true, + "yLeft": true, + "yRight": true + }, + "valueLabels": "hide" + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsXY" + }, + "enhancements": {} + }, + "gridData": { + "h": 15, + "i": "3a4884cb-e0f3-4fef-9436-2f553afcfb87", + "w": 24, + "x": 0, + "y": 96 + }, + "panelIndex": "3a4884cb-e0f3-4fef-9436-2f553afcfb87", + "title": "SMB Version[Gigamon AMI]", + "type": "lens" + }, + { + "embeddableConfig": { + "attributes": { + "references": [ + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "indexpattern-datasource-layer-eea40633-1ee7-46a8-88f2-fc96ea82626e", + "type": "index-pattern" + } + ], + "state": { + "adHocDataViews": {}, + "datasourceStates": { + "formBased": { + "layers": { + "eea40633-1ee7-46a8-88f2-fc96ea82626e": { + "columnOrder": [ + "5a7cf6af-299d-4f0a-a134-17bad74b1953", + "00304a89-1833-463e-be89-6878d80fdec6" + ], + "columns": { + "00304a89-1833-463e-be89-6878d80fdec6": { + "dataType": "number", + "isBucketed": false, + "label": "Count of records", + "operationType": "count", + "params": { + "emptyAsNull": true + }, + "scale": "ratio", + "sourceField": "___records___" + }, + "5a7cf6af-299d-4f0a-a134-17bad74b1953": { + "dataType": "string", + "isBucketed": true, + "label": "Top 5 values of gigamon.ami.http_version", + "operationType": "terms", + "params": { + "exclude": [], + "excludeIsRegex": false, + "include": [], + "includeIsRegex": false, + "missingBucket": false, + "orderBy": { + "columnId": "00304a89-1833-463e-be89-6878d80fdec6", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": true, + "parentFormat": { + "id": "terms" + }, + "size": 5 + }, + "scale": "ordinal", + "sourceField": "gigamon.ami.http_version" + } + }, + "incompleteColumns": {}, + "sampling": 1 + } + } + }, + "indexpattern": { + "layers": {} + }, + "textBased": { + "layers": {} + } + }, + "filters": [], + "internalReferences": [], + "query": { + "language": "kuery", + "query": "data_stream.dataset : \"gigamon.ami\" " + }, + "visualization": { + "layers": [ + { + "categoryDisplay": "default", + "colorMapping": { + "assignments": [], + "colorMode": { + "sort": "desc", + "steps": [ + { + "colorCode": "#eb1989", + "touched": false, + "type": "colorCode" + }, + { + "colorCode": "#1f88e9", + "touched": true, + "type": "colorCode" + } + ], + "type": "gradient" + }, + "paletteId": "eui_amsterdam_color_blind", + "specialAssignments": [ + { + "color": { + "type": "loop" + }, + "rule": { + "type": "other" + }, + "touched": false + } + ] + }, + "layerId": "eea40633-1ee7-46a8-88f2-fc96ea82626e", + "layerType": "data", + "legendDisplay": "default", + "metrics": [ + "00304a89-1833-463e-be89-6878d80fdec6" + ], + "nestedLegend": false, + "numberDisplay": "percent", + "primaryGroups": [ + "5a7cf6af-299d-4f0a-a134-17bad74b1953" + ] + } + ], + "shape": "donut" + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsPie" + }, + "enhancements": {} + }, + "gridData": { + "h": 15, + "i": "720a352e-155e-4a3e-87bf-86ddfb52061d", + "w": 24, + "x": 24, + "y": 96 + }, + "panelIndex": "720a352e-155e-4a3e-87bf-86ddfb52061d", + "title": "HTTP Version[Gigamon AMI]", + "type": "lens" + }, + { + "embeddableConfig": { + "description": "", + "enhancements": {}, + "hidePanelTitles": true, + "savedVis": { + "data": { + "aggs": [], + "searchSource": { + "filter": [], + "query": { + "language": "kuery", + "query": "" + } + } + }, + "description": "", + "id": "", + "params": { + "fontSize": 12, + "markdown": "Track and monitor all access to network resources and cardholder data.\n\nLook for,\n\nPCI compliant devices talking to non-compliant devices", + "openLinksInNewTab": false + }, + "title": "", + "type": "markdown", + "uiState": {} + } + }, + "gridData": { + "h": 6, + "i": "12935e91-f37a-43b6-8016-ae205acc73fe", + "w": 24, + "x": 0, + "y": 111 + }, + "panelIndex": "12935e91-f37a-43b6-8016-ae205acc73fe", + "title": "", + "type": "visualization" + }, + { + "embeddableConfig": { + "attributes": { + "references": [ + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "indexpattern-datasource-layer-1a46766c-98d3-4c59-955f-ad248e69c09d", + "type": "index-pattern" + } + ], + "state": { + "adHocDataViews": {}, + "datasourceStates": { + "formBased": { + "layers": { + "1a46766c-98d3-4c59-955f-ad248e69c09d": { + "columnOrder": [ + "188f2825-3960-4754-b596-55c5de7a3bcf", + "74e124f5-0892-4b20-9967-66f68cbfdfe8" + ], + "columns": { + "188f2825-3960-4754-b596-55c5de7a3bcf": { + "dataType": "string", + "isBucketed": true, + "label": "Top 15 values of gigamon.ami.dst_mac", + "operationType": "terms", + "params": { + "exclude": [], + "excludeIsRegex": false, + "include": [], + "includeIsRegex": false, + "missingBucket": false, + "orderBy": { + "columnId": "74e124f5-0892-4b20-9967-66f68cbfdfe8", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": false, + "parentFormat": { + "id": "terms" + }, + "size": 15 + }, + "scale": "ordinal", + "sourceField": "gigamon.ami.dst_mac" + }, + "74e124f5-0892-4b20-9967-66f68cbfdfe8": { + "dataType": "number", + "isBucketed": false, + "label": "Count of records", + "operationType": "count", + "params": { + "emptyAsNull": true + }, + "scale": "ratio", + "sourceField": "___records___" + } + }, + "incompleteColumns": {}, + "sampling": 1 + } + } + }, + "indexpattern": { + "layers": {} + }, + "textBased": { + "layers": {} + } + }, + "filters": [], + "internalReferences": [], + "query": { + "language": "kuery", + "query": "data_stream.dataset : \"gigamon.ami\" " + }, + "visualization": { + "layers": [ + { + "categoryDisplay": "default", + "colorMapping": { + "assignments": [], + "colorMode": { + "sort": "desc", + "steps": [ + { + "colorCode": "#9f982b", + "touched": true, + "type": "colorCode" + }, + { + "colorCode": "#d18ba2", + "touched": false, + "type": "colorCode" + }, + { + "colorCode": "#1546e5", + "touched": false, + "type": "colorCode" + } + ], + "type": "gradient" + }, + "paletteId": "eui_amsterdam_color_blind", + "specialAssignments": [ + { + "color": { + "type": "loop" + }, + "rule": { + "type": "other" + }, + "touched": false + } + ] + }, + "layerId": "1a46766c-98d3-4c59-955f-ad248e69c09d", + "layerType": "data", + "legendDisplay": "default", + "metrics": [ + "74e124f5-0892-4b20-9967-66f68cbfdfe8" + ], + "nestedLegend": false, + "numberDisplay": "percent", + "primaryGroups": [ + "188f2825-3960-4754-b596-55c5de7a3bcf" + ] + } + ], + "shape": "donut" + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsPie" + }, + "enhancements": {} + }, + "gridData": { + "h": 15, + "i": "16419820-6dc1-4bdb-aa34-9c80b2d1ad1e", + "w": 24, + "x": 24, + "y": 111 + }, + "panelIndex": "16419820-6dc1-4bdb-aa34-9c80b2d1ad1e", + "title": "Top Layer2 Devices[Gigamon AMI]", + "type": "lens" + }, + { + "embeddableConfig": { + "attributes": { + "references": [ + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "indexpattern-datasource-layer-6df89022-0b31-47d3-b7b4-b39627957e1c", + "type": "index-pattern" + } + ], + "state": { + "adHocDataViews": {}, + "datasourceStates": { + "formBased": { + "layers": { + "6df89022-0b31-47d3-b7b4-b39627957e1c": { + "columnOrder": [ + "aac2dc70-0b94-48fc-b76d-d59cd1a20125", + "c563d768-91e0-498b-9c13-5533ef6b6ef2", + "12675a8a-b1db-4f71-a1a0-1a806a18ef9e" + ], + "columns": { + "12675a8a-b1db-4f71-a1a0-1a806a18ef9e": { + "dataType": "number", + "isBucketed": false, + "label": "Count of records", + "operationType": "count", + "params": { + "emptyAsNull": true + }, + "scale": "ratio", + "sourceField": "___records___" + }, + "aac2dc70-0b94-48fc-b76d-d59cd1a20125": { + "customLabel": true, + "dataType": "ip", + "isBucketed": true, + "label": "Source", + "operationType": "terms", + "params": { + "exclude": [], + "excludeIsRegex": false, + "include": [], + "includeIsRegex": false, + "missingBucket": false, + "orderBy": { + "columnId": "12675a8a-b1db-4f71-a1a0-1a806a18ef9e", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": false, + "parentFormat": { + "id": "terms" + }, + "size": 15 + }, + "scale": "ordinal", + "sourceField": "gigamon.ami.src_ip" + }, + "c563d768-91e0-498b-9c13-5533ef6b6ef2": { + "customLabel": true, + "dataType": "ip", + "isBucketed": true, + "label": "Destination ", + "operationType": "terms", + "params": { + "exclude": [], + "excludeIsRegex": false, + "include": [], + "includeIsRegex": false, + "missingBucket": false, + "orderBy": { + "columnId": "12675a8a-b1db-4f71-a1a0-1a806a18ef9e", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": false, + "parentFormat": { + "id": "terms" + }, + "size": 15 + }, + "scale": "ordinal", + "sourceField": "gigamon.ami.dst_ip" + } + }, + "incompleteColumns": {}, + "sampling": 1 + } + } + }, + "indexpattern": { + "layers": {} + }, + "textBased": { + "layers": {} + } + }, + "filters": [], + "internalReferences": [], + "query": { + "language": "kuery", + "query": "data_stream.dataset : \"gigamon.ami\" " + }, + "visualization": { + "columns": [ + { + "columnId": "aac2dc70-0b94-48fc-b76d-d59cd1a20125", + "isTransposed": false + }, + { + "columnId": "c563d768-91e0-498b-9c13-5533ef6b6ef2", + "isTransposed": false + }, + { + "columnId": "12675a8a-b1db-4f71-a1a0-1a806a18ef9e", + "isTransposed": false + } + ], + "layerId": "6df89022-0b31-47d3-b7b4-b39627957e1c", + "layerType": "data" + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsDatatable" + }, + "enhancements": {} + }, + "gridData": { + "h": 15, + "i": "f97cff25-8a15-4598-9f82-e9ca97f22248", + "w": 24, + "x": 0, + "y": 117 + }, + "panelIndex": "f97cff25-8a15-4598-9f82-e9ca97f22248", + "title": "Top IP conversations[Gigamon AMI]", + "type": "lens" + } + ], + "timeRestore": false, + "title": "[Logs Gigamon] PCI Compliance", + "version": 1 + }, + "coreMigrationVersion": "8.8.0", + "created_at": "2024-08-21T10:10:52.145Z", + "id": "gigamon-032aab7b-87b2-444c-8c86-956d092598fb", + "managed": false, + "references": [ + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "9398dc6a-34e1-4932-a812-4aa0eb66c174:indexpattern-datasource-layer-7c68c54d-62b4-49f1-8a13-f778321dd524", + "type": "index-pattern" + }, + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "dff9d72d-84a2-485f-895f-d41ceb25b537:indexpattern-datasource-layer-5c045cd1-896d-4616-ab58-e438179a1271", + "type": "index-pattern" + }, + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "09fe9c07-9113-427b-9c1d-c50defd14c0a:indexpattern-datasource-layer-b41c5eb7-b859-49fd-98e0-3f44e409b57e", + "type": "index-pattern" + }, + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "4b26f1c1-a5e3-4373-801a-9606d43da277:indexpattern-datasource-layer-f00fe1d2-0b00-4926-ba8b-50f5098b4aec", + "type": "index-pattern" + }, + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "e35868f4-1c6e-4eff-a933-08884a7fc300:indexpattern-datasource-layer-d38e1fb2-0496-472a-82f2-7c88d7f947d4", + "type": "index-pattern" + }, + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "039714a2-0b5f-4ce1-aea0-35887146d978:indexpattern-datasource-layer-a267cd60-3767-4e26-8b44-4761dd601e16", + "type": "index-pattern" + }, + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "039714a2-0b5f-4ce1-aea0-35887146d978:c001313b-a4ee-4ec8-91bb-e412b3bbe5d2", + "type": "index-pattern" + }, + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "846e11e1-efc8-4311-88a7-cadb7aca1ad4:indexpattern-datasource-layer-f8c599bc-4580-4a39-a5fa-1cc2a68260d7", + "type": "index-pattern" + }, + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "a7f83583-f83e-41fb-bce5-fd13fc774a8f:indexpattern-datasource-layer-e6f6eaaa-bde7-4b77-a5a3-2cbdc2449a35", + "type": "index-pattern" + }, + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "ca21225a-3af7-4bc9-8602-433089592d5f:indexpattern-datasource-layer-fd16c376-c72d-484f-b22d-b1e48d9806c1", + "type": "index-pattern" + }, + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "2f77e26f-85cf-47aa-a467-4886a34a6845:indexpattern-datasource-layer-a82f90ee-acf4-4ff5-899f-a5e07ae82bf7", + "type": "index-pattern" + }, + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "2f77e26f-85cf-47aa-a467-4886a34a6845:d8152df4-c3d5-4e93-ac0d-9d13a3cd834e", + "type": "index-pattern" + }, + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "2f77e26f-85cf-47aa-a467-4886a34a6845:088f2453-2e6e-4f79-adf6-f3ee0d498e49", + "type": "index-pattern" + }, + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "2f77e26f-85cf-47aa-a467-4886a34a6845:14efcd52-a120-4efe-8502-da61db173619", + "type": "index-pattern" + }, + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "e7ce60d7-9327-4d64-9ca1-6c814506375b:indexpattern-datasource-layer-707db7dc-7bda-4553-b9a6-cbeba1925faf", + "type": "index-pattern" + }, + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "3a4884cb-e0f3-4fef-9436-2f553afcfb87:indexpattern-datasource-layer-9ad9bf45-e8a5-4971-a6d9-f10c483725bc", + "type": "index-pattern" + }, + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "720a352e-155e-4a3e-87bf-86ddfb52061d:indexpattern-datasource-layer-eea40633-1ee7-46a8-88f2-fc96ea82626e", + "type": "index-pattern" + }, + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "16419820-6dc1-4bdb-aa34-9c80b2d1ad1e:indexpattern-datasource-layer-1a46766c-98d3-4c59-955f-ad248e69c09d", + "type": "index-pattern" + }, + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "f97cff25-8a15-4598-9f82-e9ca97f22248:indexpattern-datasource-layer-6df89022-0b31-47d3-b7b4-b39627957e1c", + "type": "index-pattern" + } + ], + "type": "dashboard", + "typeMigrationVersion": "8.9.0" +} \ No newline at end of file diff --git a/packages/gigamon/kibana/dashboard/gigamon-3523b534-7525-44a7-808f-6a9f3235a67d.json b/packages/gigamon/kibana/dashboard/gigamon-3523b534-7525-44a7-808f-6a9f3235a67d.json new file mode 100644 index 00000000000..b110a3fc64b --- /dev/null +++ b/packages/gigamon/kibana/dashboard/gigamon-3523b534-7525-44a7-808f-6a9f3235a67d.json @@ -0,0 +1,1475 @@ +{ + "attributes": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": { + "filter": [], + "query": { + "language": "kuery", + "query": "" + } + } + }, + "optionsJSON": { + "hidePanelTitles": false, + "syncColors": false, + "syncCursor": true, + "syncTooltips": false, + "useMargins": true + }, + "panelsJSON": [ + { + "embeddableConfig": { + "description": "", + "enhancements": {}, + "hidePanelTitles": true, + "savedVis": { + "data": { + "aggs": [], + "searchSource": { + "filter": [], + "query": { + "language": "kuery", + "query": "" + } + } + }, + "description": "", + "id": "", + "params": { + "fontSize": 12, + "markdown": "**AMI Starter Pack**\n\n- [App Insights](#/dashboard/gigamon-855a64dc-1a72-403f-932b-a5b848378f7e)\n- Trouble shooting\n - [Troubleshooting Insights for Network traffic](#/dashboard/gigamon-9653b636-06dc-4b98-9a58-fb3bef05ea56)\n - [Top Traffic Sources and Destinations](#/dashboard/gigamon-d6cecabb-f026-4823-914d-b4d61fd61787)\n- [Security Posture](#/dashboard/gigamon-e3307176-34e8-46b1-bb05-b215bfc6dfca)\n- Identifier Analysis\n - [Homoglyph Detection](#/dashboard/gigamon-acd767db-d106-4a1b-ba2d-c515bdae97db)\n - [URL Analysis](#/dashboard/gigamon-8f772203-64e0-4d1b-bb0e-14fa57b4b754)\n- M21-31\n - [Web Traffic Details](#/dashboard/gigamon-d866be49-47b2-4306-a2be-d5cb6b6ab9c8)\n - [DNS Information](#/dashboard/gigamon-e192a946-8287-450a-a8f0-e23de9f95dae)\n- Rogue Activity\n - [**Unsanctioned Peer to Peer Apps**](#?dashboard/3523b534-7525-44a7-808f-6a9f3235a67d)\n- [PCI Compliance](#/dashboard/gigamon-032aab7b-87b2-444c-8c86-956d092598fb)\n- Suspicious Activities\n - [Suspicious Connections](#/dashboard/gigamon-62291e9e-8b75-4f23-9121-79959da99b3b)\n - [Unmanaged Endpoints](#/dashboard/gigamon-46931a21-a33e-43af-aadf-da8d6446b9cc)", + "openLinksInNewTab": false + }, + "title": "", + "type": "markdown", + "uiState": {} + } + }, + "gridData": { + "h": 21, + "i": "36ef0d2c-1832-496c-a861-414b4e57956f", + "w": 24, + "x": 0, + "y": 0 + }, + "panelIndex": "36ef0d2c-1832-496c-a861-414b4e57956f", + "title": "", + "type": "visualization" + }, + { + "embeddableConfig": { + "attributes": { + "references": [ + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "indexpattern-datasource-layer-be43b3a9-77eb-4997-b0a3-2c7bf9642d91", + "type": "index-pattern" + }, + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "8cf2d322-d829-49e3-bc08-bbdf2bad8404", + "type": "index-pattern" + } + ], + "state": { + "adHocDataViews": {}, + "datasourceStates": { + "formBased": { + "layers": { + "be43b3a9-77eb-4997-b0a3-2c7bf9642d91": { + "columnOrder": [ + "90da3763-1118-417f-8358-f431688df4d3", + "ab03a07c-2a6e-425a-b1c5-98a2ef878a4b" + ], + "columns": { + "90da3763-1118-417f-8358-f431688df4d3": { + "dataType": "string", + "isBucketed": true, + "label": "Top 15 values of gigamon.ami.app_name", + "operationType": "terms", + "params": { + "exclude": [], + "excludeIsRegex": false, + "include": [], + "includeIsRegex": false, + "missingBucket": false, + "orderBy": { + "columnId": "ab03a07c-2a6e-425a-b1c5-98a2ef878a4b", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": false, + "parentFormat": { + "id": "terms" + }, + "size": 15 + }, + "scale": "ordinal", + "sourceField": "gigamon.ami.app_name" + }, + "ab03a07c-2a6e-425a-b1c5-98a2ef878a4b": { + "dataType": "number", + "isBucketed": false, + "label": "Count of records", + "operationType": "count", + "params": { + "emptyAsNull": true + }, + "scale": "ratio", + "sourceField": "___records___" + } + }, + "incompleteColumns": {}, + "sampling": 1 + } + } + }, + "indexpattern": { + "layers": {} + }, + "textBased": { + "layers": {} + } + }, + "filters": [ + { + "$state": { + "store": "appState" + }, + "meta": { + "alias": null, + "disabled": false, + "field": "gigamon.ami.app_name", + "index": "8cf2d322-d829-49e3-bc08-bbdf2bad8404", + "key": "gigamon.ami.app_name", + "negate": false, + "params": [ + "edonkey", + "bittorrent", + "apple-airplay", + "bittorrent-bundle", + "gnutella", + "manolito", + "utorrent", + "bitcomet", + "bitcomet-pex", + "ares", + "imesh", + "directconnect", + "slsk" + ], + "type": "phrases", + "value": [ + "edonkey", + "bittorrent", + "apple-airplay", + "bittorrent-bundle", + "gnutella", + "manolito", + "utorrent", + "bitcomet", + "bitcomet-pex", + "ares", + "imesh", + "directconnect", + "slsk" + ] + }, + "query": { + "bool": { + "minimum_should_match": 1, + "should": [ + { + "match_phrase": { + "gigamon.ami.app_name": "edonkey" + } + }, + { + "match_phrase": { + "gigamon.ami.app_name": "bittorrent" + } + }, + { + "match_phrase": { + "gigamon.ami.app_name": "apple-airplay" + } + }, + { + "match_phrase": { + "gigamon.ami.app_name": "bittorrent-bundle" + } + }, + { + "match_phrase": { + "gigamon.ami.app_name": "gnutella" + } + }, + { + "match_phrase": { + "gigamon.ami.app_name": "manolito" + } + }, + { + "match_phrase": { + "gigamon.ami.app_name": "utorrent" + } + }, + { + "match_phrase": { + "gigamon.ami.app_name": "bitcomet" + } + }, + { + "match_phrase": { + "gigamon.ami.app_name": "bitcomet-pex" + } + }, + { + "match_phrase": { + "gigamon.ami.app_name": "ares" + } + }, + { + "match_phrase": { + "gigamon.ami.app_name": "imesh" + } + }, + { + "match_phrase": { + "gigamon.ami.app_name": "directconnect" + } + }, + { + "match_phrase": { + "gigamon.ami.app_name": "slsk" + } + } + ] + } + } + } + ], + "internalReferences": [], + "query": { + "language": "kuery", + "query": "data_stream.dataset : \"gigamon.ami\" " + }, + "visualization": { + "layers": [ + { + "categoryDisplay": "default", + "colorMapping": { + "assignments": [], + "colorMode": { + "sort": "desc", + "steps": [ + { + "colorIndex": 5, + "paletteId": "eui_amsterdam_color_blind", + "touched": false, + "type": "categorical" + }, + { + "colorIndex": 2, + "paletteId": "eui_amsterdam_color_blind", + "touched": false, + "type": "categorical" + }, + { + "colorIndex": 0, + "paletteId": "eui_amsterdam_color_blind", + "touched": true, + "type": "categorical" + } + ], + "type": "gradient" + }, + "paletteId": "eui_amsterdam_color_blind", + "specialAssignments": [ + { + "color": { + "type": "loop" + }, + "rule": { + "type": "other" + }, + "touched": false + } + ] + }, + "layerId": "be43b3a9-77eb-4997-b0a3-2c7bf9642d91", + "layerType": "data", + "legendDisplay": "default", + "metrics": [ + "ab03a07c-2a6e-425a-b1c5-98a2ef878a4b" + ], + "nestedLegend": false, + "numberDisplay": "percent", + "primaryGroups": [ + "90da3763-1118-417f-8358-f431688df4d3" + ] + } + ], + "shape": "donut" + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsPie" + }, + "enhancements": {} + }, + "gridData": { + "h": 15, + "i": "a6bb8905-1429-48f4-afe0-8abe04458570", + "w": 24, + "x": 24, + "y": 0 + }, + "panelIndex": "a6bb8905-1429-48f4-afe0-8abe04458570", + "title": "List of P2P Applications in your network[Gigamon AMI]", + "type": "lens" + }, + { + "embeddableConfig": { + "attributes": { + "references": [ + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "indexpattern-datasource-layer-be43b3a9-77eb-4997-b0a3-2c7bf9642d91", + "type": "index-pattern" + }, + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "deddd9f4-b68e-4e4a-bac6-030cbf077d0d", + "type": "index-pattern" + } + ], + "state": { + "adHocDataViews": {}, + "datasourceStates": { + "formBased": { + "layers": { + "be43b3a9-77eb-4997-b0a3-2c7bf9642d91": { + "columnOrder": [ + "be25dbd2-192e-4f3d-bd7b-32b558b7eea6", + "06c8ecc9-ac2a-4869-8b59-7db0f0efb6c7", + "ab03a07c-2a6e-425a-b1c5-98a2ef878a4b" + ], + "columns": { + "06c8ecc9-ac2a-4869-8b59-7db0f0efb6c7": { + "dataType": "date", + "isBucketed": true, + "label": "@timestamp", + "operationType": "date_histogram", + "params": { + "dropPartials": false, + "includeEmptyRows": true, + "interval": "auto" + }, + "scale": "interval", + "sourceField": "@timestamp" + }, + "ab03a07c-2a6e-425a-b1c5-98a2ef878a4b": { + "dataType": "number", + "isBucketed": false, + "label": "Count of records", + "operationType": "count", + "params": { + "emptyAsNull": true + }, + "scale": "ratio", + "sourceField": "___records___" + }, + "be25dbd2-192e-4f3d-bd7b-32b558b7eea6": { + "dataType": "string", + "isBucketed": true, + "label": "Top 15 values of gigamon.ami.app_name", + "operationType": "terms", + "params": { + "exclude": [], + "excludeIsRegex": false, + "include": [], + "includeIsRegex": false, + "missingBucket": false, + "orderBy": { + "columnId": "ab03a07c-2a6e-425a-b1c5-98a2ef878a4b", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": false, + "parentFormat": { + "id": "terms" + }, + "size": 15 + }, + "scale": "ordinal", + "sourceField": "gigamon.ami.app_name" + } + }, + "incompleteColumns": {}, + "sampling": 1 + } + } + }, + "indexpattern": { + "layers": {} + }, + "textBased": { + "layers": {} + } + }, + "filters": [ + { + "$state": { + "store": "appState" + }, + "meta": { + "alias": null, + "disabled": false, + "field": "gigamon.ami.app_name", + "index": "deddd9f4-b68e-4e4a-bac6-030cbf077d0d", + "key": "gigamon.ami.app_name", + "negate": false, + "params": [ + "edonkey", + "bittorrent", + "apple-airplay", + "bittorrent-bundle", + "gnutella", + "manolito", + "utorrent", + "bitcomet", + "bitcomet-pex", + "ares", + "imesh", + "directconnect", + "slsk" + ], + "type": "phrases", + "value": [ + "edonkey", + "bittorrent", + "apple-airplay", + "bittorrent-bundle", + "gnutella", + "manolito", + "utorrent", + "bitcomet", + "bitcomet-pex", + "ares", + "imesh", + "directconnect", + "slsk" + ] + }, + "query": { + "bool": { + "minimum_should_match": 1, + "should": [ + { + "match_phrase": { + "gigamon.ami.app_name": "edonkey" + } + }, + { + "match_phrase": { + "gigamon.ami.app_name": "bittorrent" + } + }, + { + "match_phrase": { + "gigamon.ami.app_name": "apple-airplay" + } + }, + { + "match_phrase": { + "gigamon.ami.app_name": "bittorrent-bundle" + } + }, + { + "match_phrase": { + "gigamon.ami.app_name": "gnutella" + } + }, + { + "match_phrase": { + "gigamon.ami.app_name": "manolito" + } + }, + { + "match_phrase": { + "gigamon.ami.app_name": "utorrent" + } + }, + { + "match_phrase": { + "gigamon.ami.app_name": "bitcomet" + } + }, + { + "match_phrase": { + "gigamon.ami.app_name": "bitcomet-pex" + } + }, + { + "match_phrase": { + "gigamon.ami.app_name": "ares" + } + }, + { + "match_phrase": { + "gigamon.ami.app_name": "imesh" + } + }, + { + "match_phrase": { + "gigamon.ami.app_name": "directconnect" + } + }, + { + "match_phrase": { + "gigamon.ami.app_name": "slsk" + } + } + ] + } + } + } + ], + "internalReferences": [], + "query": { + "language": "kuery", + "query": "data_stream.dataset : \"gigamon.ami\" " + }, + "visualization": { + "axisTitlesVisibilitySettings": { + "x": true, + "yLeft": true, + "yRight": true + }, + "fittingFunction": "None", + "gridlinesVisibilitySettings": { + "x": true, + "yLeft": true, + "yRight": true + }, + "labelsOrientation": { + "x": 0, + "yLeft": 0, + "yRight": 0 + }, + "layers": [ + { + "accessors": [ + "ab03a07c-2a6e-425a-b1c5-98a2ef878a4b" + ], + "colorMapping": { + "assignments": [], + "colorMode": { + "type": "categorical" + }, + "paletteId": "elastic_brand_2023", + "specialAssignments": [ + { + "color": { + "type": "loop" + }, + "rule": { + "type": "other" + }, + "touched": false + } + ] + }, + "layerId": "be43b3a9-77eb-4997-b0a3-2c7bf9642d91", + "layerType": "data", + "seriesType": "line", + "splitAccessor": "be25dbd2-192e-4f3d-bd7b-32b558b7eea6", + "xAccessor": "06c8ecc9-ac2a-4869-8b59-7db0f0efb6c7" + } + ], + "legend": { + "isVisible": true, + "position": "right" + }, + "preferredSeriesType": "line", + "tickLabelsVisibilitySettings": { + "x": true, + "yLeft": true, + "yRight": true + }, + "valueLabels": "hide" + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsXY" + }, + "enhancements": {} + }, + "gridData": { + "h": 15, + "i": "e0bd8c6b-8b7a-44e0-b8ef-8c2814e00f57", + "w": 24, + "x": 24, + "y": 15 + }, + "panelIndex": "e0bd8c6b-8b7a-44e0-b8ef-8c2814e00f57", + "title": "P2P Application traffic over time[Gigamon AMI]", + "type": "lens" + }, + { + "embeddableConfig": { + "attributes": { + "references": [ + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "indexpattern-datasource-layer-be43b3a9-77eb-4997-b0a3-2c7bf9642d91", + "type": "index-pattern" + }, + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "e162d9f3-10d5-403a-9800-0869a637ca55", + "type": "index-pattern" + } + ], + "state": { + "adHocDataViews": {}, + "datasourceStates": { + "formBased": { + "layers": { + "be43b3a9-77eb-4997-b0a3-2c7bf9642d91": { + "columnOrder": [ + "0911ac8a-1ec9-4437-9594-0e2bd1e86088", + "ab03a07c-2a6e-425a-b1c5-98a2ef878a4b" + ], + "columns": { + "0911ac8a-1ec9-4437-9594-0e2bd1e86088": { + "dataType": "ip", + "isBucketed": true, + "label": "Top 15 values of gigamon.ami.src_ip", + "operationType": "terms", + "params": { + "exclude": [], + "excludeIsRegex": false, + "include": [], + "includeIsRegex": false, + "missingBucket": false, + "orderBy": { + "columnId": "ab03a07c-2a6e-425a-b1c5-98a2ef878a4b", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": false, + "parentFormat": { + "id": "terms" + }, + "size": 15 + }, + "scale": "ordinal", + "sourceField": "gigamon.ami.src_ip" + }, + "ab03a07c-2a6e-425a-b1c5-98a2ef878a4b": { + "dataType": "number", + "isBucketed": false, + "label": "Count of records", + "operationType": "count", + "params": { + "emptyAsNull": true + }, + "scale": "ratio", + "sourceField": "___records___" + } + }, + "incompleteColumns": {}, + "sampling": 1 + } + } + }, + "indexpattern": { + "layers": {} + }, + "textBased": { + "layers": {} + } + }, + "filters": [ + { + "$state": { + "store": "appState" + }, + "meta": { + "alias": null, + "disabled": false, + "field": "gigamon.ami.app_name", + "index": "e162d9f3-10d5-403a-9800-0869a637ca55", + "key": "gigamon.ami.app_name", + "negate": false, + "params": [ + "edonkey", + "bittorrent", + "apple-airplay", + "bittorrent-bundle", + "gnutella", + "manolito", + "utorrent", + "bitcomet", + "bitcomet-pex", + "ares", + "imesh", + "directconnect", + "slsk" + ], + "type": "phrases", + "value": [ + "edonkey", + "bittorrent", + "apple-airplay", + "bittorrent-bundle", + "gnutella", + "manolito", + "utorrent", + "bitcomet", + "bitcomet-pex", + "ares", + "imesh", + "directconnect", + "slsk" + ] + }, + "query": { + "bool": { + "minimum_should_match": 1, + "should": [ + { + "match_phrase": { + "gigamon.ami.app_name": "edonkey" + } + }, + { + "match_phrase": { + "gigamon.ami.app_name": "bittorrent" + } + }, + { + "match_phrase": { + "gigamon.ami.app_name": "apple-airplay" + } + }, + { + "match_phrase": { + "gigamon.ami.app_name": "bittorrent-bundle" + } + }, + { + "match_phrase": { + "gigamon.ami.app_name": "gnutella" + } + }, + { + "match_phrase": { + "gigamon.ami.app_name": "manolito" + } + }, + { + "match_phrase": { + "gigamon.ami.app_name": "utorrent" + } + }, + { + "match_phrase": { + "gigamon.ami.app_name": "bitcomet" + } + }, + { + "match_phrase": { + "gigamon.ami.app_name": "bitcomet-pex" + } + }, + { + "match_phrase": { + "gigamon.ami.app_name": "ares" + } + }, + { + "match_phrase": { + "gigamon.ami.app_name": "imesh" + } + }, + { + "match_phrase": { + "gigamon.ami.app_name": "directconnect" + } + }, + { + "match_phrase": { + "gigamon.ami.app_name": "slsk" + } + } + ] + } + } + } + ], + "internalReferences": [], + "query": { + "language": "kuery", + "query": "data_stream.dataset : \"gigamon.ami\" " + }, + "visualization": { + "layers": [ + { + "categoryDisplay": "default", + "colorMapping": { + "assignments": [], + "colorMode": { + "sort": "desc", + "steps": [ + { + "colorIndex": 0, + "paletteId": "elastic_brand_2023", + "touched": false, + "type": "categorical" + }, + { + "colorIndex": 1, + "paletteId": "elastic_brand_2023", + "touched": false, + "type": "categorical" + }, + { + "colorIndex": 2, + "paletteId": "elastic_brand_2023", + "touched": false, + "type": "categorical" + } + ], + "type": "gradient" + }, + "paletteId": "elastic_brand_2023", + "specialAssignments": [ + { + "color": { + "type": "loop" + }, + "rule": { + "type": "other" + }, + "touched": false + } + ] + }, + "layerId": "be43b3a9-77eb-4997-b0a3-2c7bf9642d91", + "layerType": "data", + "legendDisplay": "default", + "metrics": [ + "ab03a07c-2a6e-425a-b1c5-98a2ef878a4b" + ], + "nestedLegend": false, + "numberDisplay": "percent", + "primaryGroups": [ + "0911ac8a-1ec9-4437-9594-0e2bd1e86088" + ] + } + ], + "shape": "donut" + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsPie" + }, + "enhancements": {} + }, + "gridData": { + "h": 15, + "i": "1ab105d2-cd65-497f-9dec-eca0022b4dab", + "w": 24, + "x": 0, + "y": 21 + }, + "panelIndex": "1ab105d2-cd65-497f-9dec-eca0022b4dab", + "title": "Top P2P Sources[Gigamon AMI]", + "type": "lens" + }, + { + "embeddableConfig": { + "attributes": { + "references": [ + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "indexpattern-datasource-layer-be43b3a9-77eb-4997-b0a3-2c7bf9642d91", + "type": "index-pattern" + }, + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "4e115414-3b37-4d6a-a7d3-909dd2bbd10d", + "type": "index-pattern" + } + ], + "state": { + "adHocDataViews": {}, + "datasourceStates": { + "formBased": { + "layers": { + "be43b3a9-77eb-4997-b0a3-2c7bf9642d91": { + "columnOrder": [ + "743571a7-eb16-414a-9661-6b9c463baf93", + "ab03a07c-2a6e-425a-b1c5-98a2ef878a4b" + ], + "columns": { + "743571a7-eb16-414a-9661-6b9c463baf93": { + "dataType": "ip", + "isBucketed": true, + "label": "Top 15 values of gigamon.ami.dst_ip", + "operationType": "terms", + "params": { + "exclude": [], + "excludeIsRegex": false, + "include": [], + "includeIsRegex": false, + "missingBucket": false, + "orderBy": { + "columnId": "ab03a07c-2a6e-425a-b1c5-98a2ef878a4b", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": false, + "parentFormat": { + "id": "terms" + }, + "size": 15 + }, + "scale": "ordinal", + "sourceField": "gigamon.ami.dst_ip" + }, + "ab03a07c-2a6e-425a-b1c5-98a2ef878a4b": { + "dataType": "number", + "isBucketed": false, + "label": "Count of records", + "operationType": "count", + "params": { + "emptyAsNull": true + }, + "scale": "ratio", + "sourceField": "___records___" + } + }, + "incompleteColumns": {}, + "sampling": 1 + } + } + }, + "indexpattern": { + "layers": {} + }, + "textBased": { + "layers": {} + } + }, + "filters": [ + { + "$state": { + "store": "appState" + }, + "meta": { + "alias": null, + "disabled": false, + "field": "gigamon.ami.app_name", + "index": "4e115414-3b37-4d6a-a7d3-909dd2bbd10d", + "key": "gigamon.ami.app_name", + "negate": false, + "params": [ + "edonkey", + "bittorrent", + "apple-airplay", + "bittorrent-bundle", + "gnutella", + "manolito", + "utorrent", + "bitcomet", + "bitcomet-pex", + "ares", + "imesh", + "directconnect", + "slsk" + ], + "type": "phrases", + "value": [ + "edonkey", + "bittorrent", + "apple-airplay", + "bittorrent-bundle", + "gnutella", + "manolito", + "utorrent", + "bitcomet", + "bitcomet-pex", + "ares", + "imesh", + "directconnect", + "slsk" + ] + }, + "query": { + "bool": { + "minimum_should_match": 1, + "should": [ + { + "match_phrase": { + "gigamon.ami.app_name": "edonkey" + } + }, + { + "match_phrase": { + "gigamon.ami.app_name": "bittorrent" + } + }, + { + "match_phrase": { + "gigamon.ami.app_name": "apple-airplay" + } + }, + { + "match_phrase": { + "gigamon.ami.app_name": "bittorrent-bundle" + } + }, + { + "match_phrase": { + "gigamon.ami.app_name": "gnutella" + } + }, + { + "match_phrase": { + "gigamon.ami.app_name": "manolito" + } + }, + { + "match_phrase": { + "gigamon.ami.app_name": "utorrent" + } + }, + { + "match_phrase": { + "gigamon.ami.app_name": "bitcomet" + } + }, + { + "match_phrase": { + "gigamon.ami.app_name": "bitcomet-pex" + } + }, + { + "match_phrase": { + "gigamon.ami.app_name": "ares" + } + }, + { + "match_phrase": { + "gigamon.ami.app_name": "imesh" + } + }, + { + "match_phrase": { + "gigamon.ami.app_name": "directconnect" + } + }, + { + "match_phrase": { + "gigamon.ami.app_name": "slsk" + } + } + ] + } + } + } + ], + "internalReferences": [], + "query": { + "language": "kuery", + "query": "data_stream.dataset : \"gigamon.ami\" " + }, + "visualization": { + "layers": [ + { + "categoryDisplay": "default", + "colorMapping": { + "assignments": [], + "colorMode": { + "sort": "desc", + "steps": [ + { + "colorIndex": 5, + "paletteId": "eui_amsterdam_color_blind", + "touched": false, + "type": "categorical" + }, + { + "colorIndex": 2, + "paletteId": "eui_amsterdam_color_blind", + "touched": false, + "type": "categorical" + }, + { + "colorIndex": 0, + "paletteId": "eui_amsterdam_color_blind", + "touched": true, + "type": "categorical" + } + ], + "type": "gradient" + }, + "paletteId": "eui_amsterdam_color_blind", + "specialAssignments": [ + { + "color": { + "type": "loop" + }, + "rule": { + "type": "other" + }, + "touched": false + } + ] + }, + "layerId": "be43b3a9-77eb-4997-b0a3-2c7bf9642d91", + "layerType": "data", + "legendDisplay": "default", + "metrics": [ + "ab03a07c-2a6e-425a-b1c5-98a2ef878a4b" + ], + "nestedLegend": false, + "numberDisplay": "percent", + "primaryGroups": [ + "743571a7-eb16-414a-9661-6b9c463baf93" + ] + } + ], + "shape": "donut" + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsPie" + }, + "enhancements": {} + }, + "gridData": { + "h": 15, + "i": "b9b235ec-c995-4e04-9c8d-4a1241ddcf3c", + "w": 24, + "x": 24, + "y": 30 + }, + "panelIndex": "b9b235ec-c995-4e04-9c8d-4a1241ddcf3c", + "title": "Top P2P Destinations[Gigamon AMI]", + "type": "lens" + }, + { + "embeddableConfig": { + "attributes": { + "references": [ + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "indexpattern-datasource-layer-be43b3a9-77eb-4997-b0a3-2c7bf9642d91", + "type": "index-pattern" + }, + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "60326333-2197-489c-b92c-c43814bb2a07", + "type": "index-pattern" + } + ], + "state": { + "adHocDataViews": {}, + "datasourceStates": { + "formBased": { + "layers": { + "be43b3a9-77eb-4997-b0a3-2c7bf9642d91": { + "columnOrder": [ + "ab03a07c-2a6e-425a-b1c5-98a2ef878a4b" + ], + "columns": { + "ab03a07c-2a6e-425a-b1c5-98a2ef878a4b": { + "customLabel": true, + "dataType": "number", + "isBucketed": false, + "label": "Number o P2P sessions", + "operationType": "count", + "params": { + "emptyAsNull": true + }, + "scale": "ratio", + "sourceField": "gigamon.ami.app_name" + } + }, + "incompleteColumns": {}, + "sampling": 1 + } + } + }, + "indexpattern": { + "layers": {} + }, + "textBased": { + "layers": {} + } + }, + "filters": [ + { + "$state": { + "store": "appState" + }, + "meta": { + "alias": null, + "disabled": false, + "field": "gigamon.ami.app_name", + "index": "60326333-2197-489c-b92c-c43814bb2a07", + "key": "gigamon.ami.app_name", + "negate": false, + "params": [ + "edonkey", + "bittorrent", + "apple-airplay", + "bittorrent-bundle", + "gnutella", + "manolito", + "utorrent", + "bitcomet", + "bitcomet-pex", + "ares", + "imesh", + "directconnect", + "slsk" + ], + "type": "phrases", + "value": [ + "edonkey", + "bittorrent", + "apple-airplay", + "bittorrent-bundle", + "gnutella", + "manolito", + "utorrent", + "bitcomet", + "bitcomet-pex", + "ares", + "imesh", + "directconnect", + "slsk" + ] + }, + "query": { + "bool": { + "minimum_should_match": 1, + "should": [ + { + "match_phrase": { + "gigamon.ami.app_name": "edonkey" + } + }, + { + "match_phrase": { + "gigamon.ami.app_name": "bittorrent" + } + }, + { + "match_phrase": { + "gigamon.ami.app_name": "apple-airplay" + } + }, + { + "match_phrase": { + "gigamon.ami.app_name": "bittorrent-bundle" + } + }, + { + "match_phrase": { + "gigamon.ami.app_name": "gnutella" + } + }, + { + "match_phrase": { + "gigamon.ami.app_name": "manolito" + } + }, + { + "match_phrase": { + "gigamon.ami.app_name": "utorrent" + } + }, + { + "match_phrase": { + "gigamon.ami.app_name": "bitcomet" + } + }, + { + "match_phrase": { + "gigamon.ami.app_name": "bitcomet-pex" + } + }, + { + "match_phrase": { + "gigamon.ami.app_name": "ares" + } + }, + { + "match_phrase": { + "gigamon.ami.app_name": "imesh" + } + }, + { + "match_phrase": { + "gigamon.ami.app_name": "directconnect" + } + }, + { + "match_phrase": { + "gigamon.ami.app_name": "slsk" + } + } + ] + } + } + } + ], + "internalReferences": [], + "query": { + "language": "kuery", + "query": "data_stream.dataset : \"gigamon.ami\" " + }, + "visualization": { + "accessor": "ab03a07c-2a6e-425a-b1c5-98a2ef878a4b", + "colorMode": "Background", + "layerId": "be43b3a9-77eb-4997-b0a3-2c7bf9642d91", + "layerType": "data", + "palette": { + "name": "custom", + "params": { + "colorStops": [ + { + "color": "#209280", + "stop": null + }, + { + "color": "#B9A888", + "stop": 1080 + }, + { + "color": "#cc5642", + "stop": 2160 + } + ], + "continuity": "all", + "maxSteps": 5, + "name": "custom", + "progression": "fixed", + "rangeMax": null, + "rangeMin": null, + "rangeType": "number", + "reverse": false, + "steps": 3, + "stops": [ + { + "color": "#209280", + "stop": 1080 + }, + { + "color": "#B9A888", + "stop": 2160 + }, + { + "color": "#cc5642", + "stop": 3240 + } + ] + }, + "type": "palette" + } + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsLegacyMetric" + }, + "enhancements": {}, + "hidePanelTitles": true + }, + "gridData": { + "h": 15, + "i": "f994304e-fef0-446b-991e-3fdad41e3d1e", + "w": 24, + "x": 0, + "y": 36 + }, + "panelIndex": "f994304e-fef0-446b-991e-3fdad41e3d1e", + "title": "", + "type": "lens" + } + ], + "timeRestore": false, + "title": "[Logs Gigamon] Unsanctioned Peer to Peer Apps", + "version": 1 + }, + "coreMigrationVersion": "8.8.0", + "created_at": "2024-08-21T09:53:57.275Z", + "id": "gigamon-3523b534-7525-44a7-808f-6a9f3235a67d", + "managed": false, + "references": [ + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "a6bb8905-1429-48f4-afe0-8abe04458570:indexpattern-datasource-layer-be43b3a9-77eb-4997-b0a3-2c7bf9642d91", + "type": "index-pattern" + }, + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "a6bb8905-1429-48f4-afe0-8abe04458570:8cf2d322-d829-49e3-bc08-bbdf2bad8404", + "type": "index-pattern" + }, + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "e0bd8c6b-8b7a-44e0-b8ef-8c2814e00f57:indexpattern-datasource-layer-be43b3a9-77eb-4997-b0a3-2c7bf9642d91", + "type": "index-pattern" + }, + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "e0bd8c6b-8b7a-44e0-b8ef-8c2814e00f57:deddd9f4-b68e-4e4a-bac6-030cbf077d0d", + "type": "index-pattern" + }, + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "1ab105d2-cd65-497f-9dec-eca0022b4dab:indexpattern-datasource-layer-be43b3a9-77eb-4997-b0a3-2c7bf9642d91", + "type": "index-pattern" + }, + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "1ab105d2-cd65-497f-9dec-eca0022b4dab:e162d9f3-10d5-403a-9800-0869a637ca55", + "type": "index-pattern" + }, + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "b9b235ec-c995-4e04-9c8d-4a1241ddcf3c:indexpattern-datasource-layer-be43b3a9-77eb-4997-b0a3-2c7bf9642d91", + "type": "index-pattern" + }, + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "b9b235ec-c995-4e04-9c8d-4a1241ddcf3c:4e115414-3b37-4d6a-a7d3-909dd2bbd10d", + "type": "index-pattern" + }, + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "f994304e-fef0-446b-991e-3fdad41e3d1e:indexpattern-datasource-layer-be43b3a9-77eb-4997-b0a3-2c7bf9642d91", + "type": "index-pattern" + }, + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "f994304e-fef0-446b-991e-3fdad41e3d1e:60326333-2197-489c-b92c-c43814bb2a07", + "type": "index-pattern" + } + ], + "type": "dashboard", + "typeMigrationVersion": "8.9.0" +} \ No newline at end of file diff --git a/packages/gigamon/kibana/dashboard/gigamon-46931a21-a33e-43af-aadf-da8d6446b9cc.json b/packages/gigamon/kibana/dashboard/gigamon-46931a21-a33e-43af-aadf-da8d6446b9cc.json new file mode 100644 index 00000000000..aacbd540220 --- /dev/null +++ b/packages/gigamon/kibana/dashboard/gigamon-46931a21-a33e-43af-aadf-da8d6446b9cc.json @@ -0,0 +1,1268 @@ +{ + "attributes": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": { + "filter": [], + "query": { + "language": "kuery", + "query": "" + } + } + }, + "optionsJSON": { + "hidePanelTitles": false, + "syncColors": false, + "syncCursor": true, + "syncTooltips": false, + "useMargins": true + }, + "panelsJSON": [ + { + "embeddableConfig": { + "description": "", + "enhancements": {}, + "hidePanelTitles": true, + "savedVis": { + "data": { + "aggs": [], + "searchSource": { + "filter": [], + "query": { + "language": "kuery", + "query": "" + } + } + }, + "description": "", + "id": "", + "params": { + "fontSize": 12, + "markdown": "**AMI Starter Pack**\n\n- [App Insights](#/dashboard/gigamon-855a64dc-1a72-403f-932b-a5b848378f7e)\n- Trouble shooting\n - [Troubleshooting Insights for Network traffic](#/dashboard/gigamon-e733c64e-6ea9-4dd6-a8ca-3914274598f3)\n - [Top Traffic Sources and Destinations](#/dashboard/gigamon-d6cecabb-f026-4823-914d-b4d61fd61787)\n- [Security Posture](#/dashboard/gigamon-4ae2cd9a-3eef-42c6-a02c-731ce74d94ac)\n- Identifier Analysis\n - [Homoglyph Detection](#/dashboard/gigamon-64ca15b3-8327-4940-8b35-0e75ab3a73c6)\n - [URL Analysis](#/dashboard/gigamon-8f772203-64e0-4d1b-bb0e-14fa57b4b754)\n- M21-31\n - [Web Traffic Details](#/dashboard/gigamon-d866be49-47b2-4306-a2be-d5cb6b6ab9c8)\n - [DNS Information](#/dashboard/gigamon-e192a946-8287-450a-a8f0-e23de9f95dae)\n- Rogue Activity\n - [Unsanctioned Peer to Peer Apps](#/dashboard/gigamon-3523b534-7525-44a7-808f-6a9f3235a67d)\n- [PCI Compliance](#/dashboard/gigamon-032aab7b-87b2-444c-8c86-956d092598fb)\n- Suspicious Activities\n - [Suspicious Connections](#/dashboard/gigamon-62291e9e-8b75-4f23-9121-79959da99b3b)\n - [**Unmanaged Endpoints**](#/dashboard/gigamon-46931a21-a33e-43af-aadf-da8d6446b9cc)", + "openLinksInNewTab": false + }, + "title": "", + "type": "markdown", + "uiState": {} + } + }, + "gridData": { + "h": 21, + "i": "c2f18da3-1a36-4cd6-b080-2358a8111d90", + "w": 24, + "x": 0, + "y": 0 + }, + "panelIndex": "c2f18da3-1a36-4cd6-b080-2358a8111d90", + "title": "", + "type": "visualization" + }, + { + "embeddableConfig": { + "attributes": { + "references": [ + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "indexpattern-datasource-layer-524869d1-5c3a-48d3-b70d-31c695576301", + "type": "index-pattern" + }, + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "2ac90361-4777-4349-b8e0-8d84b45a8b28", + "type": "index-pattern" + } + ], + "state": { + "adHocDataViews": {}, + "datasourceStates": { + "formBased": { + "layers": { + "524869d1-5c3a-48d3-b70d-31c695576301": { + "columnOrder": [ + "36edeac3-956b-425f-8add-2995317088dc" + ], + "columns": { + "36edeac3-956b-425f-8add-2995317088dc": { + "customLabel": true, + "dataType": "number", + "isBucketed": false, + "label": "Number of unmanaged host sessions", + "operationType": "count", + "params": { + "emptyAsNull": true + }, + "scale": "ratio", + "sourceField": "gigamon.ami.app_name" + } + }, + "ignoreGlobalFilters": false, + "incompleteColumns": {}, + "sampling": 1 + } + } + }, + "indexpattern": { + "layers": {} + }, + "textBased": { + "layers": {} + } + }, + "filters": [ + { + "$state": { + "store": "appState" + }, + "meta": { + "alias": null, + "disabled": false, + "field": "gigamon.ami.app_name", + "index": "2ac90361-4777-4349-b8e0-8d84b45a8b28", + "key": "gigamon.ami.app_name", + "negate": false, + "params": [ + "mqtt", + "coap", + "gvcp", + "opcua", + "llp", + "dicom" + ], + "type": "phrases", + "value": [ + "mqtt", + "coap", + "gvcp", + "opcua", + "llp", + "dicom" + ] + }, + "query": { + "bool": { + "minimum_should_match": 1, + "should": [ + { + "match_phrase": { + "gigamon.ami.app_name": "mqtt" + } + }, + { + "match_phrase": { + "gigamon.ami.app_name": "coap" + } + }, + { + "match_phrase": { + "gigamon.ami.app_name": "gvcp" + } + }, + { + "match_phrase": { + "gigamon.ami.app_name": "opcua" + } + }, + { + "match_phrase": { + "gigamon.ami.app_name": "llp" + } + }, + { + "match_phrase": { + "gigamon.ami.app_name": "dicom" + } + } + ] + } + } + } + ], + "internalReferences": [], + "query": { + "language": "kuery", + "query": "data_stream.dataset : \"gigamon.ami\" " + }, + "visualization": { + "accessor": "36edeac3-956b-425f-8add-2995317088dc", + "colorMode": "Background", + "layerId": "524869d1-5c3a-48d3-b70d-31c695576301", + "layerType": "data", + "palette": { + "name": "gray", + "params": { + "continuity": "above", + "maxSteps": 5, + "name": "gray", + "progression": "fixed", + "rangeMax": null, + "rangeMin": 0, + "rangeType": "number", + "reverse": false, + "steps": 3, + "stops": [ + { + "color": "#b0b7c4", + "stop": 0 + }, + { + "color": "#6e7481", + "stop": 3.33 + }, + { + "color": "#343741", + "stop": 6.66 + } + ] + }, + "type": "palette" + } + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsLegacyMetric" + }, + "enhancements": {}, + "hidePanelTitles": true + }, + "gridData": { + "h": 15, + "i": "7a2dc5c1-f5f2-487d-a6c8-e7ddc57f7328", + "w": 24, + "x": 24, + "y": 0 + }, + "panelIndex": "7a2dc5c1-f5f2-487d-a6c8-e7ddc57f7328", + "title": "", + "type": "lens" + }, + { + "embeddableConfig": { + "attributes": { + "references": [ + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "indexpattern-datasource-layer-5ce0cd74-fa7b-48d2-80aa-9aac35104287", + "type": "index-pattern" + }, + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "1e3c3df4-0e19-4c69-a467-d411710b5568", + "type": "index-pattern" + } + ], + "state": { + "adHocDataViews": {}, + "datasourceStates": { + "formBased": { + "layers": { + "5ce0cd74-fa7b-48d2-80aa-9aac35104287": { + "columnOrder": [ + "97180755-0fee-477f-8f7e-710eee6020cd", + "41aaf850-cc48-4b75-b489-9b8e5e4b23a1" + ], + "columns": { + "41aaf850-cc48-4b75-b489-9b8e5e4b23a1": { + "dataType": "number", + "isBucketed": false, + "label": "Count of gigamon.ami.app_name", + "operationType": "count", + "params": { + "emptyAsNull": true + }, + "scale": "ratio", + "sourceField": "gigamon.ami.app_name" + }, + "97180755-0fee-477f-8f7e-710eee6020cd": { + "dataType": "ip", + "isBucketed": true, + "label": "Top 15 values of gigamon.ami.dst_ip", + "operationType": "terms", + "params": { + "exclude": [], + "excludeIsRegex": false, + "include": [], + "includeIsRegex": false, + "missingBucket": false, + "orderBy": { + "columnId": "41aaf850-cc48-4b75-b489-9b8e5e4b23a1", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": false, + "parentFormat": { + "id": "terms" + }, + "size": 15 + }, + "scale": "ordinal", + "sourceField": "gigamon.ami.dst_ip" + } + }, + "ignoreGlobalFilters": false, + "incompleteColumns": {}, + "sampling": 1 + } + } + }, + "indexpattern": { + "layers": {} + }, + "textBased": { + "layers": {} + } + }, + "filters": [ + { + "$state": { + "store": "appState" + }, + "meta": { + "alias": null, + "disabled": false, + "field": "gigamon.ami.app_name", + "index": "1e3c3df4-0e19-4c69-a467-d411710b5568", + "key": "gigamon.ami.app_name", + "negate": false, + "params": [ + "mqtt", + "dicom", + "coap", + "gvcp", + "opcua", + "llp" + ], + "type": "phrases", + "value": [ + "mqtt", + "dicom", + "coap", + "gvcp", + "opcua", + "llp" + ] + }, + "query": { + "bool": { + "minimum_should_match": 1, + "should": [ + { + "match_phrase": { + "gigamon.ami.app_name": "mqtt" + } + }, + { + "match_phrase": { + "gigamon.ami.app_name": "dicom" + } + }, + { + "match_phrase": { + "gigamon.ami.app_name": "coap" + } + }, + { + "match_phrase": { + "gigamon.ami.app_name": "gvcp" + } + }, + { + "match_phrase": { + "gigamon.ami.app_name": "opcua" + } + }, + { + "match_phrase": { + "gigamon.ami.app_name": "llp" + } + } + ] + } + } + } + ], + "internalReferences": [], + "query": { + "language": "kuery", + "query": "data_stream.dataset : \"gigamon.ami\" " + }, + "visualization": { + "layers": [ + { + "categoryDisplay": "default", + "colorMapping": { + "assignments": [], + "colorMode": { + "sort": "desc", + "steps": [ + { + "colorIndex": 4, + "paletteId": "eui_amsterdam_color_blind", + "touched": true, + "type": "categorical" + } + ], + "type": "gradient" + }, + "paletteId": "eui_amsterdam_color_blind", + "specialAssignments": [ + { + "color": { + "type": "loop" + }, + "rule": { + "type": "other" + }, + "touched": false + } + ] + }, + "layerId": "5ce0cd74-fa7b-48d2-80aa-9aac35104287", + "layerType": "data", + "legendDisplay": "default", + "metrics": [ + "41aaf850-cc48-4b75-b489-9b8e5e4b23a1" + ], + "nestedLegend": false, + "numberDisplay": "percent", + "primaryGroups": [ + "97180755-0fee-477f-8f7e-710eee6020cd" + ] + } + ], + "shape": "pie" + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsPie" + }, + "enhancements": {} + }, + "gridData": { + "h": 15, + "i": "ced39111-0d23-411f-8228-f7d3ec1d6ce8", + "w": 24, + "x": 24, + "y": 15 + }, + "panelIndex": "ced39111-0d23-411f-8228-f7d3ec1d6ce8", + "title": "Top IoT Destinations[Gigamon AMI]", + "type": "lens" + }, + { + "embeddableConfig": { + "attributes": { + "references": [ + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "indexpattern-datasource-layer-382d6efb-9dae-4d62-9a7d-2084e6592e76", + "type": "index-pattern" + } + ], + "state": { + "adHocDataViews": {}, + "datasourceStates": { + "formBased": { + "layers": { + "382d6efb-9dae-4d62-9a7d-2084e6592e76": { + "columnOrder": [ + "b938f6fe-7531-4068-8b01-d72ed5bc522e", + "90eada77-c405-4610-b0f4-cfac77b165b3", + "7e1b796d-da94-4efe-b2cf-f6d23840bcbc" + ], + "columns": { + "7e1b796d-da94-4efe-b2cf-f6d23840bcbc": { + "dataType": "number", + "isBucketed": false, + "label": "Count of records", + "operationType": "count", + "params": { + "emptyAsNull": true + }, + "scale": "ratio", + "sourceField": "___records___" + }, + "90eada77-c405-4610-b0f4-cfac77b165b3": { + "dataType": "date", + "isBucketed": true, + "label": "@timestamp", + "operationType": "date_histogram", + "params": { + "dropPartials": false, + "includeEmptyRows": true, + "interval": "auto" + }, + "scale": "interval", + "sourceField": "@timestamp" + }, + "b938f6fe-7531-4068-8b01-d72ed5bc522e": { + "dataType": "string", + "isBucketed": true, + "label": "Top 25 values of gigamon.ami.app_name", + "operationType": "terms", + "params": { + "exclude": [], + "excludeIsRegex": false, + "include": [ + "mqtt", + "coap", + "gvcp", + "opcua", + "llp", + "dicom" + ], + "includeIsRegex": false, + "missingBucket": false, + "orderBy": { + "columnId": "7e1b796d-da94-4efe-b2cf-f6d23840bcbc", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": false, + "parentFormat": { + "id": "terms" + }, + "size": 25 + }, + "scale": "ordinal", + "sourceField": "gigamon.ami.app_name" + } + }, + "incompleteColumns": {}, + "sampling": 1 + } + } + }, + "indexpattern": { + "layers": {} + }, + "textBased": { + "layers": {} + } + }, + "filters": [], + "internalReferences": [], + "query": { + "language": "kuery", + "query": "data_stream.dataset : \"gigamon.ami\" " + }, + "visualization": { + "axisTitlesVisibilitySettings": { + "x": true, + "yLeft": true, + "yRight": true + }, + "fittingFunction": "None", + "gridlinesVisibilitySettings": { + "x": true, + "yLeft": true, + "yRight": true + }, + "labelsOrientation": { + "x": 0, + "yLeft": 0, + "yRight": 0 + }, + "layers": [ + { + "accessors": [ + "7e1b796d-da94-4efe-b2cf-f6d23840bcbc" + ], + "colorMapping": { + "assignments": [], + "colorMode": { + "sort": "desc", + "steps": [ + { + "colorIndex": 0, + "paletteId": "elastic_brand_2023", + "touched": false, + "type": "categorical" + }, + { + "colorIndex": 5, + "paletteId": "elastic_brand_2023", + "touched": true, + "type": "categorical" + } + ], + "type": "gradient" + }, + "paletteId": "elastic_brand_2023", + "specialAssignments": [ + { + "color": { + "type": "loop" + }, + "rule": { + "type": "other" + }, + "touched": false + } + ] + }, + "layerId": "382d6efb-9dae-4d62-9a7d-2084e6592e76", + "layerType": "data", + "position": "top", + "seriesType": "area_stacked", + "showGridlines": false, + "splitAccessor": "b938f6fe-7531-4068-8b01-d72ed5bc522e", + "xAccessor": "90eada77-c405-4610-b0f4-cfac77b165b3" + } + ], + "legend": { + "isVisible": true, + "position": "right" + }, + "preferredSeriesType": "area_stacked", + "tickLabelsVisibilitySettings": { + "x": true, + "yLeft": true, + "yRight": true + }, + "valueLabels": "hide" + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsXY" + }, + "enhancements": {} + }, + "gridData": { + "h": 15, + "i": "ef25137d-2ae5-4cec-9986-46b53cf890d7", + "w": 24, + "x": 0, + "y": 21 + }, + "panelIndex": "ef25137d-2ae5-4cec-9986-46b53cf890d7", + "title": "IOT Traffic Overview[Gigamon AMI]", + "type": "lens" + }, + { + "embeddableConfig": { + "attributes": { + "references": [ + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "indexpattern-datasource-layer-00809baf-def6-44f9-8ed0-071dd5fafdde", + "type": "index-pattern" + }, + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "22bb68a9-8f42-40f8-b4e5-11a20106f03d", + "type": "index-pattern" + } + ], + "state": { + "adHocDataViews": {}, + "datasourceStates": { + "formBased": { + "layers": { + "00809baf-def6-44f9-8ed0-071dd5fafdde": { + "columnOrder": [ + "5adf4c54-3f1b-40dc-858f-84b400b62cc9", + "52cb82b2-e3c6-4ada-9000-84f2a1e2d93f" + ], + "columns": { + "52cb82b2-e3c6-4ada-9000-84f2a1e2d93f": { + "dataType": "number", + "isBucketed": false, + "label": "Count of records", + "operationType": "count", + "params": { + "emptyAsNull": true + }, + "scale": "ratio", + "sourceField": "___records___" + }, + "5adf4c54-3f1b-40dc-858f-84b400b62cc9": { + "customLabel": true, + "dataType": "ip", + "isBucketed": true, + "label": "Client IP's", + "operationType": "terms", + "params": { + "exclude": [], + "excludeIsRegex": false, + "include": [], + "includeIsRegex": false, + "missingBucket": false, + "orderBy": { + "columnId": "52cb82b2-e3c6-4ada-9000-84f2a1e2d93f", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": false, + "parentFormat": { + "id": "terms" + }, + "size": 15 + }, + "scale": "ordinal", + "sourceField": "gigamon.ami.src_ip" + } + }, + "ignoreGlobalFilters": false, + "incompleteColumns": {}, + "sampling": 1 + } + } + }, + "indexpattern": { + "layers": {} + }, + "textBased": { + "layers": {} + } + }, + "filters": [ + { + "$state": { + "store": "appState" + }, + "meta": { + "alias": null, + "disabled": false, + "field": "gigamon.ami.app_name", + "index": "22bb68a9-8f42-40f8-b4e5-11a20106f03d", + "key": "gigamon.ami.app_name", + "negate": false, + "params": [ + "mqtt", + "dicom", + "llp", + "opcua", + "gvcp", + "coap" + ], + "type": "phrases", + "value": [ + "mqtt", + "dicom", + "llp", + "opcua", + "gvcp", + "coap" + ] + }, + "query": { + "bool": { + "minimum_should_match": 1, + "should": [ + { + "match_phrase": { + "gigamon.ami.app_name": "mqtt" + } + }, + { + "match_phrase": { + "gigamon.ami.app_name": "dicom" + } + }, + { + "match_phrase": { + "gigamon.ami.app_name": "llp" + } + }, + { + "match_phrase": { + "gigamon.ami.app_name": "opcua" + } + }, + { + "match_phrase": { + "gigamon.ami.app_name": "gvcp" + } + }, + { + "match_phrase": { + "gigamon.ami.app_name": "coap" + } + } + ] + } + } + } + ], + "internalReferences": [], + "query": { + "language": "kuery", + "query": "data_stream.dataset : \"gigamon.ami\" " + }, + "visualization": { + "columns": [ + { + "columnId": "5adf4c54-3f1b-40dc-858f-84b400b62cc9", + "isMetric": false, + "isTransposed": false + }, + { + "columnId": "52cb82b2-e3c6-4ada-9000-84f2a1e2d93f", + "isMetric": true, + "isTransposed": false + } + ], + "layerId": "00809baf-def6-44f9-8ed0-071dd5fafdde", + "layerType": "data" + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsDatatable" + }, + "enhancements": {} + }, + "gridData": { + "h": 15, + "i": "3eb9c4d5-3560-4d3b-81f4-ba3a12995869", + "w": 24, + "x": 24, + "y": 30 + }, + "panelIndex": "3eb9c4d5-3560-4d3b-81f4-ba3a12995869", + "title": "Top IoT Endpoints[Gigamon AMI]", + "type": "lens" + }, + { + "embeddableConfig": { + "attributes": { + "references": [ + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "indexpattern-datasource-layer-512ecd89-fcfa-4cae-942d-276720984eec", + "type": "index-pattern" + } + ], + "state": { + "adHocDataViews": {}, + "datasourceStates": { + "formBased": { + "currentIndexPatternId": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "layers": { + "512ecd89-fcfa-4cae-942d-276720984eec": { + "columnOrder": [ + "ce253064-2be9-479b-95e6-9cce3b0f39f9", + "f64da980-3f15-4ac6-a2bf-6ce66e130e00" + ], + "columns": { + "ce253064-2be9-479b-95e6-9cce3b0f39f9": { + "customLabel": true, + "dataType": "string", + "isBucketed": true, + "label": "List of IoT Protocols", + "operationType": "terms", + "params": { + "exclude": [], + "excludeIsRegex": false, + "include": [ + "mqtt", + "coap", + "gvcp", + "opcua", + "llp", + "dicom" + ], + "includeIsRegex": false, + "missingBucket": false, + "orderBy": { + "columnId": "f64da980-3f15-4ac6-a2bf-6ce66e130e00", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": false, + "parentFormat": { + "id": "terms" + }, + "size": 15 + }, + "scale": "ordinal", + "sourceField": "gigamon.ami.app_name" + }, + "f64da980-3f15-4ac6-a2bf-6ce66e130e00": { + "dataType": "number", + "isBucketed": false, + "label": "Count of records", + "operationType": "count", + "params": { + "emptyAsNull": true + }, + "scale": "ratio", + "sourceField": "___records___" + } + }, + "incompleteColumns": {}, + "indexPatternId": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "sampling": 1 + } + } + }, + "indexpattern": { + "layers": {} + }, + "textBased": { + "layers": {} + } + }, + "filters": [], + "internalReferences": [], + "query": { + "language": "kuery", + "query": "data_stream.dataset : \"gigamon.ami\" " + }, + "visualization": { + "layers": [ + { + "categoryDisplay": "default", + "colorMapping": { + "assignments": [], + "colorMode": { + "sort": "desc", + "steps": [ + { + "colorIndex": 2, + "paletteId": "neutral", + "touched": false, + "type": "categorical" + }, + { + "colorIndex": 2, + "paletteId": "eui_amsterdam_color_blind", + "touched": false, + "type": "categorical" + }, + { + "colorCode": "#7e21ea", + "touched": true, + "type": "colorCode" + } + ], + "type": "gradient" + }, + "paletteId": "eui_amsterdam_color_blind", + "specialAssignments": [ + { + "color": { + "type": "loop" + }, + "rule": { + "type": "other" + }, + "touched": false + } + ] + }, + "emptySizeRatio": 0.7, + "layerId": "512ecd89-fcfa-4cae-942d-276720984eec", + "layerType": "data", + "legendDisplay": "show", + "metrics": [ + "f64da980-3f15-4ac6-a2bf-6ce66e130e00" + ], + "nestedLegend": false, + "numberDisplay": "percent", + "primaryGroups": [ + "ce253064-2be9-479b-95e6-9cce3b0f39f9" + ] + } + ], + "shape": "donut" + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsPie" + }, + "enhancements": {} + }, + "gridData": { + "h": 15, + "i": "74bbfa9a-665c-47b6-9d44-28643901358e", + "w": 24, + "x": 0, + "y": 36 + }, + "panelIndex": "74bbfa9a-665c-47b6-9d44-28643901358e", + "title": "Applications[Gigamon AMI]", + "type": "lens" + }, + { + "embeddableConfig": { + "attributes": { + "references": [ + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "indexpattern-datasource-layer-c0e77b08-b6fd-4c45-88ed-0a361a6dff5f", + "type": "index-pattern" + }, + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "a2f2d7ad-6751-4277-bb47-475310feb936", + "type": "index-pattern" + } + ], + "state": { + "adHocDataViews": {}, + "datasourceStates": { + "formBased": { + "layers": { + "c0e77b08-b6fd-4c45-88ed-0a361a6dff5f": { + "columnOrder": [ + "d2366fbe-b6ed-43d1-9472-f9ffe669f8aa", + "f45a21e3-2a60-42be-ae6e-cf8c1374acf1" + ], + "columns": { + "d2366fbe-b6ed-43d1-9472-f9ffe669f8aa": { + "dataType": "ip", + "isBucketed": true, + "label": "Top 15 values of gigamon.ami.dst_ip", + "operationType": "terms", + "params": { + "exclude": [], + "excludeIsRegex": false, + "include": [], + "includeIsRegex": false, + "missingBucket": false, + "orderBy": { + "columnId": "f45a21e3-2a60-42be-ae6e-cf8c1374acf1", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": false, + "parentFormat": { + "id": "terms" + }, + "size": 15 + }, + "scale": "ordinal", + "sourceField": "gigamon.ami.dst_ip" + }, + "f45a21e3-2a60-42be-ae6e-cf8c1374acf1": { + "dataType": "number", + "isBucketed": false, + "label": "Count of gigamon.ami.app_name", + "operationType": "count", + "params": { + "emptyAsNull": true + }, + "scale": "ratio", + "sourceField": "gigamon.ami.app_name" + } + }, + "ignoreGlobalFilters": false, + "incompleteColumns": {}, + "sampling": 1 + } + } + }, + "indexpattern": { + "layers": {} + }, + "textBased": { + "layers": {} + } + }, + "filters": [ + { + "$state": { + "store": "appState" + }, + "meta": { + "alias": null, + "disabled": false, + "field": "gigamon.ami.app_name", + "index": "a2f2d7ad-6751-4277-bb47-475310feb936", + "key": "gigamon.ami.app_name", + "negate": false, + "params": [ + "mqtt", + "dicom", + "gvcp", + "coap", + "opcua", + "llp" + ], + "type": "phrases", + "value": [ + "mqtt", + "dicom", + "gvcp", + "coap", + "opcua", + "llp" + ] + }, + "query": { + "bool": { + "minimum_should_match": 1, + "should": [ + { + "match_phrase": { + "gigamon.ami.app_name": "mqtt" + } + }, + { + "match_phrase": { + "gigamon.ami.app_name": "dicom" + } + }, + { + "match_phrase": { + "gigamon.ami.app_name": "gvcp" + } + }, + { + "match_phrase": { + "gigamon.ami.app_name": "coap" + } + }, + { + "match_phrase": { + "gigamon.ami.app_name": "opcua" + } + }, + { + "match_phrase": { + "gigamon.ami.app_name": "llp" + } + } + ] + } + } + } + ], + "internalReferences": [], + "query": { + "language": "kuery", + "query": "data_stream.dataset : \"gigamon.ami\" " + }, + "visualization": { + "layers": [ + { + "categoryDisplay": "default", + "colorMapping": { + "assignments": [], + "colorMode": { + "sort": "desc", + "steps": [ + { + "colorIndex": 0, + "paletteId": "eui_amsterdam_color_blind", + "touched": false, + "type": "categorical" + } + ], + "type": "gradient" + }, + "paletteId": "eui_amsterdam_color_blind", + "specialAssignments": [ + { + "color": { + "type": "loop" + }, + "rule": { + "type": "other" + }, + "touched": false + } + ] + }, + "layerId": "c0e77b08-b6fd-4c45-88ed-0a361a6dff5f", + "layerType": "data", + "legendDisplay": "default", + "metrics": [ + "f45a21e3-2a60-42be-ae6e-cf8c1374acf1" + ], + "nestedLegend": false, + "numberDisplay": "percent", + "primaryGroups": [ + "d2366fbe-b6ed-43d1-9472-f9ffe669f8aa" + ] + } + ], + "shape": "pie" + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsPie" + }, + "enhancements": {} + }, + "gridData": { + "h": 15, + "i": "db06369d-6d2c-42a9-adb3-2fc812e5e947", + "w": 24, + "x": 0, + "y": 51 + }, + "panelIndex": "db06369d-6d2c-42a9-adb3-2fc812e5e947", + "title": "Top IoT Sources[Gigamon AMI]", + "type": "lens" + } + ], + "timeRestore": false, + "title": "[Logs Gigamon] Unmanaged Endpoints", + "version": 1 + }, + "coreMigrationVersion": "8.8.0", + "created_at": "2024-08-21T10:11:57.488Z", + "id": "gigamon-46931a21-a33e-43af-aadf-da8d6446b9cc", + "managed": false, + "references": [ + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "7a2dc5c1-f5f2-487d-a6c8-e7ddc57f7328:indexpattern-datasource-layer-524869d1-5c3a-48d3-b70d-31c695576301", + "type": "index-pattern" + }, + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "7a2dc5c1-f5f2-487d-a6c8-e7ddc57f7328:2ac90361-4777-4349-b8e0-8d84b45a8b28", + "type": "index-pattern" + }, + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "ced39111-0d23-411f-8228-f7d3ec1d6ce8:indexpattern-datasource-layer-5ce0cd74-fa7b-48d2-80aa-9aac35104287", + "type": "index-pattern" + }, + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "ced39111-0d23-411f-8228-f7d3ec1d6ce8:1e3c3df4-0e19-4c69-a467-d411710b5568", + "type": "index-pattern" + }, + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "ef25137d-2ae5-4cec-9986-46b53cf890d7:indexpattern-datasource-layer-382d6efb-9dae-4d62-9a7d-2084e6592e76", + "type": "index-pattern" + }, + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "3eb9c4d5-3560-4d3b-81f4-ba3a12995869:indexpattern-datasource-layer-00809baf-def6-44f9-8ed0-071dd5fafdde", + "type": "index-pattern" + }, + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "3eb9c4d5-3560-4d3b-81f4-ba3a12995869:22bb68a9-8f42-40f8-b4e5-11a20106f03d", + "type": "index-pattern" + }, + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "74bbfa9a-665c-47b6-9d44-28643901358e:indexpattern-datasource-layer-512ecd89-fcfa-4cae-942d-276720984eec", + "type": "index-pattern" + }, + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "db06369d-6d2c-42a9-adb3-2fc812e5e947:indexpattern-datasource-layer-c0e77b08-b6fd-4c45-88ed-0a361a6dff5f", + "type": "index-pattern" + }, + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "db06369d-6d2c-42a9-adb3-2fc812e5e947:a2f2d7ad-6751-4277-bb47-475310feb936", + "type": "index-pattern" + } + ], + "type": "dashboard", + "typeMigrationVersion": "8.9.0" +} \ No newline at end of file diff --git a/packages/gigamon/kibana/dashboard/gigamon-4ae2cd9a-3eef-42c6-a02c-731ce74d94ac.json b/packages/gigamon/kibana/dashboard/gigamon-4ae2cd9a-3eef-42c6-a02c-731ce74d94ac.json new file mode 100644 index 00000000000..7c68899f80f --- /dev/null +++ b/packages/gigamon/kibana/dashboard/gigamon-4ae2cd9a-3eef-42c6-a02c-731ce74d94ac.json @@ -0,0 +1,2050 @@ +{ + "attributes": { + "description": "SSL Cryptographic details", + "kibanaSavedObjectMeta": { + "searchSourceJSON": { + "filter": [], + "query": { + "language": "kuery", + "query": "" + } + } + }, + "optionsJSON": { + "hidePanelTitles": false, + "syncColors": false, + "syncCursor": true, + "syncTooltips": false, + "useMargins": true + }, + "panelsJSON": [ + { + "embeddableConfig": { + "description": "", + "enhancements": {}, + "hidePanelTitles": true, + "savedVis": { + "data": { + "aggs": [], + "searchSource": { + "filter": [], + "query": { + "language": "kuery", + "query": "" + } + } + }, + "description": "", + "id": "", + "params": { + "fontSize": 12, + "markdown": "**AMI Starter Pack**\n\n- [App Insights](#/dashboard/gigamon-855a64dc-1a72-403f-932b-a5b848378f7e)\n- Trouble shooting\n - [Troubleshooting Insights for Network traffic](#/dashboard/gigamon-e733c64e-6ea9-4dd6-a8ca-3914274598f3)\n - [Top Traffic Sources and Destinations](#/dashboard/gigamon-d6cecabb-f026-4823-914d-b4d61fd61787)\n- [**Security Posture**](#/dashboard/gigamon-4ae2cd9a-3eef-42c6-a02c-731ce74d94ac)\n- Identifier Analysis\n - [Homoglyph Detection](#/dashboard/gigamon-64ca15b3-8327-4940-8b35-0e75ab3a73c6)\n - [URL Analysis](#/dashboard/gigamon-8f772203-64e0-4d1b-bb0e-14fa57b4b754)\n- M21-31\n - [Web Traffic Details](#/dashboard/gigamon-d866be49-47b2-4306-a2be-d5cb6b6ab9c8)\n - [DNS Information](#/dashboard/gigamon-e192a946-8287-450a-a8f0-e23de9f95dae)\n- Rogue Activity\n - [Unsanctioned Peer to Peer Apps](#/dashboard/gigamon-3523b534-7525-44a7-808f-6a9f3235a67d)\n- [PCI Compliance](#/dashboard/gigamon-032aab7b-87b2-444c-8c86-956d092598fb)\n- Suspicious Activities\n - [Suspicious Connections](#/dashboard/gigamon-62291e9e-8b75-4f23-9121-79959da99b3b)\n - [Unmanaged Endpoints](#/dashboard/gigamon-46931a21-a33e-43af-aadf-da8d6446b9cc)", + "openLinksInNewTab": false + }, + "title": "", + "type": "markdown", + "uiState": {} + } + }, + "gridData": { + "h": 21, + "i": "73e0c738-d6e9-4140-a1dc-77bf224642bd", + "w": 24, + "x": 0, + "y": 0 + }, + "panelIndex": "73e0c738-d6e9-4140-a1dc-77bf224642bd", + "title": "", + "type": "visualization" + }, + { + "embeddableConfig": { + "description": "", + "enhancements": {}, + "hidePanelTitles": true, + "savedVis": { + "data": { + "aggs": [], + "searchSource": { + "filter": [], + "query": { + "language": "kuery", + "query": "" + } + } + }, + "description": "", + "id": "", + "params": { + "fontSize": 12, + "markdown": "Many applications compress data before it is encrypted, which, in some cases, may compromise the confidentiality of the transmitted data", + "openLinksInNewTab": false + }, + "title": "", + "type": "markdown", + "uiState": {} + } + }, + "gridData": { + "h": 5, + "i": "b1134c27-f71d-4fcc-8c8e-d5a2f59259a0", + "w": 24, + "x": 24, + "y": 0 + }, + "panelIndex": "b1134c27-f71d-4fcc-8c8e-d5a2f59259a0", + "title": "", + "type": "visualization" + }, + { + "embeddableConfig": { + "attributes": { + "references": [ + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "indexpattern-datasource-layer-f8370edf-a33f-4b5f-a5e0-f91226bd7ee4", + "type": "index-pattern" + } + ], + "state": { + "adHocDataViews": {}, + "datasourceStates": { + "formBased": { + "layers": { + "f8370edf-a33f-4b5f-a5e0-f91226bd7ee4": { + "columnOrder": [ + "50373ef9-0c0b-41e6-8725-ba32cbefb3a7", + "ad83ad45-30c7-415a-9792-3ce72354c53d" + ], + "columns": { + "50373ef9-0c0b-41e6-8725-ba32cbefb3a7": { + "customLabel": true, + "dataType": "string", + "isBucketed": true, + "label": "Compression encoding", + "operationType": "terms", + "params": { + "exclude": [], + "excludeIsRegex": false, + "include": [], + "includeIsRegex": false, + "missingBucket": false, + "orderBy": { + "columnId": "ad83ad45-30c7-415a-9792-3ce72354c53d", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": false, + "parentFormat": { + "id": "terms" + }, + "size": 25 + }, + "scale": "ordinal", + "sourceField": "gigamon.ami.http_content_encoding" + }, + "ad83ad45-30c7-415a-9792-3ce72354c53d": { + "dataType": "number", + "isBucketed": false, + "label": "Count of records", + "operationType": "count", + "params": { + "emptyAsNull": true + }, + "scale": "ratio", + "sourceField": "___records___" + } + }, + "incompleteColumns": {}, + "sampling": 1 + } + } + }, + "indexpattern": { + "layers": {} + }, + "textBased": { + "layers": {} + } + }, + "filters": [], + "internalReferences": [], + "query": { + "language": "kuery", + "query": "data_stream.dataset : \"gigamon.ami\" " + }, + "visualization": { + "axisTitlesVisibilitySettings": { + "x": true, + "yLeft": true, + "yRight": true + }, + "fittingFunction": "None", + "gridlinesVisibilitySettings": { + "x": true, + "yLeft": true, + "yRight": true + }, + "labelsOrientation": { + "x": 0, + "yLeft": 0, + "yRight": 0 + }, + "layers": [ + { + "accessors": [ + "ad83ad45-30c7-415a-9792-3ce72354c53d" + ], + "colorMapping": { + "assignments": [], + "colorMode": { + "type": "categorical" + }, + "paletteId": "eui_amsterdam_color_blind", + "specialAssignments": [ + { + "color": { + "type": "loop" + }, + "rule": { + "type": "other" + }, + "touched": false + } + ] + }, + "layerId": "f8370edf-a33f-4b5f-a5e0-f91226bd7ee4", + "layerType": "data", + "position": "top", + "seriesType": "bar_horizontal", + "showGridlines": false, + "xAccessor": "50373ef9-0c0b-41e6-8725-ba32cbefb3a7", + "yConfig": [ + { + "color": "#bc2a91", + "forAccessor": "ad83ad45-30c7-415a-9792-3ce72354c53d" + } + ] + } + ], + "legend": { + "isVisible": true, + "position": "right" + }, + "preferredSeriesType": "bar_horizontal", + "tickLabelsVisibilitySettings": { + "x": true, + "yLeft": true, + "yRight": true + }, + "valueLabels": "hide" + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsXY" + }, + "enhancements": {} + }, + "gridData": { + "h": 15, + "i": "2ec46ecc-8727-4ada-a9cc-791128084fc7", + "w": 24, + "x": 24, + "y": 5 + }, + "panelIndex": "2ec46ecc-8727-4ada-a9cc-791128084fc7", + "title": "Compression Algorithms detected[Gigamon AMI]", + "type": "lens" + }, + { + "embeddableConfig": { + "attributes": { + "references": [ + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "indexpattern-datasource-layer-1a855e99-fd47-4ba6-a92a-56f7fbc4955f", + "type": "index-pattern" + } + ], + "state": { + "adHocDataViews": {}, + "datasourceStates": { + "formBased": { + "currentIndexPatternId": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "layers": { + "1a855e99-fd47-4ba6-a92a-56f7fbc4955f": { + "columnOrder": [ + "ac8318a5-c0ef-4e03-ad32-a2789b00f432", + "85125864-cfd2-40d4-a2af-e545dbce14af" + ], + "columns": { + "85125864-cfd2-40d4-a2af-e545dbce14af": { + "dataType": "number", + "isBucketed": false, + "label": "Count of records", + "operationType": "count", + "params": { + "emptyAsNull": false + }, + "scale": "ratio", + "sourceField": "___records___" + }, + "ac8318a5-c0ef-4e03-ad32-a2789b00f432": { + "dataType": "string", + "isBucketed": true, + "label": "Top 25 values of gigamon.ami.ssl_cipher_suite_id_value", + "operationType": "terms", + "params": { + "exclude": [], + "excludeIsRegex": false, + "include": [], + "includeIsRegex": false, + "missingBucket": false, + "orderBy": { + "columnId": "85125864-cfd2-40d4-a2af-e545dbce14af", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": false, + "parentFormat": { + "id": "terms" + }, + "size": 25 + }, + "scale": "ordinal", + "sourceField": "gigamon.ami.ssl_cipher_suite_id_value" + } + }, + "incompleteColumns": {}, + "indexPatternId": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "sampling": 1 + } + } + }, + "indexpattern": { + "layers": {} + }, + "textBased": { + "layers": {} + } + }, + "filters": [ + { + "$state": { + "store": "appState" + }, + "meta": { + "alias": null, + "disabled": false, + "field": "gigamon.ami.ssl_cipher_suite_id", + "index": "c6d81efe-bb04-40e1-ba15-3007b73260f6", + "key": "gigamon.ami.ssl_cipher_suite_id", + "negate": false, + "params": [ + "47", + "50", + "51", + "52", + "53", + "56", + "57", + "58", + "65", + "68", + "69", + "70", + "108", + "109", + "132", + "135", + "136", + "137", + "138", + "139", + "140", + "141", + "150", + "153", + "154", + "155", + "166", + "167", + "49153", + "49154", + "49155", + "49156", + "49157", + "49158", + "49159", + "49160", + "49161", + "49162", + "49163", + "49164", + "49165", + "49166", + "49167", + "49168", + "49169", + "49170", + "49171", + "49172", + "49173", + "49174", + "49175", + "49176", + "49177", + "49178", + "49179", + "49180", + "49181", + "49182", + "49183", + "49184", + "49185", + "49186" + ], + "type": "phrases", + "value": [ + "47", + "50", + "51", + "52", + "53", + "56", + "57", + "58", + "65", + "68", + "69", + "70", + "108", + "109", + "132", + "135", + "136", + "137", + "138", + "139", + "140", + "141", + "150", + "153", + "154", + "155", + "166", + "167", + "49153", + "49154", + "49155", + "49156", + "49157", + "49158", + "49159", + "49160", + "49161", + "49162", + "49163", + "49164", + "49165", + "49166", + "49167", + "49168", + "49169", + "49170", + "49171", + "49172", + "49173", + "49174", + "49175", + "49176", + "49177", + "49178", + "49179", + "49180", + "49181", + "49182", + "49183", + "49184", + "49185", + "49186" + ] + }, + "query": { + "bool": { + "minimum_should_match": 1, + "should": [ + { + "match_phrase": { + "gigamon.ami.ssl_cipher_suite_id": "47" + } + }, + { + "match_phrase": { + "gigamon.ami.ssl_cipher_suite_id": "50" + } + }, + { + "match_phrase": { + "gigamon.ami.ssl_cipher_suite_id": "51" + } + }, + { + "match_phrase": { + "gigamon.ami.ssl_cipher_suite_id": "52" + } + }, + { + "match_phrase": { + "gigamon.ami.ssl_cipher_suite_id": "53" + } + }, + { + "match_phrase": { + "gigamon.ami.ssl_cipher_suite_id": "56" + } + }, + { + "match_phrase": { + "gigamon.ami.ssl_cipher_suite_id": "57" + } + }, + { + "match_phrase": { + "gigamon.ami.ssl_cipher_suite_id": "58" + } + }, + { + "match_phrase": { + "gigamon.ami.ssl_cipher_suite_id": "65" + } + }, + { + "match_phrase": { + "gigamon.ami.ssl_cipher_suite_id": "68" + } + }, + { + "match_phrase": { + "gigamon.ami.ssl_cipher_suite_id": "69" + } + }, + { + "match_phrase": { + "gigamon.ami.ssl_cipher_suite_id": "70" + } + }, + { + "match_phrase": { + "gigamon.ami.ssl_cipher_suite_id": "108" + } + }, + { + "match_phrase": { + "gigamon.ami.ssl_cipher_suite_id": "109" + } + }, + { + "match_phrase": { + "gigamon.ami.ssl_cipher_suite_id": "132" + } + }, + { + "match_phrase": { + "gigamon.ami.ssl_cipher_suite_id": "135" + } + }, + { + "match_phrase": { + "gigamon.ami.ssl_cipher_suite_id": "136" + } + }, + { + "match_phrase": { + "gigamon.ami.ssl_cipher_suite_id": "137" + } + }, + { + "match_phrase": { + "gigamon.ami.ssl_cipher_suite_id": "138" + } + }, + { + "match_phrase": { + "gigamon.ami.ssl_cipher_suite_id": "139" + } + }, + { + "match_phrase": { + "gigamon.ami.ssl_cipher_suite_id": "140" + } + }, + { + "match_phrase": { + "gigamon.ami.ssl_cipher_suite_id": "141" + } + }, + { + "match_phrase": { + "gigamon.ami.ssl_cipher_suite_id": "150" + } + }, + { + "match_phrase": { + "gigamon.ami.ssl_cipher_suite_id": "153" + } + }, + { + "match_phrase": { + "gigamon.ami.ssl_cipher_suite_id": "154" + } + }, + { + "match_phrase": { + "gigamon.ami.ssl_cipher_suite_id": "155" + } + }, + { + "match_phrase": { + "gigamon.ami.ssl_cipher_suite_id": "166" + } + }, + { + "match_phrase": { + "gigamon.ami.ssl_cipher_suite_id": "167" + } + }, + { + "match_phrase": { + "gigamon.ami.ssl_cipher_suite_id": "49153" + } + }, + { + "match_phrase": { + "gigamon.ami.ssl_cipher_suite_id": "49154" + } + }, + { + "match_phrase": { + "gigamon.ami.ssl_cipher_suite_id": "49155" + } + }, + { + "match_phrase": { + "gigamon.ami.ssl_cipher_suite_id": "49156" + } + }, + { + "match_phrase": { + "gigamon.ami.ssl_cipher_suite_id": "49157" + } + }, + { + "match_phrase": { + "gigamon.ami.ssl_cipher_suite_id": "49158" + } + }, + { + "match_phrase": { + "gigamon.ami.ssl_cipher_suite_id": "49159" + } + }, + { + "match_phrase": { + "gigamon.ami.ssl_cipher_suite_id": "49160" + } + }, + { + "match_phrase": { + "gigamon.ami.ssl_cipher_suite_id": "49161" + } + }, + { + "match_phrase": { + "gigamon.ami.ssl_cipher_suite_id": "49162" + } + }, + { + "match_phrase": { + "gigamon.ami.ssl_cipher_suite_id": "49163" + } + }, + { + "match_phrase": { + "gigamon.ami.ssl_cipher_suite_id": "49164" + } + }, + { + "match_phrase": { + "gigamon.ami.ssl_cipher_suite_id": "49165" + } + }, + { + "match_phrase": { + "gigamon.ami.ssl_cipher_suite_id": "49166" + } + }, + { + "match_phrase": { + "gigamon.ami.ssl_cipher_suite_id": "49167" + } + }, + { + "match_phrase": { + "gigamon.ami.ssl_cipher_suite_id": "49168" + } + }, + { + "match_phrase": { + "gigamon.ami.ssl_cipher_suite_id": "49169" + } + }, + { + "match_phrase": { + "gigamon.ami.ssl_cipher_suite_id": "49170" + } + }, + { + "match_phrase": { + "gigamon.ami.ssl_cipher_suite_id": "49171" + } + }, + { + "match_phrase": { + "gigamon.ami.ssl_cipher_suite_id": "49172" + } + }, + { + "match_phrase": { + "gigamon.ami.ssl_cipher_suite_id": "49173" + } + }, + { + "match_phrase": { + "gigamon.ami.ssl_cipher_suite_id": "49174" + } + }, + { + "match_phrase": { + "gigamon.ami.ssl_cipher_suite_id": "49175" + } + }, + { + "match_phrase": { + "gigamon.ami.ssl_cipher_suite_id": "49176" + } + }, + { + "match_phrase": { + "gigamon.ami.ssl_cipher_suite_id": "49177" + } + }, + { + "match_phrase": { + "gigamon.ami.ssl_cipher_suite_id": "49178" + } + }, + { + "match_phrase": { + "gigamon.ami.ssl_cipher_suite_id": "49179" + } + }, + { + "match_phrase": { + "gigamon.ami.ssl_cipher_suite_id": "49180" + } + }, + { + "match_phrase": { + "gigamon.ami.ssl_cipher_suite_id": "49181" + } + }, + { + "match_phrase": { + "gigamon.ami.ssl_cipher_suite_id": "49182" + } + }, + { + "match_phrase": { + "gigamon.ami.ssl_cipher_suite_id": "49183" + } + }, + { + "match_phrase": { + "gigamon.ami.ssl_cipher_suite_id": "49184" + } + }, + { + "match_phrase": { + "gigamon.ami.ssl_cipher_suite_id": "49185" + } + }, + { + "match_phrase": { + "gigamon.ami.ssl_cipher_suite_id": "49186" + } + } + ] + } + } + } + ], + "internalReferences": [], + "query": { + "language": "kuery", + "query": "data_stream.dataset : \"gigamon.ami\" \n\n" + }, + "visualization": { + "layers": [ + { + "categoryDisplay": "default", + "colorMapping": { + "assignments": [], + "colorMode": { + "sort": "desc", + "steps": [ + { + "colorIndex": 6, + "paletteId": "eui_amsterdam_color_blind", + "touched": false, + "type": "categorical" + }, + { + "colorCode": "#cc4370", + "touched": true, + "type": "colorCode" + }, + { + "colorCode": "#114575", + "touched": false, + "type": "colorCode" + } + ], + "type": "gradient" + }, + "paletteId": "eui_amsterdam_color_blind", + "specialAssignments": [ + { + "color": { + "type": "loop" + }, + "rule": { + "type": "other" + }, + "touched": false + } + ] + }, + "layerId": "1a855e99-fd47-4ba6-a92a-56f7fbc4955f", + "layerType": "data", + "legendDisplay": "default", + "metrics": [ + "85125864-cfd2-40d4-a2af-e545dbce14af" + ], + "nestedLegend": false, + "numberDisplay": "percent", + "primaryGroups": [ + "ac8318a5-c0ef-4e03-ad32-a2789b00f432" + ] + } + ], + "shape": "donut" + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsPie" + }, + "description": "Old or weak cryptographic algorithms or protocols used", + "enhancements": {} + }, + "gridData": { + "h": 15, + "i": "7ee54803-53b7-4030-ac5a-4e6bb7f8d488", + "w": 24, + "x": 0, + "y": 21 + }, + "panelIndex": "7ee54803-53b7-4030-ac5a-4e6bb7f8d488", + "title": "Weak Ciphers[Gigamon AMI]", + "type": "lens" + }, + { + "embeddableConfig": { + "attributes": { + "description": "Lookout for deprecated Hash functions such as MD5 and SHA1\n", + "references": [ + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "indexpattern-datasource-layer-a59e668a-9b41-4e4f-a213-d849adcc37e1", + "type": "index-pattern" + } + ], + "state": { + "adHocDataViews": {}, + "datasourceStates": { + "formBased": { + "layers": { + "a59e668a-9b41-4e4f-a213-d849adcc37e1": { + "columnOrder": [ + "7ba20cfc-9fef-45de-b70d-91a2ca6a8d3f", + "f509fb07-2441-4564-b0cc-fce14484d9a0" + ], + "columns": { + "7ba20cfc-9fef-45de-b70d-91a2ca6a8d3f": { + "dataType": "string", + "isBucketed": true, + "label": "Top 15 values of gigamon.ami.ssl_ext_sig_algorithm_hash_value", + "operationType": "terms", + "params": { + "exclude": [], + "excludeIsRegex": false, + "include": [], + "includeIsRegex": false, + "missingBucket": false, + "orderBy": { + "columnId": "f509fb07-2441-4564-b0cc-fce14484d9a0", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": false, + "parentFormat": { + "id": "terms" + }, + "size": 15 + }, + "scale": "ordinal", + "sourceField": "gigamon.ami.ssl_ext_sig_algorithm_hash_value" + }, + "f509fb07-2441-4564-b0cc-fce14484d9a0": { + "dataType": "number", + "isBucketed": false, + "label": "Count of records", + "operationType": "count", + "params": { + "emptyAsNull": true + }, + "scale": "ratio", + "sourceField": "___records___" + } + }, + "incompleteColumns": {}, + "sampling": 1 + } + } + }, + "indexpattern": { + "layers": {} + }, + "textBased": { + "layers": {} + } + }, + "filters": [], + "internalReferences": [], + "query": { + "language": "kuery", + "query": "data_stream.dataset : \"gigamon.ami\" \n\n" + }, + "visualization": { + "layers": [ + { + "categoryDisplay": "default", + "colorMapping": { + "assignments": [], + "colorMode": { + "type": "categorical" + }, + "paletteId": "elastic_brand_2023", + "specialAssignments": [ + { + "color": { + "type": "loop" + }, + "rule": { + "type": "other" + }, + "touched": false + } + ] + }, + "layerId": "a59e668a-9b41-4e4f-a213-d849adcc37e1", + "layerType": "data", + "legendDisplay": "default", + "metrics": [ + "f509fb07-2441-4564-b0cc-fce14484d9a0" + ], + "nestedLegend": false, + "numberDisplay": "percent", + "primaryGroups": [ + "7ba20cfc-9fef-45de-b70d-91a2ca6a8d3f" + ] + } + ], + "shape": "pie" + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsPie" + }, + "description": "Lookout for deprecated Hash functions such as MD5 and SHA1\n", + "enhancements": {} + }, + "gridData": { + "h": 15, + "i": "4ecbea12-8c6b-4628-af7e-561eb34a8580", + "w": 24, + "x": 24, + "y": 20 + }, + "panelIndex": "4ecbea12-8c6b-4628-af7e-561eb34a8580", + "title": "Cryptographic Hash[Gigamon AMI]", + "type": "lens" + }, + { + "embeddableConfig": { + "description": "", + "enhancements": {}, + "hidePanelTitles": true, + "savedVis": { + "data": { + "aggs": [], + "searchSource": { + "filter": [], + "query": { + "language": "kuery", + "query": "" + } + } + }, + "description": "", + "id": "", + "params": { + "fontSize": 12, + "markdown": "Older versions like SSLv2, SSLv3 or TLS1.0 should not be used", + "openLinksInNewTab": false + }, + "title": "", + "type": "markdown", + "uiState": {} + } + }, + "gridData": { + "h": 4, + "i": "11490e4c-03df-44dd-949e-035696609710", + "w": 24, + "x": 0, + "y": 36 + }, + "panelIndex": "11490e4c-03df-44dd-949e-035696609710", + "title": "", + "type": "visualization" + }, + { + "embeddableConfig": { + "attributes": { + "references": [ + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "indexpattern-datasource-layer-ca329fec-55d4-4114-8e6c-66fac6103bd6", + "type": "index-pattern" + } + ], + "state": { + "adHocDataViews": {}, + "datasourceStates": { + "formBased": { + "layers": { + "ca329fec-55d4-4114-8e6c-66fac6103bd6": { + "columnOrder": [ + "29560e3d-2c6a-4082-b3fe-6d04dce0a004", + "7a76c915-13af-4f43-8836-bf33034dc66b" + ], + "columns": { + "29560e3d-2c6a-4082-b3fe-6d04dce0a004": { + "dataType": "string", + "isBucketed": true, + "label": "Top 20 values of gigamon.ami.ssl_ext_sig_algorithm_scheme_value", + "operationType": "terms", + "params": { + "exclude": [], + "excludeIsRegex": false, + "include": [], + "includeIsRegex": false, + "missingBucket": false, + "orderBy": { + "columnId": "7a76c915-13af-4f43-8836-bf33034dc66b", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": false, + "parentFormat": { + "id": "terms" + }, + "size": 20 + }, + "scale": "ordinal", + "sourceField": "gigamon.ami.ssl_ext_sig_algorithm_scheme_value" + }, + "7a76c915-13af-4f43-8836-bf33034dc66b": { + "dataType": "number", + "isBucketed": false, + "label": "Count of records", + "operationType": "count", + "params": { + "emptyAsNull": true + }, + "scale": "ratio", + "sourceField": "___records___" + } + }, + "incompleteColumns": {}, + "sampling": 1 + } + } + }, + "indexpattern": { + "layers": {} + }, + "textBased": { + "layers": {} + } + }, + "filters": [], + "internalReferences": [], + "query": { + "language": "kuery", + "query": "data_stream.dataset : \"gigamon.ami\" " + }, + "visualization": { + "axisTitlesVisibilitySettings": { + "x": true, + "yLeft": true, + "yRight": true + }, + "fittingFunction": "None", + "gridlinesVisibilitySettings": { + "x": true, + "yLeft": true, + "yRight": true + }, + "labelsOrientation": { + "x": 0, + "yLeft": 0, + "yRight": 0 + }, + "layers": [ + { + "accessors": [ + "7a76c915-13af-4f43-8836-bf33034dc66b" + ], + "colorMapping": { + "assignments": [], + "colorMode": { + "type": "categorical" + }, + "paletteId": "eui_amsterdam_color_blind", + "specialAssignments": [ + { + "color": { + "type": "loop" + }, + "rule": { + "type": "other" + }, + "touched": false + } + ] + }, + "layerId": "ca329fec-55d4-4114-8e6c-66fac6103bd6", + "layerType": "data", + "position": "top", + "seriesType": "bar_stacked", + "showGridlines": false, + "xAccessor": "29560e3d-2c6a-4082-b3fe-6d04dce0a004", + "yConfig": [ + { + "color": "#5ba8ee", + "forAccessor": "7a76c915-13af-4f43-8836-bf33034dc66b" + } + ] + } + ], + "legend": { + "isVisible": true, + "position": "right" + }, + "preferredSeriesType": "bar_stacked", + "tickLabelsVisibilitySettings": { + "x": true, + "yLeft": true, + "yRight": true + }, + "valueLabels": "hide" + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsXY" + }, + "description": "Signature scheme, aka hash, signature", + "enhancements": {} + }, + "gridData": { + "h": 15, + "i": "4edbfb96-b1de-4a66-804b-e0dda725f53c", + "w": 24, + "x": 24, + "y": 35 + }, + "panelIndex": "4edbfb96-b1de-4a66-804b-e0dda725f53c", + "title": "Signature_Algorithm[Gigamon AMI]", + "type": "lens" + }, + { + "embeddableConfig": { + "attributes": { + "references": [ + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "indexpattern-datasource-layer-1a6b0337-abdf-4190-a6f0-01eb8bf27602", + "type": "index-pattern" + } + ], + "state": { + "adHocDataViews": {}, + "datasourceStates": { + "formBased": { + "layers": { + "1a6b0337-abdf-4190-a6f0-01eb8bf27602": { + "columnOrder": [ + "12782a08-fba7-483a-9a2e-52db88c4a84f", + "29a9eedb-41b8-434b-ac4c-390c9129c2e3" + ], + "columns": { + "12782a08-fba7-483a-9a2e-52db88c4a84f": { + "dataType": "string", + "isBucketed": true, + "label": "Top 25 values of gigamon.ami.ssl_protocol_version_value", + "operationType": "terms", + "params": { + "exclude": [], + "excludeIsRegex": false, + "include": [], + "includeIsRegex": false, + "missingBucket": false, + "orderBy": { + "columnId": "29a9eedb-41b8-434b-ac4c-390c9129c2e3", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": false, + "parentFormat": { + "id": "terms" + }, + "size": 25 + }, + "scale": "ordinal", + "sourceField": "gigamon.ami.ssl_protocol_version_value" + }, + "29a9eedb-41b8-434b-ac4c-390c9129c2e3": { + "dataType": "number", + "isBucketed": false, + "label": "Count of records", + "operationType": "count", + "params": { + "emptyAsNull": true + }, + "scale": "ratio", + "sourceField": "___records___" + } + }, + "incompleteColumns": {}, + "sampling": 1 + } + } + }, + "indexpattern": { + "layers": {} + }, + "textBased": { + "layers": {} + } + }, + "filters": [], + "internalReferences": [], + "query": { + "language": "kuery", + "query": "data_stream.dataset : \"gigamon.ami\" " + }, + "visualization": { + "layers": [ + { + "categoryDisplay": "default", + "colorMapping": { + "assignments": [], + "colorMode": { + "sort": "desc", + "steps": [ + { + "colorIndex": 5, + "paletteId": "eui_amsterdam_color_blind", + "touched": true, + "type": "categorical" + } + ], + "type": "gradient" + }, + "paletteId": "eui_amsterdam_color_blind", + "specialAssignments": [ + { + "color": { + "type": "loop" + }, + "rule": { + "type": "other" + }, + "touched": false + } + ] + }, + "layerId": "1a6b0337-abdf-4190-a6f0-01eb8bf27602", + "layerType": "data", + "legendDisplay": "default", + "metrics": [ + "29a9eedb-41b8-434b-ac4c-390c9129c2e3" + ], + "nestedLegend": false, + "numberDisplay": "percent", + "primaryGroups": [ + "12782a08-fba7-483a-9a2e-52db88c4a84f" + ] + } + ], + "shape": "pie" + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsPie" + }, + "enhancements": {} + }, + "gridData": { + "h": 15, + "i": "d930ab89-a6d5-48ef-b925-e994aebe8793", + "w": 24, + "x": 0, + "y": 40 + }, + "panelIndex": "d930ab89-a6d5-48ef-b925-e994aebe8793", + "title": "TLS Versions seen in the network[Gigamon AMI]", + "type": "lens" + }, + { + "embeddableConfig": { + "description": "", + "enhancements": {}, + "hidePanelTitles": true, + "savedVis": { + "data": { + "aggs": [], + "searchSource": { + "filter": [], + "query": { + "language": "kuery", + "query": "" + } + } + }, + "description": "", + "id": "", + "params": { + "fontSize": 12, + "markdown": "Key exchange protocols that provide forward secrecy do not include RSA.", + "openLinksInNewTab": false + }, + "title": "", + "type": "markdown", + "uiState": {} + } + }, + "gridData": { + "h": 3, + "i": "01332205-332f-487f-9799-261334bddd4c", + "w": 24, + "x": 24, + "y": 50 + }, + "panelIndex": "01332205-332f-487f-9799-261334bddd4c", + "title": "", + "type": "visualization" + }, + { + "embeddableConfig": { + "attributes": { + "references": [ + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "indexpattern-datasource-layer-7bc2981e-b536-4695-978a-4204ad71b136", + "type": "index-pattern" + } + ], + "state": { + "adHocDataViews": {}, + "datasourceStates": { + "formBased": { + "layers": { + "7bc2981e-b536-4695-978a-4204ad71b136": { + "columnOrder": [ + "d5caa97d-0c74-4213-b25c-66b71b8d5e6a", + "3f7bb19f-c905-4fc0-aa93-a6ecf2ccabe7" + ], + "columns": { + "3f7bb19f-c905-4fc0-aa93-a6ecf2ccabe7": { + "dataType": "number", + "isBucketed": false, + "label": "Count of records", + "operationType": "count", + "params": { + "emptyAsNull": true + }, + "scale": "ratio", + "sourceField": "___records___" + }, + "d5caa97d-0c74-4213-b25c-66b71b8d5e6a": { + "dataType": "string", + "isBucketed": true, + "label": "Top 15 values of gigamon.ami.ssl_ext_sig_algorithm_sig", + "operationType": "terms", + "params": { + "exclude": [], + "excludeIsRegex": false, + "include": [], + "includeIsRegex": false, + "missingBucket": false, + "orderBy": { + "columnId": "3f7bb19f-c905-4fc0-aa93-a6ecf2ccabe7", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": false, + "parentFormat": { + "id": "terms" + }, + "size": 15 + }, + "scale": "ordinal", + "sourceField": "gigamon.ami.ssl_ext_sig_algorithm_sig" + } + }, + "incompleteColumns": {}, + "sampling": 1 + } + } + }, + "indexpattern": { + "layers": {} + }, + "textBased": { + "layers": {} + } + }, + "filters": [], + "internalReferences": [], + "query": { + "language": "kuery", + "query": "data_stream.dataset : \"gigamon.ami\" " + }, + "visualization": { + "axisTitlesVisibilitySettings": { + "x": true, + "yLeft": true, + "yRight": true + }, + "fittingFunction": "None", + "gridlinesVisibilitySettings": { + "x": true, + "yLeft": true, + "yRight": true + }, + "labelsOrientation": { + "x": 0, + "yLeft": 0, + "yRight": 0 + }, + "layers": [ + { + "accessors": [ + "3f7bb19f-c905-4fc0-aa93-a6ecf2ccabe7" + ], + "colorMapping": { + "assignments": [], + "colorMode": { + "type": "categorical" + }, + "paletteId": "eui_amsterdam_color_blind", + "specialAssignments": [ + { + "color": { + "type": "loop" + }, + "rule": { + "type": "other" + }, + "touched": false + } + ] + }, + "layerId": "7bc2981e-b536-4695-978a-4204ad71b136", + "layerType": "data", + "position": "top", + "seriesType": "bar_stacked", + "showGridlines": false, + "xAccessor": "d5caa97d-0c74-4213-b25c-66b71b8d5e6a", + "yConfig": [ + { + "color": "#be9b58", + "forAccessor": "3f7bb19f-c905-4fc0-aa93-a6ecf2ccabe7" + } + ] + } + ], + "legend": { + "isVisible": true, + "position": "right" + }, + "preferredSeriesType": "bar_stacked", + "tickLabelsVisibilitySettings": { + "x": true, + "yLeft": true, + "yRight": true + }, + "valueLabels": "hide" + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsXY" + }, + "enhancements": {} + }, + "gridData": { + "h": 15, + "i": "0eddb6e3-01cd-41be-b179-786c9156d810", + "w": 24, + "x": 24, + "y": 53 + }, + "panelIndex": "0eddb6e3-01cd-41be-b179-786c9156d810", + "title": "Key Exchange Protocols seen on the network[Gigamon AMI]", + "type": "lens" + }, + { + "embeddableConfig": { + "attributes": { + "description": "Applications, Servers and Clients using deprecated and risky SSL versions", + "references": [ + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "indexpattern-datasource-layer-52ebe360-98df-4c55-9c3a-5b30179d97fe", + "type": "index-pattern" + } + ], + "state": { + "adHocDataViews": {}, + "datasourceStates": { + "formBased": { + "layers": { + "52ebe360-98df-4c55-9c3a-5b30179d97fe": { + "columnOrder": [ + "8f21f20f-d0e7-42dd-a869-66af17ac0f8f", + "dd23e590-6f2f-4e30-9730-2463da3fcf32", + "f6f1b00a-7165-4ec5-b625-5dd63c0dd43a", + "79d382b6-cb8b-4cee-a738-3c441ce66510", + "e501a40d-b125-4701-abbe-d3e7273be600" + ], + "columns": { + "79d382b6-cb8b-4cee-a738-3c441ce66510": { + "customLabel": true, + "dataType": "string", + "isBucketed": true, + "label": "SSL Versions", + "operationType": "terms", + "params": { + "exclude": [], + "excludeIsRegex": false, + "include": [ + "SSL_2_0", + "SSL_3_0", + "TLS_1_0" + ], + "includeIsRegex": false, + "missingBucket": false, + "orderBy": { + "columnId": "e501a40d-b125-4701-abbe-d3e7273be600", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": false, + "parentFormat": { + "id": "terms" + }, + "size": 25 + }, + "scale": "ordinal", + "sourceField": "gigamon.ami.ssl_protocol_version_value" + }, + "8f21f20f-d0e7-42dd-a869-66af17ac0f8f": { + "customLabel": true, + "dataType": "ip", + "isBucketed": true, + "label": "Source ip", + "operationType": "terms", + "params": { + "exclude": [], + "excludeIsRegex": false, + "include": [], + "includeIsRegex": false, + "missingBucket": false, + "orderBy": { + "columnId": "e501a40d-b125-4701-abbe-d3e7273be600", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": false, + "parentFormat": { + "id": "terms" + }, + "size": 25 + }, + "scale": "ordinal", + "sourceField": "gigamon.ami.src_ip" + }, + "dd23e590-6f2f-4e30-9730-2463da3fcf32": { + "customLabel": true, + "dataType": "ip", + "isBucketed": true, + "label": "Destination ip", + "operationType": "terms", + "params": { + "exclude": [], + "excludeIsRegex": false, + "include": [], + "includeIsRegex": false, + "missingBucket": false, + "orderBy": { + "columnId": "e501a40d-b125-4701-abbe-d3e7273be600", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": false, + "parentFormat": { + "id": "terms" + }, + "size": 25 + }, + "scale": "ordinal", + "sourceField": "gigamon.ami.dst_ip" + }, + "e501a40d-b125-4701-abbe-d3e7273be600": { + "dataType": "number", + "isBucketed": false, + "label": "Count of records", + "operationType": "count", + "params": { + "emptyAsNull": true + }, + "scale": "ratio", + "sourceField": "___records___" + }, + "f6f1b00a-7165-4ec5-b625-5dd63c0dd43a": { + "customLabel": true, + "dataType": "string", + "isBucketed": true, + "label": "Application", + "operationType": "terms", + "params": { + "exclude": [], + "excludeIsRegex": false, + "include": [], + "includeIsRegex": false, + "missingBucket": false, + "orderBy": { + "columnId": "e501a40d-b125-4701-abbe-d3e7273be600", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": false, + "parentFormat": { + "id": "terms" + }, + "size": 25 + }, + "scale": "ordinal", + "sourceField": "gigamon.ami.app_name" + } + }, + "incompleteColumns": {}, + "sampling": 1 + } + } + }, + "indexpattern": { + "layers": {} + }, + "textBased": { + "layers": {} + } + }, + "filters": [], + "internalReferences": [], + "query": { + "language": "kuery", + "query": "data_stream.dataset : \"gigamon.ami\" " + }, + "visualization": { + "columns": [ + { + "columnId": "8f21f20f-d0e7-42dd-a869-66af17ac0f8f", + "isTransposed": false + }, + { + "columnId": "dd23e590-6f2f-4e30-9730-2463da3fcf32", + "isTransposed": false + }, + { + "columnId": "f6f1b00a-7165-4ec5-b625-5dd63c0dd43a", + "isTransposed": false + }, + { + "columnId": "79d382b6-cb8b-4cee-a738-3c441ce66510", + "isTransposed": false + }, + { + "columnId": "e501a40d-b125-4701-abbe-d3e7273be600", + "hidden": true, + "isTransposed": false + } + ], + "layerId": "52ebe360-98df-4c55-9c3a-5b30179d97fe", + "layerType": "data" + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsDatatable" + }, + "description": "Applications, Servers and Clients using deprecated and risky SSL versions", + "enhancements": {} + }, + "gridData": { + "h": 15, + "i": "e2b390fc-73ff-471d-91cb-0529402a4647", + "w": 24, + "x": 0, + "y": 55 + }, + "panelIndex": "e2b390fc-73ff-471d-91cb-0529402a4647", + "title": "Sessions using Old SSL Versions[Gigamon AMI]", + "type": "lens" + }, + { + "embeddableConfig": { + "description": "", + "enhancements": {}, + "hidePanelTitles": true, + "savedVis": { + "data": { + "aggs": [], + "searchSource": { + "filter": [], + "query": { + "language": "kuery", + "query": "" + } + } + }, + "description": "", + "id": "", + "params": { + "fontSize": 12, + "markdown": "Security Vulnerabilities like BREACH, VORACLE and CRIME take advantage of compression", + "openLinksInNewTab": false + }, + "title": "", + "type": "markdown", + "uiState": {} + } + }, + "gridData": { + "h": 4, + "i": "ebde7fdc-9392-4ee3-b27b-f9494e3c8a3f", + "w": 24, + "x": 0, + "y": 70 + }, + "panelIndex": "ebde7fdc-9392-4ee3-b27b-f9494e3c8a3f", + "title": "", + "type": "visualization" + }, + { + "embeddableConfig": { + "attributes": { + "references": [ + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "indexpattern-datasource-layer-b5a30015-ed6f-4639-9440-8d481157749c", + "type": "index-pattern" + } + ], + "state": { + "adHocDataViews": {}, + "datasourceStates": { + "formBased": { + "layers": { + "b5a30015-ed6f-4639-9440-8d481157749c": { + "columnOrder": [ + "8a83e195-a5a7-45c0-b8b6-65bb2d68725e", + "120c372b-0765-4731-94f0-39cd09e46658", + "458c03a2-c733-4e53-8fbc-f71ae0a7c7bc", + "37177b31-b1bf-4fae-9f90-0eee523e9d79", + "8a95d45c-8af8-44e1-a565-a2c19a10c0cb" + ], + "columns": { + "120c372b-0765-4731-94f0-39cd09e46658": { + "customLabel": true, + "dataType": "ip", + "isBucketed": true, + "label": "Destination ip", + "operationType": "terms", + "params": { + "exclude": [], + "excludeIsRegex": false, + "include": [], + "includeIsRegex": false, + "missingBucket": false, + "orderBy": { + "columnId": "8a95d45c-8af8-44e1-a565-a2c19a10c0cb", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": false, + "parentFormat": { + "id": "terms" + }, + "size": 25 + }, + "scale": "ordinal", + "sourceField": "gigamon.ami.dst_ip" + }, + "37177b31-b1bf-4fae-9f90-0eee523e9d79": { + "customLabel": true, + "dataType": "string", + "isBucketed": true, + "label": "Compression Scheme", + "operationType": "terms", + "params": { + "exclude": [], + "excludeIsRegex": false, + "include": [], + "includeIsRegex": false, + "missingBucket": false, + "orderBy": { + "columnId": "8a95d45c-8af8-44e1-a565-a2c19a10c0cb", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": false, + "parentFormat": { + "id": "terms" + }, + "size": 23 + }, + "scale": "ordinal", + "sourceField": "gigamon.ami.http_content_encoding" + }, + "458c03a2-c733-4e53-8fbc-f71ae0a7c7bc": { + "customLabel": true, + "dataType": "string", + "isBucketed": true, + "label": "Application", + "operationType": "terms", + "params": { + "exclude": [], + "excludeIsRegex": false, + "include": [], + "includeIsRegex": false, + "missingBucket": false, + "orderBy": { + "columnId": "8a95d45c-8af8-44e1-a565-a2c19a10c0cb", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": false, + "parentFormat": { + "id": "terms" + }, + "size": 25 + }, + "scale": "ordinal", + "sourceField": "gigamon.ami.app_name" + }, + "8a83e195-a5a7-45c0-b8b6-65bb2d68725e": { + "customLabel": true, + "dataType": "ip", + "isBucketed": true, + "label": "Source ip", + "operationType": "terms", + "params": { + "exclude": [], + "excludeIsRegex": false, + "include": [], + "includeIsRegex": false, + "missingBucket": false, + "orderBy": { + "columnId": "8a95d45c-8af8-44e1-a565-a2c19a10c0cb", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": false, + "parentFormat": { + "id": "terms" + }, + "size": 25 + }, + "scale": "ordinal", + "sourceField": "gigamon.ami.src_ip" + }, + "8a95d45c-8af8-44e1-a565-a2c19a10c0cb": { + "dataType": "number", + "isBucketed": false, + "label": "Count of records", + "operationType": "count", + "params": { + "emptyAsNull": true + }, + "scale": "ratio", + "sourceField": "___records___" + } + }, + "incompleteColumns": {}, + "sampling": 1 + } + } + }, + "indexpattern": { + "layers": {} + }, + "textBased": { + "layers": {} + } + }, + "filters": [], + "internalReferences": [], + "query": { + "language": "kuery", + "query": "data_stream.dataset : \"gigamon.ami\" " + }, + "visualization": { + "columns": [ + { + "columnId": "8a83e195-a5a7-45c0-b8b6-65bb2d68725e", + "isTransposed": false + }, + { + "columnId": "120c372b-0765-4731-94f0-39cd09e46658", + "isTransposed": false + }, + { + "columnId": "458c03a2-c733-4e53-8fbc-f71ae0a7c7bc", + "isTransposed": false + }, + { + "columnId": "8a95d45c-8af8-44e1-a565-a2c19a10c0cb", + "hidden": true, + "isTransposed": false + }, + { + "columnId": "37177b31-b1bf-4fae-9f90-0eee523e9d79", + "isMetric": false, + "isTransposed": false + } + ], + "layerId": "b5a30015-ed6f-4639-9440-8d481157749c", + "layerType": "data" + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsDatatable" + }, + "enhancements": {} + }, + "gridData": { + "h": 15, + "i": "20b67d27-53bd-4df5-8e4e-553d170b9f3d", + "w": 24, + "x": 0, + "y": 74 + }, + "panelIndex": "20b67d27-53bd-4df5-8e4e-553d170b9f3d", + "title": "Sessions using compression algorithms[Gigamon AMI]", + "type": "lens" + } + ], + "timeRestore": false, + "title": "[Logs Gigamon] Security Posture", + "version": 1 + }, + "coreMigrationVersion": "8.8.0", + "created_at": "2024-08-21T10:04:42.549Z", + "id": "gigamon-4ae2cd9a-3eef-42c6-a02c-731ce74d94ac", + "managed": false, + "references": [ + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "2ec46ecc-8727-4ada-a9cc-791128084fc7:indexpattern-datasource-layer-f8370edf-a33f-4b5f-a5e0-f91226bd7ee4", + "type": "index-pattern" + }, + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "7ee54803-53b7-4030-ac5a-4e6bb7f8d488:indexpattern-datasource-layer-1a855e99-fd47-4ba6-a92a-56f7fbc4955f", + "type": "index-pattern" + }, + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "4ecbea12-8c6b-4628-af7e-561eb34a8580:indexpattern-datasource-layer-a59e668a-9b41-4e4f-a213-d849adcc37e1", + "type": "index-pattern" + }, + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "4edbfb96-b1de-4a66-804b-e0dda725f53c:indexpattern-datasource-layer-ca329fec-55d4-4114-8e6c-66fac6103bd6", + "type": "index-pattern" + }, + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "d930ab89-a6d5-48ef-b925-e994aebe8793:indexpattern-datasource-layer-1a6b0337-abdf-4190-a6f0-01eb8bf27602", + "type": "index-pattern" + }, + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "0eddb6e3-01cd-41be-b179-786c9156d810:indexpattern-datasource-layer-7bc2981e-b536-4695-978a-4204ad71b136", + "type": "index-pattern" + }, + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "e2b390fc-73ff-471d-91cb-0529402a4647:indexpattern-datasource-layer-52ebe360-98df-4c55-9c3a-5b30179d97fe", + "type": "index-pattern" + }, + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "20b67d27-53bd-4df5-8e4e-553d170b9f3d:indexpattern-datasource-layer-b5a30015-ed6f-4639-9440-8d481157749c", + "type": "index-pattern" + } + ], + "type": "dashboard", + "typeMigrationVersion": "8.9.0" +} \ No newline at end of file diff --git a/packages/gigamon/kibana/dashboard/gigamon-62291e9e-8b75-4f23-9121-79959da99b3b.json b/packages/gigamon/kibana/dashboard/gigamon-62291e9e-8b75-4f23-9121-79959da99b3b.json new file mode 100644 index 00000000000..fd44f843d94 --- /dev/null +++ b/packages/gigamon/kibana/dashboard/gigamon-62291e9e-8b75-4f23-9121-79959da99b3b.json @@ -0,0 +1,765 @@ +{ + "attributes": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": { + "filter": [], + "query": { + "language": "kuery", + "query": "" + } + } + }, + "optionsJSON": { + "hidePanelTitles": false, + "syncColors": false, + "syncCursor": true, + "syncTooltips": false, + "useMargins": true + }, + "panelsJSON": [ + { + "embeddableConfig": { + "description": "", + "enhancements": {}, + "hidePanelTitles": true, + "savedVis": { + "data": { + "aggs": [], + "searchSource": { + "filter": [], + "query": { + "language": "kuery", + "query": "" + } + } + }, + "description": "", + "id": "", + "params": { + "fontSize": 12, + "markdown": "**AMI Starter Pack**\n\n- [App Insights](#/dashboard/gigamon-855a64dc-1a72-403f-932b-a5b848378f7e)\n- Trouble shooting\n - [Troubleshooting Insights for Network traffic](#/dashboard/gigamon-e733c64e-6ea9-4dd6-a8ca-3914274598f3)\n - [Top Traffic Sources and Destinations](#/dashboard/gigamon-d6cecabb-f026-4823-914d-b4d61fd61787)\n- [Security Posture](#/dashboard/gigamon-4ae2cd9a-3eef-42c6-a02c-731ce74d94ac)\n- Identifier Analysis\n - [Homoglyph Detection](#/dashboard/gigamon-64ca15b3-8327-4940-8b35-0e75ab3a73c6)\n - [URL Analysis](#/dashboard/gigamon-8f772203-64e0-4d1b-bb0e-14fa57b4b754)\n- M21-31\n - [Web Traffic Details](#/dashboard/gigamon-d866be49-47b2-4306-a2be-d5cb6b6ab9c8)\n - [DNS Information](#/dashboard/gigamon-e192a946-8287-450a-a8f0-e23de9f95dae)\n- Rogue Activity\n - [Unsanctioned Peer to Peer Apps](#/dashboard/gigamon-3523b534-7525-44a7-808f-6a9f3235a67d)\n- [PCI Compliance](#/dashboard/gigamon-032aab7b-87b2-444c-8c86-956d092598fb)\n- Suspicious Activities\n - [**Suspicious Connections**](#/dashboard/gigamon-62291e9e-8b75-4f23-9121-79959da99b3b)\n - [Unmanaged Endpoints](#/dashboard/gigamon-46931a21-a33e-43af-aadf-da8d6446b9cc)", + "openLinksInNewTab": false + }, + "title": "", + "type": "markdown", + "uiState": {} + } + }, + "gridData": { + "h": 21, + "i": "805ea0bb-bc47-47b6-b5b9-7ae459e912da", + "w": 24, + "x": 0, + "y": 0 + }, + "panelIndex": "805ea0bb-bc47-47b6-b5b9-7ae459e912da", + "title": "", + "type": "visualization" + }, + { + "embeddableConfig": { + "attributes": { + "references": [ + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "indexpattern-datasource-layer-4e7a5be6-e8e2-4181-8c8e-3464b9cbb8f3", + "type": "index-pattern" + } + ], + "state": { + "adHocDataViews": {}, + "datasourceStates": { + "formBased": { + "currentIndexPatternId": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "layers": { + "4e7a5be6-e8e2-4181-8c8e-3464b9cbb8f3": { + "columnOrder": [ + "30604579-d923-43a5-a3ff-904b1a241829", + "8e662664-420d-4311-a745-9b36217280aa" + ], + "columns": { + "30604579-d923-43a5-a3ff-904b1a241829": { + "customLabel": true, + "dataType": "string", + "isBucketed": true, + "label": "Application Name", + "operationType": "terms", + "params": { + "exclude": [], + "excludeIsRegex": false, + "include": [ + "ssh", + "rdp", + "telnet", + "smb", + "ftp", + "dropbox", + "nfs", + "tftp" + ], + "includeIsRegex": false, + "missingBucket": false, + "orderBy": { + "columnId": "8e662664-420d-4311-a745-9b36217280aa", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": false, + "parentFormat": { + "id": "terms" + }, + "size": 15 + }, + "scale": "ordinal", + "sourceField": "gigamon.ami.app_name" + }, + "8e662664-420d-4311-a745-9b36217280aa": { + "dataType": "number", + "isBucketed": false, + "label": "Count of records", + "operationType": "count", + "params": { + "emptyAsNull": true + }, + "scale": "ratio", + "sourceField": "___records___" + } + }, + "incompleteColumns": {}, + "indexPatternId": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "sampling": 1 + } + } + }, + "indexpattern": { + "layers": {} + }, + "textBased": { + "layers": {} + } + }, + "filters": [], + "internalReferences": [], + "query": { + "language": "kuery", + "query": "data_stream.dataset : \"gigamon.ami\" " + }, + "visualization": { + "columns": [ + { + "columnId": "30604579-d923-43a5-a3ff-904b1a241829", + "isTransposed": false + }, + { + "alignment": "left", + "columnId": "8e662664-420d-4311-a745-9b36217280aa", + "isTransposed": false + } + ], + "layerId": "4e7a5be6-e8e2-4181-8c8e-3464b9cbb8f3", + "layerType": "data" + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsDatatable" + }, + "enhancements": {} + }, + "gridData": { + "h": 21, + "i": "691cc634-beea-4461-abf3-7798f2fd7f53", + "w": 24, + "x": 24, + "y": 0 + }, + "panelIndex": "691cc634-beea-4461-abf3-7798f2fd7f53", + "title": "Top Suspicious Sessions[Gigamon AMI]", + "type": "lens" + }, + { + "embeddableConfig": { + "attributes": { + "references": [ + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "indexpattern-datasource-layer-0e790f53-fc9a-4723-b826-345927fe0ac2", + "type": "index-pattern" + } + ], + "state": { + "adHocDataViews": {}, + "datasourceStates": { + "formBased": { + "layers": { + "0e790f53-fc9a-4723-b826-345927fe0ac2": { + "columnOrder": [ + "3c258391-639c-45f5-88b0-535c27c90a74", + "83f2728c-6c7c-421c-b465-c17b318461a4", + "e2059abe-85e3-4ce9-8b88-25537c73aa1b", + "8b873cfd-7844-48e8-8315-eee47440a6f8", + "a5d1995e-af7d-4665-807b-88874981159d", + "19d6c43b-fb62-4826-9b33-54b8f6516c4b" + ], + "columns": { + "19d6c43b-fb62-4826-9b33-54b8f6516c4b": { + "dataType": "number", + "isBucketed": false, + "label": "Count of records", + "operationType": "count", + "params": { + "emptyAsNull": true + }, + "scale": "ratio", + "sourceField": "___records___" + }, + "3c258391-639c-45f5-88b0-535c27c90a74": { + "customLabel": true, + "dataType": "ip", + "isBucketed": true, + "label": "Source", + "operationType": "terms", + "params": { + "exclude": [], + "excludeIsRegex": false, + "include": [], + "includeIsRegex": false, + "missingBucket": false, + "orderBy": { + "columnId": "19d6c43b-fb62-4826-9b33-54b8f6516c4b", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": false, + "parentFormat": { + "id": "terms" + }, + "size": 15 + }, + "scale": "ordinal", + "sourceField": "gigamon.ami.src_ip" + }, + "83f2728c-6c7c-421c-b465-c17b318461a4": { + "customLabel": true, + "dataType": "ip", + "isBucketed": true, + "label": "Destination", + "operationType": "terms", + "params": { + "exclude": [], + "excludeIsRegex": false, + "include": [], + "includeIsRegex": false, + "missingBucket": false, + "orderBy": { + "columnId": "19d6c43b-fb62-4826-9b33-54b8f6516c4b", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": false, + "parentFormat": { + "id": "terms" + }, + "size": 15 + }, + "scale": "ordinal", + "sourceField": "gigamon.ami.dst_ip" + }, + "8b873cfd-7844-48e8-8315-eee47440a6f8": { + "customLabel": true, + "dataType": "number", + "isBucketed": true, + "label": "Source port", + "operationType": "terms", + "params": { + "exclude": [ + 22, + 53, + 23 + ], + "excludeIsRegex": false, + "include": [], + "includeIsRegex": false, + "missingBucket": false, + "orderBy": { + "columnId": "19d6c43b-fb62-4826-9b33-54b8f6516c4b", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": false, + "parentFormat": { + "id": "terms" + }, + "size": 15 + }, + "scale": "ordinal", + "sourceField": "gigamon.ami.src_port" + }, + "a5d1995e-af7d-4665-807b-88874981159d": { + "customLabel": true, + "dataType": "string", + "isBucketed": true, + "label": "Application Name", + "operationType": "terms", + "params": { + "exclude": [], + "excludeIsRegex": false, + "include": [ + "ssh", + "dns", + "telnet" + ], + "includeIsRegex": false, + "missingBucket": false, + "orderBy": { + "columnId": "19d6c43b-fb62-4826-9b33-54b8f6516c4b", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": false, + "parentFormat": { + "id": "terms" + }, + "size": 15 + }, + "scale": "ordinal", + "sourceField": "gigamon.ami.app_name" + }, + "e2059abe-85e3-4ce9-8b88-25537c73aa1b": { + "customLabel": true, + "dataType": "number", + "isBucketed": true, + "label": "Destination Port", + "operationType": "terms", + "params": { + "exclude": [ + 22, + 23, + 53 + ], + "excludeIsRegex": false, + "include": [], + "includeIsRegex": false, + "missingBucket": false, + "orderBy": { + "columnId": "19d6c43b-fb62-4826-9b33-54b8f6516c4b", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": false, + "parentFormat": { + "id": "terms" + }, + "size": 15 + }, + "scale": "ordinal", + "sourceField": "gigamon.ami.dst_port" + } + }, + "ignoreGlobalFilters": false, + "incompleteColumns": {}, + "sampling": 1 + } + } + }, + "indexpattern": { + "layers": {} + }, + "textBased": { + "layers": {} + } + }, + "filters": [], + "internalReferences": [], + "query": { + "language": "kuery", + "query": "data_stream.dataset : \"gigamon.ami\" " + }, + "visualization": { + "columns": [ + { + "columnId": "a5d1995e-af7d-4665-807b-88874981159d", + "hidden": false, + "isMetric": false, + "isTransposed": false + }, + { + "columnId": "19d6c43b-fb62-4826-9b33-54b8f6516c4b", + "hidden": true, + "isMetric": true, + "isTransposed": false + }, + { + "alignment": "left", + "columnId": "e2059abe-85e3-4ce9-8b88-25537c73aa1b", + "isMetric": false, + "isTransposed": false + }, + { + "alignment": "left", + "columnId": "8b873cfd-7844-48e8-8315-eee47440a6f8", + "isMetric": false, + "isTransposed": false + }, + { + "columnId": "3c258391-639c-45f5-88b0-535c27c90a74", + "isMetric": false, + "isTransposed": false + }, + { + "columnId": "83f2728c-6c7c-421c-b465-c17b318461a4", + "isMetric": false, + "isTransposed": false + } + ], + "layerId": "0e790f53-fc9a-4723-b826-345927fe0ac2", + "layerType": "data" + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsDatatable" + }, + "enhancements": {} + }, + "gridData": { + "h": 14, + "i": "9e15b7fa-c6fa-407f-8164-0003a5211964", + "w": 48, + "x": 0, + "y": 21 + }, + "panelIndex": "9e15b7fa-c6fa-407f-8164-0003a5211964", + "title": "Port Spoofing Activity[Gigamon AMI[", + "type": "lens" + }, + { + "embeddableConfig": { + "attributes": { + "references": [ + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "indexpattern-datasource-layer-dcb2c44f-fa1b-49dc-a8fd-95735065a2ca", + "type": "index-pattern" + } + ], + "state": { + "adHocDataViews": {}, + "datasourceStates": { + "formBased": { + "layers": { + "dcb2c44f-fa1b-49dc-a8fd-95735065a2ca": { + "columnOrder": [ + "04ab43d3-226e-4e2f-a150-89154d731c2f", + "66d0aa7a-1b6b-47d7-a40e-4b170dd43ea8", + "6ba6603b-8f9d-4cfb-8636-2e53618f3daa", + "14a6d76d-c7e4-4c33-a9bd-fab9af70f900", + "c3c3d87c-8824-4083-822d-d8494a8be695", + "19b54851-b502-47ff-b4ba-c7402312e15e", + "90047821-2703-4511-aa1e-089ff98c98e9", + "02673980-99b6-46f4-ae55-5bc04d511672" + ], + "columns": { + "02673980-99b6-46f4-ae55-5bc04d511672": { + "dataType": "number", + "isBucketed": false, + "label": "Count of records", + "operationType": "count", + "params": { + "emptyAsNull": true + }, + "scale": "ratio", + "sourceField": "___records___" + }, + "04ab43d3-226e-4e2f-a150-89154d731c2f": { + "dataType": "date", + "isBucketed": true, + "label": "@timestamp", + "operationType": "date_histogram", + "params": { + "dropPartials": false, + "includeEmptyRows": true, + "interval": "auto" + }, + "scale": "interval", + "sourceField": "@timestamp" + }, + "14a6d76d-c7e4-4c33-a9bd-fab9af70f900": { + "customLabel": true, + "dataType": "number", + "isBucketed": true, + "label": "Source port", + "operationType": "terms", + "params": { + "exclude": [], + "excludeIsRegex": false, + "include": [], + "includeIsRegex": false, + "missingBucket": false, + "orderBy": { + "columnId": "02673980-99b6-46f4-ae55-5bc04d511672", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": false, + "parentFormat": { + "id": "terms" + }, + "size": 15 + }, + "scale": "ordinal", + "sourceField": "gigamon.ami.src_port" + }, + "19b54851-b502-47ff-b4ba-c7402312e15e": { + "customLabel": true, + "dataType": "number", + "isBucketed": true, + "label": "Received Bytes", + "operationType": "terms", + "params": { + "exclude": [], + "excludeIsRegex": false, + "include": [], + "includeIsRegex": false, + "missingBucket": false, + "orderBy": { + "columnId": "02673980-99b6-46f4-ae55-5bc04d511672", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": false, + "parentFormat": { + "id": "terms" + }, + "size": 15 + }, + "scale": "ordinal", + "sourceField": "gigamon.ami.dst_bytes" + }, + "66d0aa7a-1b6b-47d7-a40e-4b170dd43ea8": { + "customLabel": true, + "dataType": "string", + "isBucketed": true, + "label": "Application Name", + "operationType": "terms", + "params": { + "exclude": [], + "excludeIsRegex": false, + "include": [ + "ftp", + "smb", + "dropbox", + "tftp", + "ssh", + "rdp", + "telnet", + "nfs" + ], + "includeIsRegex": false, + "missingBucket": false, + "orderBy": { + "columnId": "02673980-99b6-46f4-ae55-5bc04d511672", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": false, + "parentFormat": { + "id": "terms" + }, + "size": 15 + }, + "scale": "ordinal", + "sourceField": "gigamon.ami.app_name" + }, + "6ba6603b-8f9d-4cfb-8636-2e53618f3daa": { + "customLabel": true, + "dataType": "ip", + "isBucketed": true, + "label": "Source ip", + "operationType": "terms", + "params": { + "exclude": [], + "excludeIsRegex": false, + "include": [], + "includeIsRegex": false, + "missingBucket": false, + "orderBy": { + "columnId": "02673980-99b6-46f4-ae55-5bc04d511672", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": false, + "parentFormat": { + "id": "terms" + }, + "size": 15 + }, + "scale": "ordinal", + "sourceField": "gigamon.ami.src_ip" + }, + "90047821-2703-4511-aa1e-089ff98c98e9": { + "customLabel": true, + "dataType": "number", + "isBucketed": true, + "label": "Destination Port", + "operationType": "terms", + "params": { + "exclude": [], + "excludeIsRegex": false, + "include": [], + "includeIsRegex": false, + "missingBucket": false, + "orderBy": { + "columnId": "02673980-99b6-46f4-ae55-5bc04d511672", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": false, + "parentFormat": { + "id": "terms" + }, + "size": 15 + }, + "scale": "ordinal", + "sourceField": "gigamon.ami.dst_port" + }, + "c3c3d87c-8824-4083-822d-d8494a8be695": { + "customLabel": true, + "dataType": "number", + "isBucketed": true, + "label": "Transmitted bytes", + "operationType": "terms", + "params": { + "exclude": [], + "excludeIsRegex": false, + "include": [], + "includeIsRegex": false, + "missingBucket": false, + "orderBy": { + "columnId": "02673980-99b6-46f4-ae55-5bc04d511672", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": false, + "parentFormat": { + "id": "terms" + }, + "size": 15 + }, + "scale": "ordinal", + "sourceField": "gigamon.ami.src_bytes" + } + }, + "ignoreGlobalFilters": false, + "incompleteColumns": {}, + "sampling": 1 + } + } + }, + "indexpattern": { + "layers": {} + }, + "textBased": { + "layers": {} + } + }, + "filters": [], + "internalReferences": [], + "query": { + "language": "kuery", + "query": "data_stream.dataset : \"gigamon.ami\" " + }, + "visualization": { + "columns": [ + { + "columnId": "66d0aa7a-1b6b-47d7-a40e-4b170dd43ea8", + "isMetric": false, + "isTransposed": false + }, + { + "columnId": "02673980-99b6-46f4-ae55-5bc04d511672", + "isMetric": true, + "isTransposed": false + }, + { + "columnId": "6ba6603b-8f9d-4cfb-8636-2e53618f3daa", + "isMetric": false, + "isTransposed": false + }, + { + "columnId": "14a6d76d-c7e4-4c33-a9bd-fab9af70f900", + "isMetric": false, + "isTransposed": false + }, + { + "columnId": "04ab43d3-226e-4e2f-a150-89154d731c2f", + "isMetric": false, + "isTransposed": false + }, + { + "columnId": "c3c3d87c-8824-4083-822d-d8494a8be695", + "isMetric": false, + "isTransposed": false + }, + { + "columnId": "19b54851-b502-47ff-b4ba-c7402312e15e", + "isMetric": false, + "isTransposed": false + }, + { + "columnId": "90047821-2703-4511-aa1e-089ff98c98e9", + "isMetric": false, + "isTransposed": false + } + ], + "layerId": "dcb2c44f-fa1b-49dc-a8fd-95735065a2ca", + "layerType": "data" + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsDatatable" + }, + "enhancements": {} + }, + "gridData": { + "h": 22, + "i": "466a4ef7-11b5-42b8-9499-34509fff70f6", + "w": 48, + "x": 0, + "y": 35 + }, + "panelIndex": "466a4ef7-11b5-42b8-9499-34509fff70f6", + "title": "List of Suspicious Remote Sessions[Gigamon AMI]", + "type": "lens" + } + ], + "timeRestore": false, + "title": "[Logs Gigamon] Suspicious Connections", + "version": 1 + }, + "coreMigrationVersion": "8.8.0", + "created_at": "2024-08-21T10:11:25.231Z", + "id": "gigamon-62291e9e-8b75-4f23-9121-79959da99b3b", + "managed": false, + "references": [ + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "691cc634-beea-4461-abf3-7798f2fd7f53:indexpattern-datasource-layer-4e7a5be6-e8e2-4181-8c8e-3464b9cbb8f3", + "type": "index-pattern" + }, + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "9e15b7fa-c6fa-407f-8164-0003a5211964:indexpattern-datasource-layer-0e790f53-fc9a-4723-b826-345927fe0ac2", + "type": "index-pattern" + }, + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "466a4ef7-11b5-42b8-9499-34509fff70f6:indexpattern-datasource-layer-dcb2c44f-fa1b-49dc-a8fd-95735065a2ca", + "type": "index-pattern" + } + ], + "type": "dashboard", + "typeMigrationVersion": "8.9.0" +} \ No newline at end of file diff --git a/packages/gigamon/kibana/dashboard/gigamon-64ca15b3-8327-4940-8b35-0e75ab3a73c6.json b/packages/gigamon/kibana/dashboard/gigamon-64ca15b3-8327-4940-8b35-0e75ab3a73c6.json new file mode 100644 index 00000000000..13c56e79ee7 --- /dev/null +++ b/packages/gigamon/kibana/dashboard/gigamon-64ca15b3-8327-4940-8b35-0e75ab3a73c6.json @@ -0,0 +1,484 @@ +{ + "attributes": { + "description": "Comparing strings using a variety of techniques to determine if a deceptive or malicious string is being presented to a user.", + "kibanaSavedObjectMeta": { + "searchSourceJSON": { + "filter": [], + "query": { + "language": "kuery", + "query": "" + } + } + }, + "optionsJSON": { + "hidePanelTitles": false, + "syncColors": false, + "syncCursor": true, + "syncTooltips": false, + "useMargins": true + }, + "panelsJSON": [ + { + "embeddableConfig": { + "description": "", + "enhancements": {}, + "hidePanelTitles": true, + "savedVis": { + "data": { + "aggs": [], + "searchSource": { + "filter": [], + "query": { + "language": "kuery", + "query": "" + } + } + }, + "description": "", + "id": "", + "params": { + "fontSize": 12, + "markdown": "**AMI Starter Pack**\n\n- [App Insights](#/dashboard/gigamon-855a64dc-1a72-403f-932b-a5b848378f7e)\n- Trouble shooting\n - [Troubleshooting Insights for Network traffic](#/dashboard/gigamon-e733c64e-6ea9-4dd6-a8ca-3914274598f3)\n - [Top Traffic Sources and Destinations](#/dashboard/gigamon-d6cecabb-f026-4823-914d-b4d61fd61787)\n- [Security Posture](#/dashboard/gigamon-4ae2cd9a-3eef-42c6-a02c-731ce74d94ac)\n- Identifier Analysis\n - [**Homoglyph Detection**](#/dashboard/gigamon-64ca15b3-8327-4940-8b35-0e75ab3a73c6)\n - [URL Analysis](#/dashboard/gigamon-8f772203-64e0-4d1b-bb0e-14fa57b4b754)\n- M21-31\n - [Web Traffic Details](#/dashboard/gigamon-d866be49-47b2-4306-a2be-d5cb6b6ab9c8)\n - [DNS Information](#/dashboard/gigamon-e192a946-8287-450a-a8f0-e23de9f95dae)\n- Rogue Activity\n - [Unsanctioned Peer to Peer Apps](#/dashboard/gigamon-3523b534-7525-44a7-808f-6a9f3235a67d)\n- [PCI Compliance](#/dashboard/gigamon-032aab7b-87b2-444c-8c86-956d092598fb)\n- Suspicious Activities\n - [Suspicious Connections](#/dashboard/gigamon-62291e9e-8b75-4f23-9121-79959da99b3b)\n - [Unmanaged Endpoints](#/dashboard/gigamon-46931a21-a33e-43af-aadf-da8d6446b9cc)", + "openLinksInNewTab": false + }, + "title": "", + "type": "markdown", + "uiState": {} + } + }, + "gridData": { + "h": 20, + "i": "49b436e4-ffd2-45d3-934f-2ca7a793dc64", + "w": 24, + "x": 0, + "y": 0 + }, + "panelIndex": "49b436e4-ffd2-45d3-934f-2ca7a793dc64", + "title": "", + "type": "visualization" + }, + { + "embeddableConfig": { + "attributes": { + "description": "URL strings which look like inputted trusted domains, but are composed of different characters - by default uses Alexa Top 10 websites", + "references": [ + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "indexpattern-datasource-layer-6a4b4b49-d74b-4032-8c98-aa7a2050ead3", + "type": "index-pattern" + }, + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "2f79ee85-3ccc-4e3b-a3cd-54801483e084", + "type": "index-pattern" + } + ], + "state": { + "adHocDataViews": {}, + "datasourceStates": { + "formBased": { + "layers": { + "6a4b4b49-d74b-4032-8c98-aa7a2050ead3": { + "columnOrder": [ + "51c88eae-3453-4280-ba44-613a771083b2", + "79795325-098b-4f82-bca9-1ff840c93600" + ], + "columns": { + "51c88eae-3453-4280-ba44-613a771083b2": { + "customLabel": true, + "dataType": "string", + "isBucketed": true, + "label": "Domain Name", + "operationType": "terms", + "params": { + "accuracyMode": true, + "exclude": [], + "excludeIsRegex": false, + "include": [ + ".*(amazon|google|facebook|youtube|twitter|instagram|baidu|wikipedia|yahoo|reddit)\\.com.*" + ], + "includeIsRegex": true, + "missingBucket": false, + "orderBy": { + "columnId": "79795325-098b-4f82-bca9-1ff840c93600", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": false, + "parentFormat": { + "id": "terms" + }, + "size": 25 + }, + "scale": "ordinal", + "sourceField": "gigamon.ami.dns_name" + }, + "79795325-098b-4f82-bca9-1ff840c93600": { + "customLabel": true, + "dataType": "number", + "isBucketed": false, + "label": "No. of occurences", + "operationType": "count", + "params": { + "emptyAsNull": true + }, + "scale": "ratio", + "sourceField": "___records___" + } + }, + "incompleteColumns": {}, + "sampling": 1 + } + } + }, + "indexpattern": { + "layers": {} + }, + "textBased": { + "layers": {} + } + }, + "filters": [ + { + "$state": { + "store": "appState" + }, + "meta": { + "alias": "google.com\", \"youtube.com\", \"facebook.com\", \"baidu.com\", \"wikipedia.com\", \"qq.com\", \"taobao.com\", \"tmail.com\", \"yahoo.com\", \"amazon.com\"", + "disabled": false, + "field": "gigamon.ami.dns_name", + "index": "2f79ee85-3ccc-4e3b-a3cd-54801483e084", + "key": "gigamon.ami.dns_name", + "negate": false, + "type": "exists", + "value": "exists" + }, + "query": { + "exists": { + "field": "gigamon.ami.dns_name" + } + } + } + ], + "internalReferences": [], + "query": { + "language": "kuery", + "query": "data_stream.dataset : \"gigamon.ami\" " + }, + "visualization": { + "layers": [ + { + "categoryDisplay": "default", + "colorMapping": { + "assignments": [], + "colorMode": { + "sort": "desc", + "steps": [ + { + "colorCode": "#dc741e", + "touched": false, + "type": "colorCode" + }, + { + "colorCode": "#197855", + "touched": false, + "type": "colorCode" + }, + { + "colorCode": "#5d0d40", + "touched": true, + "type": "colorCode" + } + ], + "type": "gradient" + }, + "paletteId": "eui_amsterdam_color_blind", + "specialAssignments": [ + { + "color": { + "type": "loop" + }, + "rule": { + "type": "other" + }, + "touched": false + } + ] + }, + "layerId": "6a4b4b49-d74b-4032-8c98-aa7a2050ead3", + "layerType": "data", + "legendDisplay": "default", + "metrics": [ + "79795325-098b-4f82-bca9-1ff840c93600" + ], + "nestedLegend": false, + "numberDisplay": "percent", + "primaryGroups": [ + "51c88eae-3453-4280-ba44-613a771083b2" + ] + } + ], + "shape": "pie" + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsPie" + }, + "description": "Breakdown of top domains having homoglyph detections", + "enhancements": {} + }, + "gridData": { + "h": 20, + "i": "9a6bd170-6a5e-4da1-be11-91bf825056db", + "w": 24, + "x": 24, + "y": 0 + }, + "panelIndex": "9a6bd170-6a5e-4da1-be11-91bf825056db", + "title": "Top Domains[GigamonAMI] ", + "type": "lens" + }, + { + "embeddableConfig": { + "description": "", + "enhancements": {}, + "hidePanelTitles": true, + "savedVis": { + "data": { + "aggs": [], + "searchSource": { + "filter": [], + "query": { + "language": "kuery", + "query": "" + } + } + }, + "description": "", + "id": "", + "params": { + "fontSize": 12, + "markdown": "URL strings which look like inputted trusted domains, but are composed of different characters.", + "openLinksInNewTab": false + }, + "title": "", + "type": "markdown", + "uiState": {} + } + }, + "gridData": { + "h": 4, + "i": "0841a17a-ea4c-4923-b6ca-9ce4aa904336", + "w": 48, + "x": 0, + "y": 20 + }, + "panelIndex": "0841a17a-ea4c-4923-b6ca-9ce4aa904336", + "title": "", + "type": "visualization" + }, + { + "embeddableConfig": { + "attributes": { + "references": [ + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "indexpattern-datasource-layer-6a4b4b49-d74b-4032-8c98-aa7a2050ead3", + "type": "index-pattern" + }, + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "b2d2a2d8-715d-49ea-b486-2046c4083804", + "type": "index-pattern" + } + ], + "state": { + "adHocDataViews": {}, + "datasourceStates": { + "formBased": { + "layers": { + "6a4b4b49-d74b-4032-8c98-aa7a2050ead3": { + "columnOrder": [ + "51c88eae-3453-4280-ba44-613a771083b2", + "6e865472-1f67-4dda-ad2f-de01e44311c3", + "79795325-098b-4f82-bca9-1ff840c93600" + ], + "columns": { + "51c88eae-3453-4280-ba44-613a771083b2": { + "customLabel": true, + "dataType": "string", + "isBucketed": true, + "label": "Domain Name", + "operationType": "terms", + "params": { + "accuracyMode": true, + "exclude": [], + "excludeIsRegex": false, + "include": [ + ".*(amazon|google|facebook|youtube|twitter|instagram|baidu|wikipedia|yahoo|reddit)\\.com.*" + ], + "includeIsRegex": true, + "missingBucket": false, + "orderBy": { + "columnId": "79795325-098b-4f82-bca9-1ff840c93600", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": false, + "parentFormat": { + "id": "terms" + }, + "size": 25 + }, + "scale": "ordinal", + "sourceField": "gigamon.ami.dns_name" + }, + "6e865472-1f67-4dda-ad2f-de01e44311c3": { + "customLabel": true, + "dataType": "ip", + "isBucketed": true, + "label": "Src ip", + "operationType": "terms", + "params": { + "exclude": [], + "excludeIsRegex": false, + "include": [], + "includeIsRegex": false, + "missingBucket": false, + "orderBy": { + "columnId": "79795325-098b-4f82-bca9-1ff840c93600", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": false, + "parentFormat": { + "id": "terms" + }, + "size": 24 + }, + "scale": "ordinal", + "sourceField": "gigamon.ami.src_ip" + }, + "79795325-098b-4f82-bca9-1ff840c93600": { + "customLabel": true, + "dataType": "number", + "isBucketed": false, + "label": "No. of occurences", + "operationType": "count", + "params": { + "emptyAsNull": true + }, + "scale": "ratio", + "sourceField": "___records___" + } + }, + "incompleteColumns": {}, + "sampling": 1 + } + } + }, + "indexpattern": { + "layers": {} + }, + "textBased": { + "layers": {} + } + }, + "filters": [ + { + "$state": { + "store": "appState" + }, + "meta": { + "alias": "google.com\", \"youtube.com\", \"facebook.com\", \"baidu.com\", \"wikipedia.com\", \"qq.com\", \"taobao.com\", \"tmail.com\", \"yahoo.com\", \"amazon.com\"", + "disabled": false, + "field": "gigamon.ami.dns_name", + "index": "b2d2a2d8-715d-49ea-b486-2046c4083804", + "key": "gigamon.ami.dns_name", + "negate": false, + "type": "exists", + "value": "exists" + }, + "query": { + "exists": { + "field": "gigamon.ami.dns_name" + } + } + } + ], + "internalReferences": [], + "query": { + "language": "kuery", + "query": "data_stream.dataset : \"gigamon.ami\" " + }, + "visualization": { + "columns": [ + { + "columnId": "51c88eae-3453-4280-ba44-613a771083b2" + }, + { + "columnId": "79795325-098b-4f82-bca9-1ff840c93600" + }, + { + "columnId": "6e865472-1f67-4dda-ad2f-de01e44311c3", + "isMetric": false, + "isTransposed": false + } + ], + "layerId": "6a4b4b49-d74b-4032-8c98-aa7a2050ead3", + "layerType": "data" + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsDatatable" + }, + "description": "", + "enhancements": {} + }, + "gridData": { + "h": 20, + "i": "3807bd4e-36c5-4458-92fb-10b007af3a45", + "w": 48, + "x": 0, + "y": 24 + }, + "panelIndex": "3807bd4e-36c5-4458-92fb-10b007af3a45", + "title": "Domain Comparison[GigamonAMI]", + "type": "lens" + } + ], + "timeRestore": false, + "title": "[Logs Gigamon] Homoglyph Detection", + "version": 1 + }, + "coreMigrationVersion": "8.8.0", + "created_at": "2024-08-21T10:07:01.487Z", + "id": "gigamon-64ca15b3-8327-4940-8b35-0e75ab3a73c6", + "managed": false, + "references": [ + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "9a6bd170-6a5e-4da1-be11-91bf825056db:indexpattern-datasource-layer-6a4b4b49-d74b-4032-8c98-aa7a2050ead3", + "type": "index-pattern" + }, + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "9a6bd170-6a5e-4da1-be11-91bf825056db:2f79ee85-3ccc-4e3b-a3cd-54801483e084", + "type": "index-pattern" + }, + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "3807bd4e-36c5-4458-92fb-10b007af3a45:indexpattern-datasource-layer-6a4b4b49-d74b-4032-8c98-aa7a2050ead3", + "type": "index-pattern" + }, + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "3807bd4e-36c5-4458-92fb-10b007af3a45:b2d2a2d8-715d-49ea-b486-2046c4083804", + "type": "index-pattern" + } + ], + "type": "dashboard", + "typeMigrationVersion": "8.9.0" +} \ No newline at end of file diff --git a/packages/gigamon/kibana/dashboard/gigamon-855a64dc-1a72-403f-932b-a5b848378f7e.json b/packages/gigamon/kibana/dashboard/gigamon-855a64dc-1a72-403f-932b-a5b848378f7e.json new file mode 100644 index 00000000000..da475f4fc02 --- /dev/null +++ b/packages/gigamon/kibana/dashboard/gigamon-855a64dc-1a72-403f-932b-a5b848378f7e.json @@ -0,0 +1,1483 @@ +{ + "attributes": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": { + "filter": [], + "query": { + "language": "kuery", + "query": "" + } + } + }, + "optionsJSON": { + "hidePanelTitles": false, + "syncColors": false, + "syncCursor": true, + "syncTooltips": false, + "useMargins": true + }, + "panelsJSON": [ + { + "embeddableConfig": { + "description": "", + "enhancements": {}, + "hidePanelTitles": true, + "savedVis": { + "data": { + "aggs": [], + "searchSource": { + "filter": [], + "query": { + "language": "kuery", + "query": "" + } + } + }, + "description": "", + "id": "", + "params": { + "fontSize": 12, + "markdown": "**AMI Starter Pack**\n\n- [**App Insights**](#/dashboard/gigamon-855a64dc-1a72-403f-932b-a5b848378f7e)\n- Trouble shooting\n - [Troubleshooting Insights for Network traffic](#/dashboard/gigamon-e733c64e-6ea9-4dd6-a8ca-3914274598f3)\n - [Top Traffic Sources and Destinations](#/dashboard/gigamon-d6cecabb-f026-4823-914d-b4d61fd61787)\n- [Security Posture](#/dashboard/gigamon-4ae2cd9a-3eef-42c6-a02c-731ce74d94ac)\n- Identifier Analysis\n - [Homoglyph Detection](#/dashboard/gigamon-64ca15b3-8327-4940-8b35-0e75ab3a73c6)\n - [URL Analysis](#/dashboard/gigamon-8f772203-64e0-4d1b-bb0e-14fa57b4b754)\n- M21-31\n - [Web Traffic Details](#/dashboard/gigamon-d866be49-47b2-4306-a2be-d5cb6b6ab9c8)\n - [DNS Information](#/dashboard/gigamon-e192a946-8287-450a-a8f0-e23de9f95dae)\n- Rogue Activity\n - [Unsanctioned Peer to Peer Apps](#/dashboard/gigamon-3523b534-7525-44a7-808f-6a9f3235a67d)\n- [PCI Compliance](#/dashboard/gigamon-032aab7b-87b2-444c-8c86-956d092598fb)\n- Suspicious Activities\n - [Suspicious Connections](#/dashboard/gigamon-62291e9e-8b75-4f23-9121-79959da99b3b)\n - [Unmanaged Endpoints](#/dashboard/gigamon-46931a21-a33e-43af-aadf-da8d6446b9cc)", + "openLinksInNewTab": false + }, + "title": "", + "type": "markdown", + "uiState": {} + } + }, + "gridData": { + "h": 21, + "i": "6b75164e-2b30-43ee-a8db-f95a6c5b7a6c", + "w": 24, + "x": 0, + "y": 0 + }, + "panelIndex": "6b75164e-2b30-43ee-a8db-f95a6c5b7a6c", + "title": "", + "type": "visualization" + }, + { + "embeddableConfig": { + "attributes": { + "references": [ + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "indexpattern-datasource-layer-2f770a63-b087-4627-9eac-4ec02a6860a2", + "type": "index-pattern" + } + ], + "state": { + "adHocDataViews": {}, + "datasourceStates": { + "formBased": { + "currentIndexPatternId": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "layers": { + "2f770a63-b087-4627-9eac-4ec02a6860a2": { + "columnOrder": [ + "62d6b474-61fc-4349-9b15-33128c7696bf", + "c80909dc-a315-4156-85c5-267a882d0011" + ], + "columns": { + "62d6b474-61fc-4349-9b15-33128c7696bf": { + "customLabel": true, + "dataType": "string", + "isBucketed": true, + "label": "Top 50 Applications", + "operationType": "terms", + "params": { + "exclude": [ + "Classification-unknown" + ], + "excludeIsRegex": false, + "include": [], + "includeIsRegex": false, + "missingBucket": false, + "orderBy": { + "columnId": "c80909dc-a315-4156-85c5-267a882d0011", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": false, + "parentFormat": { + "id": "terms" + }, + "size": 50 + }, + "scale": "ordinal", + "sourceField": "gigamon.ami.app_name" + }, + "c80909dc-a315-4156-85c5-267a882d0011": { + "dataType": "number", + "isBucketed": false, + "label": "Count of records", + "operationType": "count", + "params": { + "emptyAsNull": true + }, + "scale": "ratio", + "sourceField": "___records___" + } + }, + "incompleteColumns": {}, + "indexPatternId": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "sampling": 1 + } + } + }, + "indexpattern": { + "layers": {} + }, + "textBased": { + "layers": {} + } + }, + "filters": [], + "internalReferences": [], + "query": { + "language": "kuery", + "query": "data_stream.dataset : \"gigamon.ami\" " + }, + "visualization": { + "colorMapping": { + "assignments": [], + "colorMode": { + "sort": "desc", + "steps": [ + { + "colorCode": "#3ad93a", + "touched": true, + "type": "colorCode" + }, + { + "colorCode": "#e677b1", + "touched": false, + "type": "colorCode" + }, + { + "colorCode": "#22abda", + "touched": false, + "type": "colorCode" + } + ], + "type": "gradient" + }, + "paletteId": "eui_amsterdam_color_blind", + "specialAssignments": [ + { + "color": { + "type": "loop" + }, + "rule": { + "type": "other" + }, + "touched": false + } + ] + }, + "layerId": "2f770a63-b087-4627-9eac-4ec02a6860a2", + "maxFontSize": 72, + "minFontSize": 18, + "orientation": "single", + "showLabel": true, + "tagAccessor": "62d6b474-61fc-4349-9b15-33128c7696bf", + "valueAccessor": "c80909dc-a315-4156-85c5-267a882d0011" + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsTagcloud" + }, + "enhancements": {} + }, + "gridData": { + "h": 15, + "i": "82d13ba0-b304-4852-afd1-6963f658852a", + "w": 24, + "x": 24, + "y": 0 + }, + "panelIndex": "82d13ba0-b304-4852-afd1-6963f658852a", + "title": "App Overview[Gigamon AMI]", + "type": "lens" + }, + { + "embeddableConfig": { + "attributes": { + "description": "Expired TLS Certificate Details", + "references": [ + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "indexpattern-datasource-layer-f2bfa25e-3307-4990-9396-2a83c047bd87", + "type": "index-pattern" + }, + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "c8822484-f6d7-438a-8d37-aea5210af207", + "type": "index-pattern" + } + ], + "state": { + "adHocDataViews": {}, + "datasourceStates": { + "formBased": { + "layers": { + "f2bfa25e-3307-4990-9396-2a83c047bd87": { + "columnOrder": [ + "00b64c0f-6ad7-49b0-97ad-620e892b52a0", + "fb36c053-2418-4fd4-b0c5-4d4f7149401f", + "9918b794-dee6-4d48-8cfa-985156eb6c71", + "35dbd18d-724e-4a71-a3d2-e3b95b391397", + "b4ff9561-a4c4-472b-94dd-bb19be1790df", + "088613fe-caa6-4a7a-a71d-041f58eeaca7" + ], + "columns": { + "00b64c0f-6ad7-49b0-97ad-620e892b52a0": { + "customLabel": true, + "dataType": "ip", + "isBucketed": true, + "label": "Server ip", + "operationType": "terms", + "params": { + "exclude": [], + "excludeIsRegex": false, + "include": [], + "includeIsRegex": false, + "missingBucket": false, + "orderBy": { + "columnId": "b4ff9561-a4c4-472b-94dd-bb19be1790df", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": false, + "parentFormat": { + "id": "terms" + }, + "size": 10 + }, + "scale": "ordinal", + "sourceField": "gigamon.ami.src_ip" + }, + "088613fe-caa6-4a7a-a71d-041f58eeaca7": { + "customLabel": true, + "dataType": "date", + "isBucketed": false, + "label": "Expiration Details", + "operationType": "max", + "params": { + "emptyAsNull": true + }, + "scale": "ratio", + "sourceField": "gigamon.ami.ssl_validity_not_after" + }, + "35dbd18d-724e-4a71-a3d2-e3b95b391397": { + "customLabel": true, + "dataType": "string", + "isBucketed": true, + "label": "Issuer", + "operationType": "terms", + "params": { + "exclude": [], + "excludeIsRegex": false, + "include": [], + "includeIsRegex": false, + "missingBucket": false, + "orderBy": { + "columnId": "b4ff9561-a4c4-472b-94dd-bb19be1790df", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": false, + "parentFormat": { + "id": "terms" + }, + "size": 10 + }, + "scale": "ordinal", + "sourceField": "gigamon.ami.ssl_issuer" + }, + "9918b794-dee6-4d48-8cfa-985156eb6c71": { + "customLabel": true, + "dataType": "string", + "isBucketed": true, + "label": "Common_name", + "operationType": "terms", + "params": { + "exclude": [], + "excludeIsRegex": false, + "include": [], + "includeIsRegex": false, + "missingBucket": false, + "orderBy": { + "columnId": "b4ff9561-a4c4-472b-94dd-bb19be1790df", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": false, + "parentFormat": { + "id": "terms" + }, + "size": 10 + }, + "scale": "ordinal", + "sourceField": "gigamon.ami.ssl_common_name" + }, + "b4ff9561-a4c4-472b-94dd-bb19be1790df": { + "dataType": "number", + "isBucketed": false, + "label": "Count of records", + "operationType": "count", + "params": { + "emptyAsNull": true + }, + "scale": "ratio", + "sourceField": "___records___" + }, + "fb36c053-2418-4fd4-b0c5-4d4f7149401f": { + "customLabel": true, + "dataType": "string", + "isBucketed": true, + "label": "Application", + "operationType": "terms", + "params": { + "exclude": [], + "excludeIsRegex": false, + "include": [], + "includeIsRegex": false, + "missingBucket": false, + "orderBy": { + "columnId": "b4ff9561-a4c4-472b-94dd-bb19be1790df", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": false, + "parentFormat": { + "id": "terms" + }, + "size": 10 + }, + "scale": "ordinal", + "sourceField": "gigamon.ami.app_name" + } + }, + "incompleteColumns": {}, + "sampling": 1 + } + } + }, + "indexpattern": { + "layers": {} + }, + "textBased": { + "layers": {} + } + }, + "filters": [ + { + "$state": { + "store": "appState" + }, + "meta": { + "alias": null, + "disabled": false, + "field": "gigamon.ami.ssl_validity_not_after", + "index": "c8822484-f6d7-438a-8d37-aea5210af207", + "key": "gigamon.ami.ssl_validity_not_after", + "negate": false, + "params": { + "lt": "2024-01-01T00:00:00.000+05:30" + }, + "type": "range", + "value": { + "lt": "2024-01-01T00:00:00.000+05:30" + } + }, + "query": { + "range": { + "gigamon.ami.ssl_validity_not_after": { + "lt": "2024-01-01T00:00:00.000+05:30" + } + } + } + } + ], + "internalReferences": [], + "query": { + "language": "kuery", + "query": "data_stream.dataset : \"gigamon.ami\" and gigamon.ami.ssl_validity_not_after : * " + }, + "visualization": { + "columns": [ + { + "columnId": "9918b794-dee6-4d48-8cfa-985156eb6c71", + "isMetric": false, + "isTransposed": false + }, + { + "columnId": "35dbd18d-724e-4a71-a3d2-e3b95b391397", + "isTransposed": false + }, + { + "columnId": "00b64c0f-6ad7-49b0-97ad-620e892b52a0", + "isTransposed": false + }, + { + "columnId": "fb36c053-2418-4fd4-b0c5-4d4f7149401f", + "isTransposed": false + }, + { + "columnId": "b4ff9561-a4c4-472b-94dd-bb19be1790df", + "hidden": true, + "isTransposed": false + }, + { + "columnId": "088613fe-caa6-4a7a-a71d-041f58eeaca7", + "isMetric": true, + "isTransposed": false + } + ], + "layerId": "f2bfa25e-3307-4990-9396-2a83c047bd87", + "layerType": "data" + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsDatatable" + }, + "description": "Expired TLS Certificate Details", + "enhancements": {} + }, + "gridData": { + "h": 15, + "i": "f8298c20-12fa-44e3-a9ab-139a3d78d841", + "w": 24, + "x": 24, + "y": 15 + }, + "panelIndex": "f8298c20-12fa-44e3-a9ab-139a3d78d841", + "title": "Expired TLS Certificate Details[Gigamon AMI]", + "type": "lens" + }, + { + "embeddableConfig": { + "description": "", + "enhancements": {}, + "hidePanelTitles": true, + "savedVis": { + "data": { + "aggs": [], + "searchSource": { + "filter": [], + "query": { + "language": "kuery", + "query": "" + } + } + }, + "description": "", + "id": "", + "params": { + "fontSize": 12, + "markdown": "Versions that are deprecated: SSL 1.0, SSL 1.1, SSL 3.0, TLS 1.0, TLS 1.1", + "openLinksInNewTab": false + }, + "title": "", + "type": "markdown", + "uiState": {} + } + }, + "gridData": { + "h": 3, + "i": "58d2d585-6174-47c9-bd03-6a6d6f98712f", + "w": 24, + "x": 0, + "y": 21 + }, + "panelIndex": "58d2d585-6174-47c9-bd03-6a6d6f98712f", + "title": "", + "type": "visualization" + }, + { + "embeddableConfig": { + "attributes": { + "references": [ + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "indexpattern-datasource-layer-5276360b-3935-40fb-81fc-d50d8f9ea03f", + "type": "index-pattern" + } + ], + "state": { + "adHocDataViews": {}, + "datasourceStates": { + "formBased": { + "currentIndexPatternId": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "layers": { + "5276360b-3935-40fb-81fc-d50d8f9ea03f": { + "columnOrder": [ + "dc401df1-9aff-4c54-959c-5c01f64223f8", + "7c64cedb-bff6-440d-8c92-ca2b6dd4d548" + ], + "columns": { + "7c64cedb-bff6-440d-8c92-ca2b6dd4d548": { + "dataType": "number", + "isBucketed": false, + "label": "Count of records", + "operationType": "count", + "params": { + "emptyAsNull": true + }, + "scale": "ratio", + "sourceField": "___records___" + }, + "dc401df1-9aff-4c54-959c-5c01f64223f8": { + "dataType": "string", + "isBucketed": true, + "label": "Top 5 values of gigamon.ami.ssl_protocol_version_value", + "operationType": "terms", + "params": { + "exclude": [], + "excludeIsRegex": false, + "include": [], + "includeIsRegex": false, + "missingBucket": false, + "orderBy": { + "columnId": "7c64cedb-bff6-440d-8c92-ca2b6dd4d548", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": true, + "parentFormat": { + "id": "terms" + }, + "size": 5 + }, + "scale": "ordinal", + "sourceField": "gigamon.ami.ssl_protocol_version_value" + } + }, + "incompleteColumns": {}, + "indexPatternId": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "sampling": 1 + } + } + }, + "indexpattern": { + "layers": {} + }, + "textBased": { + "layers": {} + } + }, + "filters": [], + "internalReferences": [], + "query": { + "language": "kuery", + "query": "data_stream.dataset : \"gigamon.ami\" " + }, + "visualization": { + "axisTitlesVisibilitySettings": { + "x": true, + "yLeft": true, + "yRight": true + }, + "fittingFunction": "None", + "gridlinesVisibilitySettings": { + "x": true, + "yLeft": true, + "yRight": true + }, + "labelsOrientation": { + "x": 0, + "yLeft": 0, + "yRight": 0 + }, + "layers": [ + { + "accessors": [ + "7c64cedb-bff6-440d-8c92-ca2b6dd4d548" + ], + "colorMapping": { + "assignments": [], + "colorMode": { + "type": "categorical" + }, + "paletteId": "eui_amsterdam_color_blind", + "specialAssignments": [ + { + "color": { + "type": "loop" + }, + "rule": { + "type": "other" + }, + "touched": false + } + ] + }, + "layerId": "5276360b-3935-40fb-81fc-d50d8f9ea03f", + "layerType": "data", + "position": "top", + "seriesType": "bar", + "showGridlines": false, + "xAccessor": "dc401df1-9aff-4c54-959c-5c01f64223f8", + "yConfig": [ + { + "axisMode": "auto", + "color": "#c193f8", + "forAccessor": "7c64cedb-bff6-440d-8c92-ca2b6dd4d548" + } + ] + } + ], + "legend": { + "isVisible": true, + "position": "right" + }, + "preferredSeriesType": "bar", + "tickLabelsVisibilitySettings": { + "x": true, + "yLeft": true, + "yRight": true + }, + "valueLabels": "hide" + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsXY" + }, + "enhancements": {} + }, + "gridData": { + "h": 24, + "i": "9abb6f37-8bf4-4ab6-b5d6-536dc987436d", + "w": 24, + "x": 0, + "y": 24 + }, + "panelIndex": "9abb6f37-8bf4-4ab6-b5d6-536dc987436d", + "title": "TLS info[Gigamon AMI]", + "type": "lens" + }, + { + "embeddableConfig": { + "attributes": { + "references": [ + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "indexpattern-datasource-layer-66c4f953-6f64-4e94-866f-ea62083a4fc5", + "type": "index-pattern" + } + ], + "state": { + "adHocDataViews": {}, + "datasourceStates": { + "formBased": { + "currentIndexPatternId": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "layers": { + "66c4f953-6f64-4e94-866f-ea62083a4fc5": { + "columnOrder": [ + "830dc1e4-efaa-4b02-a9e5-71ecf70fcd91", + "920ed35e-df85-4640-9a08-fb755078ffc0" + ], + "columns": { + "830dc1e4-efaa-4b02-a9e5-71ecf70fcd91": { + "customLabel": true, + "dataType": "string", + "isBucketed": true, + "label": "Top DNS Queries", + "operationType": "terms", + "params": { + "exclude": [], + "excludeIsRegex": false, + "include": [], + "includeIsRegex": false, + "missingBucket": false, + "orderBy": { + "columnId": "920ed35e-df85-4640-9a08-fb755078ffc0", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": false, + "parentFormat": { + "id": "terms" + }, + "size": 15 + }, + "scale": "ordinal", + "sourceField": "gigamon.ami.dns_query" + }, + "920ed35e-df85-4640-9a08-fb755078ffc0": { + "dataType": "number", + "isBucketed": false, + "label": "Count of records", + "operationType": "count", + "params": { + "emptyAsNull": true + }, + "scale": "ratio", + "sourceField": "___records___" + } + }, + "incompleteColumns": {}, + "indexPatternId": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "sampling": 1 + } + } + }, + "indexpattern": { + "layers": {} + }, + "textBased": { + "layers": {} + } + }, + "filters": [], + "internalReferences": [], + "query": { + "language": "kuery", + "query": "data_stream.dataset : \"gigamon.ami\" " + }, + "visualization": { + "layers": [ + { + "categoryDisplay": "default", + "colorMapping": { + "assignments": [], + "colorMode": { + "sort": "desc", + "steps": [ + { + "colorCode": "#f47cbc", + "touched": true, + "type": "colorCode" + }, + { + "colorIndex": 3, + "paletteId": "eui_amsterdam_color_blind", + "touched": false, + "type": "categorical" + }, + { + "colorIndex": 5, + "paletteId": "eui_amsterdam_color_blind", + "touched": false, + "type": "categorical" + } + ], + "type": "gradient" + }, + "paletteId": "eui_amsterdam_color_blind", + "specialAssignments": [ + { + "color": { + "type": "loop" + }, + "rule": { + "type": "other" + }, + "touched": false + } + ] + }, + "layerId": "66c4f953-6f64-4e94-866f-ea62083a4fc5", + "layerType": "data", + "legendDisplay": "show", + "metrics": [ + "920ed35e-df85-4640-9a08-fb755078ffc0" + ], + "nestedLegend": false, + "numberDisplay": "percent", + "primaryGroups": [ + "830dc1e4-efaa-4b02-a9e5-71ecf70fcd91" + ] + } + ], + "shape": "donut" + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsPie" + }, + "enhancements": {} + }, + "gridData": { + "h": 15, + "i": "98f58056-281d-48fe-a045-9fc5975472d8", + "w": 24, + "x": 24, + "y": 30 + }, + "panelIndex": "98f58056-281d-48fe-a045-9fc5975472d8", + "title": "Top DNS Queries[Gigamon AMI]", + "type": "lens" + }, + { + "embeddableConfig": { + "attributes": { + "references": [ + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "indexpattern-datasource-layer-ecbac86b-4380-404f-8228-0eebf7bdfc91", + "type": "index-pattern" + }, + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "e129a477-9070-430e-a87c-8699b92ac3ce", + "type": "index-pattern" + } + ], + "state": { + "adHocDataViews": {}, + "datasourceStates": { + "formBased": { + "layers": { + "ecbac86b-4380-404f-8228-0eebf7bdfc91": { + "columnOrder": [ + "bca7b9cc-0dc8-4f55-a3b2-9f54b74b3769", + "c74da66c-1554-4afa-aa45-a42c11d00043" + ], + "columns": { + "bca7b9cc-0dc8-4f55-a3b2-9f54b74b3769": { + "customLabel": true, + "dataType": "ip", + "isBucketed": true, + "label": "Server ip", + "operationType": "terms", + "params": { + "exclude": [], + "excludeIsRegex": false, + "include": [], + "includeIsRegex": false, + "missingBucket": false, + "orderBy": { + "columnId": "c74da66c-1554-4afa-aa45-a42c11d00043", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": true, + "parentFormat": { + "id": "terms" + }, + "size": 25 + }, + "scale": "ordinal", + "sourceField": "gigamon.ami.src_ip" + }, + "c74da66c-1554-4afa-aa45-a42c11d00043": { + "dataType": "number", + "isBucketed": false, + "label": "Count of records", + "operationType": "count", + "params": { + "emptyAsNull": true + }, + "scale": "ratio", + "sourceField": "___records___" + } + }, + "incompleteColumns": {}, + "sampling": 1 + } + } + }, + "indexpattern": { + "layers": {} + }, + "textBased": { + "layers": {} + } + }, + "filters": [ + { + "$state": { + "store": "appState" + }, + "meta": { + "alias": null, + "disabled": false, + "index": "e129a477-9070-430e-a87c-8699b92ac3ce", + "negate": false, + "params": [ + { + "meta": { + "alias": null, + "disabled": false, + "field": "gigamon.ami.app_name", + "index": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "key": "gigamon.ami.app_name", + "negate": false, + "params": { + "query": "dns" + }, + "type": "phrase" + }, + "query": { + "match_phrase": { + "gigamon.ami.app_name": "dns" + } + } + }, + { + "meta": { + "alias": null, + "disabled": false, + "field": "gigamon.ami.dst_port", + "index": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "key": "gigamon.ami.dst_port", + "negate": false, + "params": { + "query": "53" + }, + "type": "phrase" + }, + "query": { + "match_phrase": { + "gigamon.ami.dst_port": "53" + } + } + } + ], + "relation": "AND", + "type": "combined" + }, + "query": {} + } + ], + "internalReferences": [], + "query": { + "language": "kuery", + "query": "data_stream.dataset : \"gigamon.ami\" " + }, + "visualization": { + "columns": [ + { + "columnId": "bca7b9cc-0dc8-4f55-a3b2-9f54b74b3769", + "isTransposed": false + }, + { + "columnId": "c74da66c-1554-4afa-aa45-a42c11d00043", + "isTransposed": false + } + ], + "layerId": "ecbac86b-4380-404f-8228-0eebf7bdfc91", + "layerType": "data" + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsDatatable" + }, + "enhancements": {} + }, + "gridData": { + "h": 15, + "i": "a8ab6b8e-65a7-4b15-9d88-4fe84a04e66a", + "w": 24, + "x": 0, + "y": 48 + }, + "panelIndex": "a8ab6b8e-65a7-4b15-9d88-4fe84a04e66a", + "title": "DNS Rogue Servers[Gigamon AMI]", + "type": "lens" + }, + { + "embeddableConfig": { + "attributes": { + "references": [ + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "indexpattern-datasource-layer-fb531e58-0b95-4e83-b783-bf2806d409a5", + "type": "index-pattern" + } + ], + "state": { + "adHocDataViews": {}, + "datasourceStates": { + "formBased": { + "currentIndexPatternId": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "layers": { + "fb531e58-0b95-4e83-b783-bf2806d409a5": { + "columnOrder": [ + "6afa5e9f-20a3-414c-9075-9c1c10ed4246", + "3ed41f7f-3041-4fab-ab2b-9ee94ef57dd3" + ], + "columns": { + "3ed41f7f-3041-4fab-ab2b-9ee94ef57dd3": { + "dataType": "number", + "isBucketed": false, + "label": "Count of records", + "operationType": "count", + "params": { + "emptyAsNull": true + }, + "scale": "ratio", + "sourceField": "___records___" + }, + "6afa5e9f-20a3-414c-9075-9c1c10ed4246": { + "customLabel": true, + "dataType": "number", + "isBucketed": true, + "label": "http_code", + "operationType": "terms", + "params": { + "exclude": [], + "excludeIsRegex": false, + "include": [], + "includeIsRegex": false, + "missingBucket": false, + "orderBy": { + "columnId": "3ed41f7f-3041-4fab-ab2b-9ee94ef57dd3", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": false, + "parentFormat": { + "id": "terms" + }, + "secondaryFields": [], + "size": 20 + }, + "scale": "ordinal", + "sourceField": "gigamon.ami.http_code" + } + }, + "incompleteColumns": {}, + "indexPatternId": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "sampling": 1 + } + } + }, + "indexpattern": { + "layers": {} + }, + "textBased": { + "layers": {} + } + }, + "filters": [], + "internalReferences": [], + "query": { + "language": "kuery", + "query": "data_stream.dataset : \"gigamon.ami\" and gigamon.ami.http_code \u003e= \"400\" and gigamon.ami.http_code\u003c \"500\"" + }, + "visualization": { + "axisTitlesVisibilitySettings": { + "x": true, + "yLeft": true, + "yRight": true + }, + "fittingFunction": "None", + "gridlinesVisibilitySettings": { + "x": true, + "yLeft": true, + "yRight": true + }, + "labelsOrientation": { + "x": 0, + "yLeft": 0, + "yRight": 0 + }, + "layers": [ + { + "accessors": [ + "3ed41f7f-3041-4fab-ab2b-9ee94ef57dd3" + ], + "colorMapping": { + "assignments": [], + "colorMode": { + "type": "categorical" + }, + "paletteId": "eui_amsterdam_color_blind", + "specialAssignments": [ + { + "color": { + "type": "loop" + }, + "rule": { + "type": "other" + }, + "touched": false + } + ] + }, + "layerId": "fb531e58-0b95-4e83-b783-bf2806d409a5", + "layerType": "data", + "position": "top", + "seriesType": "bar_horizontal", + "showGridlines": false, + "splitAccessor": "6afa5e9f-20a3-414c-9075-9c1c10ed4246", + "yConfig": [ + { + "color": "#54b399", + "forAccessor": "3ed41f7f-3041-4fab-ab2b-9ee94ef57dd3" + } + ] + } + ], + "legend": { + "isVisible": true, + "position": "right", + "showSingleSeries": true + }, + "preferredSeriesType": "bar_horizontal", + "tickLabelsVisibilitySettings": { + "x": true, + "yLeft": true, + "yRight": true + }, + "valueLabels": "hide" + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsXY" + }, + "enhancements": {} + }, + "gridData": { + "h": 15, + "i": "3158230d-f337-4f7c-b6e4-4ef7bb238e1d", + "w": 24, + "x": 24, + "y": 45 + }, + "panelIndex": "3158230d-f337-4f7c-b6e4-4ef7bb238e1d", + "title": "Distribution of HTTP Error codes[Gigamon AMI]", + "type": "lens" + }, + { + "embeddableConfig": { + "attributes": { + "references": [ + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "indexpattern-datasource-layer-6e2c8ecc-817c-4e37-9f2d-a4fa9d1e24fa", + "type": "index-pattern" + } + ], + "state": { + "adHocDataViews": {}, + "datasourceStates": { + "formBased": { + "layers": { + "6e2c8ecc-817c-4e37-9f2d-a4fa9d1e24fa": { + "columnOrder": [ + "981b552d-157e-48e5-bbd0-57ed4f3e1abe", + "f67b2e7d-94fa-4f8b-be9c-9f5a44270aba" + ], + "columns": { + "981b552d-157e-48e5-bbd0-57ed4f3e1abe": { + "customLabel": true, + "dataType": "string", + "isBucketed": true, + "label": "ut_domain", + "operationType": "terms", + "params": { + "exclude": [], + "excludeIsRegex": false, + "include": [], + "includeIsRegex": false, + "missingBucket": false, + "orderBy": { + "columnId": "f67b2e7d-94fa-4f8b-be9c-9f5a44270aba", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": false, + "parentFormat": { + "id": "terms" + }, + "size": 25 + }, + "scale": "ordinal", + "sourceField": "gigamon.ami.dns_name" + }, + "f67b2e7d-94fa-4f8b-be9c-9f5a44270aba": { + "dataType": "number", + "isBucketed": false, + "label": "Count of records", + "operationType": "count", + "params": { + "emptyAsNull": true + }, + "scale": "ratio", + "sourceField": "___records___" + } + }, + "incompleteColumns": {}, + "sampling": 1 + } + } + }, + "indexpattern": { + "layers": {} + }, + "textBased": { + "layers": {} + } + }, + "filters": [], + "internalReferences": [], + "query": { + "language": "kuery", + "query": "data_stream.dataset : \"gigamon.ami\" " + }, + "visualization": { + "columns": [ + { + "columnId": "981b552d-157e-48e5-bbd0-57ed4f3e1abe" + }, + { + "columnId": "f67b2e7d-94fa-4f8b-be9c-9f5a44270aba" + } + ], + "layerId": "6e2c8ecc-817c-4e37-9f2d-a4fa9d1e24fa", + "layerType": "data" + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsDatatable" + }, + "enhancements": {} + }, + "gridData": { + "h": 15, + "i": "a7af43a5-7061-4222-b3d1-611f063a4e85", + "w": 24, + "x": 0, + "y": 63 + }, + "panelIndex": "a7af43a5-7061-4222-b3d1-611f063a4e85", + "title": "Top URL's", + "type": "lens" + }, + { + "embeddableConfig": { + "attributes": { + "references": [ + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "indexpattern-datasource-layer-974e273d-499f-40bc-9759-7176653b97e6", + "type": "index-pattern" + } + ], + "state": { + "adHocDataViews": {}, + "datasourceStates": { + "formBased": { + "currentIndexPatternId": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "layers": { + "974e273d-499f-40bc-9759-7176653b97e6": { + "columnOrder": [ + "e42ef1c4-97cc-4d69-979d-2f2afc4e7094", + "6b470c1b-a015-47ee-9b85-48ee5c504944" + ], + "columns": { + "6b470c1b-a015-47ee-9b85-48ee5c504944": { + "dataType": "number", + "isBucketed": false, + "label": "Count of records", + "operationType": "count", + "params": { + "emptyAsNull": true + }, + "scale": "ratio", + "sourceField": "___records___" + }, + "e42ef1c4-97cc-4d69-979d-2f2afc4e7094": { + "dataType": "string", + "isBucketed": true, + "label": "Top 15 values of gigamon.ami.ssl_cipher_suite_id_value", + "operationType": "terms", + "params": { + "exclude": [], + "excludeIsRegex": false, + "include": [], + "includeIsRegex": false, + "missingBucket": false, + "orderBy": { + "columnId": "6b470c1b-a015-47ee-9b85-48ee5c504944", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": false, + "parentFormat": { + "id": "terms" + }, + "size": 15 + }, + "scale": "ordinal", + "sourceField": "gigamon.ami.ssl_cipher_suite_id_value" + } + }, + "incompleteColumns": {}, + "indexPatternId": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "sampling": 1 + } + } + }, + "indexpattern": { + "layers": {} + }, + "textBased": { + "layers": {} + } + }, + "filters": [], + "internalReferences": [], + "query": { + "language": "kuery", + "query": "data_stream.dataset : \"gigamon.ami\" " + }, + "visualization": { + "axisTitlesVisibilitySettings": { + "x": true, + "yLeft": true, + "yRight": true + }, + "fittingFunction": "None", + "gridlinesVisibilitySettings": { + "x": true, + "yLeft": true, + "yRight": true + }, + "labelsOrientation": { + "x": 0, + "yLeft": 0, + "yRight": 0 + }, + "layers": [ + { + "accessors": [ + "6b470c1b-a015-47ee-9b85-48ee5c504944" + ], + "colorMapping": { + "assignments": [], + "colorMode": { + "type": "categorical" + }, + "paletteId": "eui_amsterdam_color_blind", + "specialAssignments": [ + { + "color": { + "type": "loop" + }, + "rule": { + "type": "other" + }, + "touched": false + } + ] + }, + "layerId": "974e273d-499f-40bc-9759-7176653b97e6", + "layerType": "data", + "position": "top", + "seriesType": "bar_stacked", + "showGridlines": false, + "xAccessor": "e42ef1c4-97cc-4d69-979d-2f2afc4e7094", + "yConfig": [ + { + "color": "#5485b3", + "forAccessor": "6b470c1b-a015-47ee-9b85-48ee5c504944" + } + ] + } + ], + "legend": { + "isVisible": true, + "position": "right" + }, + "preferredSeriesType": "bar_stacked", + "tickLabelsVisibilitySettings": { + "x": true, + "yLeft": true, + "yRight": true + }, + "valueLabels": "hide" + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsXY" + }, + "enhancements": {} + }, + "gridData": { + "h": 15, + "i": "2ba5611d-c9c5-4ace-bc10-7ca77c30173b", + "w": 24, + "x": 24, + "y": 60 + }, + "panelIndex": "2ba5611d-c9c5-4ace-bc10-7ca77c30173b", + "title": "SSL Ciphers[Gigamon AMI]", + "type": "lens" + } + ], + "timeRestore": false, + "title": "[Logs Gigamon] App Insights", + "version": 1 + }, + "coreMigrationVersion": "8.8.0", + "created_at": "2024-08-21T10:02:09.624Z", + "id": "gigamon-855a64dc-1a72-403f-932b-a5b848378f7e", + "managed": false, + "references": [ + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "82d13ba0-b304-4852-afd1-6963f658852a:indexpattern-datasource-layer-2f770a63-b087-4627-9eac-4ec02a6860a2", + "type": "index-pattern" + }, + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "f8298c20-12fa-44e3-a9ab-139a3d78d841:indexpattern-datasource-layer-f2bfa25e-3307-4990-9396-2a83c047bd87", + "type": "index-pattern" + }, + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "f8298c20-12fa-44e3-a9ab-139a3d78d841:c8822484-f6d7-438a-8d37-aea5210af207", + "type": "index-pattern" + }, + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "9abb6f37-8bf4-4ab6-b5d6-536dc987436d:indexpattern-datasource-layer-5276360b-3935-40fb-81fc-d50d8f9ea03f", + "type": "index-pattern" + }, + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "98f58056-281d-48fe-a045-9fc5975472d8:indexpattern-datasource-layer-66c4f953-6f64-4e94-866f-ea62083a4fc5", + "type": "index-pattern" + }, + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "a8ab6b8e-65a7-4b15-9d88-4fe84a04e66a:indexpattern-datasource-layer-ecbac86b-4380-404f-8228-0eebf7bdfc91", + "type": "index-pattern" + }, + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "a8ab6b8e-65a7-4b15-9d88-4fe84a04e66a:e129a477-9070-430e-a87c-8699b92ac3ce", + "type": "index-pattern" + }, + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "3158230d-f337-4f7c-b6e4-4ef7bb238e1d:indexpattern-datasource-layer-fb531e58-0b95-4e83-b783-bf2806d409a5", + "type": "index-pattern" + }, + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "a7af43a5-7061-4222-b3d1-611f063a4e85:indexpattern-datasource-layer-6e2c8ecc-817c-4e37-9f2d-a4fa9d1e24fa", + "type": "index-pattern" + }, + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "2ba5611d-c9c5-4ace-bc10-7ca77c30173b:indexpattern-datasource-layer-974e273d-499f-40bc-9759-7176653b97e6", + "type": "index-pattern" + } + ], + "type": "dashboard", + "typeMigrationVersion": "8.9.0" +} \ No newline at end of file diff --git a/packages/gigamon/kibana/dashboard/gigamon-8f772203-64e0-4d1b-bb0e-14fa57b4b754.json b/packages/gigamon/kibana/dashboard/gigamon-8f772203-64e0-4d1b-bb0e-14fa57b4b754.json new file mode 100644 index 00000000000..69c0ce659fa --- /dev/null +++ b/packages/gigamon/kibana/dashboard/gigamon-8f772203-64e0-4d1b-bb0e-14fa57b4b754.json @@ -0,0 +1,682 @@ +{ + "attributes": { + "description": "Determining if a URL is benign or malicious by analyzing the URL or its components.", + "kibanaSavedObjectMeta": { + "searchSourceJSON": { + "filter": [], + "query": { + "language": "kuery", + "query": "" + } + } + }, + "optionsJSON": { + "hidePanelTitles": false, + "syncColors": false, + "syncCursor": true, + "syncTooltips": false, + "useMargins": true + }, + "panelsJSON": [ + { + "embeddableConfig": { + "description": "", + "enhancements": {}, + "hidePanelTitles": true, + "savedVis": { + "data": { + "aggs": [], + "searchSource": { + "filter": [], + "query": { + "language": "kuery", + "query": "" + } + } + }, + "description": "", + "id": "", + "params": { + "fontSize": 12, + "markdown": "**AMI Starter Pack**\n\n- [App Insights](#/dashboard/gigamon-855a64dc-1a72-403f-932b-a5b848378f7e)\n- Trouble shooting\n - [Troubleshooting Insights for Network traffic](#/dashboard/gigamon-e733c64e-6ea9-4dd6-a8ca-3914274598f3)\n - [Top Traffic Sources and Destinations](#/dashboard/gigamon-d6cecabb-f026-4823-914d-b4d61fd61787)\n- [Security Posture](#/dashboard/gigamon-4ae2cd9a-3eef-42c6-a02c-731ce74d94ac)\n- Identifier Analysis\n - [Homoglyph Detection](#/dashboard/gigamon-64ca15b3-8327-4940-8b35-0e75ab3a73c6)\n - [**URL Analysis**](#/dashboard/gigamon-8f772203-64e0-4d1b-bb0e-14fa57b4b754)\n- M21-31\n - [Web Traffic Details](#/dashboard/gigamon-d866be49-47b2-4306-a2be-d5cb6b6ab9c8)\n - [DNS Information](#/dashboard/gigamon-e192a946-8287-450a-a8f0-e23de9f95dae)\n- Rogue Activity\n - [Unsanctioned Peer to Peer Apps](#/dashboard/gigamon-3523b534-7525-44a7-808f-6a9f3235a67d)\n- [PCI Compliance](#/dashboard/gigamon-032aab7b-87b2-444c-8c86-956d092598fb)\n- Suspicious Activities\n - [Suspicious Connections](#/dashboard/gigamon-62291e9e-8b75-4f23-9121-79959da99b3b)\n - [Unmanaged Endpoints](#/dashboard/gigamon-46931a21-a33e-43af-aadf-da8d6446b9cc)", + "openLinksInNewTab": false + }, + "title": "", + "type": "markdown", + "uiState": {} + } + }, + "gridData": { + "h": 22, + "i": "52292c42-c0a5-4d5a-8a21-7f5dea0d72db", + "w": 24, + "x": 0, + "y": 0 + }, + "panelIndex": "52292c42-c0a5-4d5a-8a21-7f5dea0d72db", + "title": "", + "type": "visualization" + }, + { + "embeddableConfig": { + "attributes": { + "references": [ + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "indexpattern-datasource-layer-cd856c2a-46c1-4df6-b312-a57d975d7421", + "type": "index-pattern" + } + ], + "state": { + "adHocDataViews": {}, + "datasourceStates": { + "formBased": { + "layers": { + "cd856c2a-46c1-4df6-b312-a57d975d7421": { + "columnOrder": [ + "6844ab73-32bb-4053-a050-e6323745a48a", + "a5c06c0e-c278-4cdf-8b3a-eb0a7dc54e8b" + ], + "columns": { + "6844ab73-32bb-4053-a050-e6323745a48a": { + "dataType": "string", + "isBucketed": true, + "label": "Top 10 values of gigamon.ami.dns_name", + "operationType": "terms", + "params": { + "exclude": [], + "excludeIsRegex": false, + "include": [], + "includeIsRegex": false, + "missingBucket": false, + "orderBy": { + "columnId": "a5c06c0e-c278-4cdf-8b3a-eb0a7dc54e8b", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": false, + "parentFormat": { + "id": "terms" + }, + "size": 10 + }, + "scale": "ordinal", + "sourceField": "gigamon.ami.dns_name" + }, + "a5c06c0e-c278-4cdf-8b3a-eb0a7dc54e8b": { + "dataType": "number", + "isBucketed": false, + "label": "Count of records", + "operationType": "count", + "params": { + "emptyAsNull": true + }, + "scale": "ratio", + "sourceField": "___records___" + } + }, + "incompleteColumns": {}, + "sampling": 1 + } + } + }, + "indexpattern": { + "layers": {} + }, + "textBased": { + "layers": {} + } + }, + "filters": [], + "internalReferences": [], + "query": { + "language": "kuery", + "query": "data_stream.dataset : \"gigamon.ami\" " + }, + "visualization": { + "layers": [ + { + "categoryDisplay": "default", + "colorMapping": { + "assignments": [], + "colorMode": { + "sort": "desc", + "steps": [ + { + "colorCode": "#f3312b", + "touched": false, + "type": "colorCode" + }, + { + "colorCode": "#bfe467", + "touched": true, + "type": "colorCode" + }, + { + "colorCode": "#2aee1d", + "touched": false, + "type": "colorCode" + } + ], + "type": "gradient" + }, + "paletteId": "eui_amsterdam_color_blind", + "specialAssignments": [ + { + "color": { + "type": "loop" + }, + "rule": { + "type": "other" + }, + "touched": false + } + ] + }, + "layerId": "cd856c2a-46c1-4df6-b312-a57d975d7421", + "layerType": "data", + "legendDisplay": "default", + "metrics": [ + "a5c06c0e-c278-4cdf-8b3a-eb0a7dc54e8b" + ], + "nestedLegend": false, + "numberDisplay": "percent", + "primaryGroups": [ + "6844ab73-32bb-4053-a050-e6323745a48a" + ] + } + ], + "shape": "donut" + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsPie" + }, + "enhancements": {} + }, + "gridData": { + "h": 15, + "i": "0fdd5c6d-a9fb-4ce9-9e62-b4491a5e2fd7", + "w": 24, + "x": 24, + "y": 0 + }, + "panelIndex": "0fdd5c6d-a9fb-4ce9-9e62-b4491a5e2fd7", + "title": "Most Common URL's - Top 10[Gigamon AMI]", + "type": "lens" + }, + { + "embeddableConfig": { + "attributes": { + "references": [ + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "indexpattern-datasource-layer-2baf48c3-9fd0-496a-83bc-10fb08c0e185", + "type": "index-pattern" + }, + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "95b7216a-aedc-4964-ac63-824f2ba16b0b", + "type": "index-pattern" + } + ], + "state": { + "adHocDataViews": {}, + "datasourceStates": { + "formBased": { + "layers": { + "2baf48c3-9fd0-496a-83bc-10fb08c0e185": { + "columnOrder": [ + "7291edf7-169f-4e54-b973-c167cf525f5c", + "d093cc35-d763-4f8f-a180-b76c942acfe1" + ], + "columns": { + "7291edf7-169f-4e54-b973-c167cf525f5c": { + "dataType": "number", + "isBucketed": true, + "label": "Top 25 values of gigamon.ami.dst_port", + "operationType": "terms", + "params": { + "exclude": [], + "excludeIsRegex": false, + "include": [], + "includeIsRegex": false, + "missingBucket": false, + "orderBy": { + "columnId": "d093cc35-d763-4f8f-a180-b76c942acfe1", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": false, + "parentFormat": { + "id": "terms" + }, + "size": 25 + }, + "scale": "ordinal", + "sourceField": "gigamon.ami.dst_port" + }, + "d093cc35-d763-4f8f-a180-b76c942acfe1": { + "dataType": "number", + "isBucketed": false, + "label": "Count of records", + "operationType": "count", + "params": { + "emptyAsNull": true + }, + "scale": "ratio", + "sourceField": "___records___" + } + }, + "incompleteColumns": {}, + "sampling": 1 + } + } + }, + "indexpattern": { + "layers": {} + }, + "textBased": { + "layers": {} + } + }, + "filters": [ + { + "$state": { + "store": "appState" + }, + "meta": { + "alias": null, + "disabled": false, + "field": "gigamon.ami.dns_name", + "index": "95b7216a-aedc-4964-ac63-824f2ba16b0b", + "key": "gigamon.ami.dns_name", + "negate": false, + "type": "exists", + "value": "exists" + }, + "query": { + "exists": { + "field": "gigamon.ami.dns_name" + } + } + } + ], + "internalReferences": [], + "query": { + "language": "kuery", + "query": "data_stream.dataset : \"gigamon.ami\" " + }, + "visualization": { + "layers": [ + { + "categoryDisplay": "default", + "colorMapping": { + "assignments": [], + "colorMode": { + "type": "categorical" + }, + "paletteId": "kibana_v7_legacy", + "specialAssignments": [ + { + "color": { + "type": "loop" + }, + "rule": { + "type": "other" + }, + "touched": false + } + ] + }, + "layerId": "2baf48c3-9fd0-496a-83bc-10fb08c0e185", + "layerType": "data", + "legendDisplay": "default", + "metrics": [ + "d093cc35-d763-4f8f-a180-b76c942acfe1" + ], + "nestedLegend": false, + "numberDisplay": "percent", + "primaryGroups": [ + "7291edf7-169f-4e54-b973-c167cf525f5c" + ] + } + ], + "shape": "donut" + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsPie" + }, + "enhancements": {} + }, + "gridData": { + "h": 15, + "i": "4648f24d-ab58-4f61-8168-70d53013db9b", + "w": 24, + "x": 24, + "y": 15 + }, + "panelIndex": "4648f24d-ab58-4f61-8168-70d53013db9b", + "title": "Port Usage Breakdown[Gigamon AMI]", + "type": "lens" + }, + { + "embeddableConfig": { + "attributes": { + "references": [ + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "indexpattern-datasource-layer-b4cb0805-6cc3-4468-8d86-48aa1a0b7db1", + "type": "index-pattern" + } + ], + "state": { + "adHocDataViews": {}, + "datasourceStates": { + "formBased": { + "currentIndexPatternId": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "layers": { + "b4cb0805-6cc3-4468-8d86-48aa1a0b7db1": { + "columnOrder": [ + "d3d7ed45-8235-4ab0-b28d-73ee699c05ba", + "28156743-e6eb-45db-8440-4b20d3605ed7" + ], + "columns": { + "28156743-e6eb-45db-8440-4b20d3605ed7": { + "dataType": "number", + "isBucketed": false, + "label": "Count of records", + "operationType": "count", + "params": { + "emptyAsNull": true + }, + "scale": "ratio", + "sourceField": "___records___" + }, + "d3d7ed45-8235-4ab0-b28d-73ee699c05ba": { + "customLabel": true, + "dataType": "string", + "isBucketed": true, + "label": "Domain", + "operationType": "terms", + "params": { + "exclude": [], + "excludeIsRegex": false, + "include": [], + "includeIsRegex": false, + "missingBucket": false, + "orderBy": { + "columnId": "28156743-e6eb-45db-8440-4b20d3605ed7", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": false, + "parentFormat": { + "id": "terms" + }, + "size": 25 + }, + "scale": "ordinal", + "sourceField": "gigamon.ami.dns_name" + } + }, + "incompleteColumns": {}, + "indexPatternId": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "sampling": 1 + } + } + }, + "indexpattern": { + "layers": {} + }, + "textBased": { + "layers": {} + } + }, + "filters": [], + "internalReferences": [], + "query": { + "language": "kuery", + "query": "data_stream.dataset : \"gigamon.ami\" " + }, + "visualization": { + "columns": [ + { + "columnId": "d3d7ed45-8235-4ab0-b28d-73ee699c05ba" + }, + { + "columnId": "28156743-e6eb-45db-8440-4b20d3605ed7" + } + ], + "layerId": "b4cb0805-6cc3-4468-8d86-48aa1a0b7db1", + "layerType": "data" + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsDatatable" + }, + "enhancements": {} + }, + "gridData": { + "h": 15, + "i": "26779c1e-6664-461a-87b5-2694a97b059f", + "w": 24, + "x": 0, + "y": 22 + }, + "panelIndex": "26779c1e-6664-461a-87b5-2694a97b059f", + "title": "Number of Events Per URL[Gigamon AMI]", + "type": "lens" + }, + { + "embeddableConfig": { + "attributes": { + "references": [ + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "indexpattern-datasource-layer-041a0381-2bfb-4cd9-873d-19dce5f12fc9", + "type": "index-pattern" + } + ], + "state": { + "adHocDataViews": {}, + "datasourceStates": { + "formBased": { + "layers": { + "041a0381-2bfb-4cd9-873d-19dce5f12fc9": { + "columnOrder": [ + "bfc963a5-2153-4879-b559-1bb76a950438", + "fbf41e2b-8e6a-4592-a0fe-a5d619cb8159", + "1cd730e6-4d07-4f73-a00b-c4c461b4813e" + ], + "columns": { + "1cd730e6-4d07-4f73-a00b-c4c461b4813e": { + "dataType": "number", + "isBucketed": false, + "label": "Count of records", + "operationType": "count", + "params": { + "emptyAsNull": true + }, + "scale": "ratio", + "sourceField": "___records___" + }, + "bfc963a5-2153-4879-b559-1bb76a950438": { + "dataType": "date", + "isBucketed": true, + "label": "@timestamp", + "operationType": "date_histogram", + "params": { + "dropPartials": false, + "includeEmptyRows": false, + "interval": "h" + }, + "scale": "interval", + "sourceField": "@timestamp" + }, + "fbf41e2b-8e6a-4592-a0fe-a5d619cb8159": { + "dataType": "string", + "isBucketed": true, + "label": "Top 10 values of gigamon.ami.dns_name", + "operationType": "terms", + "params": { + "exclude": [], + "excludeIsRegex": false, + "include": [], + "includeIsRegex": false, + "missingBucket": false, + "orderBy": { + "columnId": "1cd730e6-4d07-4f73-a00b-c4c461b4813e", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": false, + "parentFormat": { + "id": "terms" + }, + "size": 10 + }, + "scale": "ordinal", + "sourceField": "gigamon.ami.dns_name" + } + }, + "incompleteColumns": {}, + "sampling": 1 + } + } + }, + "indexpattern": { + "layers": {} + }, + "textBased": { + "layers": {} + } + }, + "filters": [], + "internalReferences": [], + "query": { + "language": "kuery", + "query": "data_stream.dataset : \"gigamon.ami\" " + }, + "visualization": { + "axisTitlesVisibilitySettings": { + "x": true, + "yLeft": true, + "yRight": true + }, + "fittingFunction": "None", + "gridlinesVisibilitySettings": { + "x": true, + "yLeft": true, + "yRight": true + }, + "labelsOrientation": { + "x": 0, + "yLeft": 0, + "yRight": 0 + }, + "layers": [ + { + "accessors": [ + "1cd730e6-4d07-4f73-a00b-c4c461b4813e" + ], + "colorMapping": { + "assignments": [], + "colorMode": { + "type": "categorical" + }, + "paletteId": "eui_amsterdam_color_blind", + "specialAssignments": [ + { + "color": { + "type": "loop" + }, + "rule": { + "type": "other" + }, + "touched": false + } + ] + }, + "layerId": "041a0381-2bfb-4cd9-873d-19dce5f12fc9", + "layerType": "data", + "position": "top", + "seriesType": "line", + "showGridlines": false, + "splitAccessor": "fbf41e2b-8e6a-4592-a0fe-a5d619cb8159", + "xAccessor": "bfc963a5-2153-4879-b559-1bb76a950438" + } + ], + "legend": { + "isVisible": true, + "position": "right" + }, + "preferredSeriesType": "line", + "tickLabelsVisibilitySettings": { + "x": true, + "yLeft": true, + "yRight": true + }, + "valueLabels": "hide" + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsXY" + }, + "enhancements": {} + }, + "gridData": { + "h": 15, + "i": "8ecd545c-6fc8-49f4-8612-29ce91f43b63", + "w": 24, + "x": 0, + "y": 37 + }, + "panelIndex": "8ecd545c-6fc8-49f4-8612-29ce91f43b63", + "title": "URL Activity[Gigamon AMI]", + "type": "lens" + } + ], + "timeRestore": false, + "title": "[Logs Gigamon] URL Analysis", + "version": 1 + }, + "coreMigrationVersion": "8.8.0", + "created_at": "2024-08-21T10:07:49.927Z", + "id": "gigamon-8f772203-64e0-4d1b-bb0e-14fa57b4b754", + "managed": false, + "references": [ + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "0fdd5c6d-a9fb-4ce9-9e62-b4491a5e2fd7:indexpattern-datasource-layer-cd856c2a-46c1-4df6-b312-a57d975d7421", + "type": "index-pattern" + }, + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "4648f24d-ab58-4f61-8168-70d53013db9b:indexpattern-datasource-layer-2baf48c3-9fd0-496a-83bc-10fb08c0e185", + "type": "index-pattern" + }, + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "4648f24d-ab58-4f61-8168-70d53013db9b:95b7216a-aedc-4964-ac63-824f2ba16b0b", + "type": "index-pattern" + }, + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "26779c1e-6664-461a-87b5-2694a97b059f:indexpattern-datasource-layer-b4cb0805-6cc3-4468-8d86-48aa1a0b7db1", + "type": "index-pattern" + }, + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "8ecd545c-6fc8-49f4-8612-29ce91f43b63:indexpattern-datasource-layer-041a0381-2bfb-4cd9-873d-19dce5f12fc9", + "type": "index-pattern" + } + ], + "type": "dashboard", + "typeMigrationVersion": "8.9.0" +} \ No newline at end of file diff --git a/packages/gigamon/kibana/dashboard/gigamon-d6cecabb-f026-4823-914d-b4d61fd61787.json b/packages/gigamon/kibana/dashboard/gigamon-d6cecabb-f026-4823-914d-b4d61fd61787.json new file mode 100644 index 00000000000..27695403cb4 --- /dev/null +++ b/packages/gigamon/kibana/dashboard/gigamon-d6cecabb-f026-4823-914d-b4d61fd61787.json @@ -0,0 +1,1212 @@ +{ + "attributes": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": { + "filter": [], + "query": { + "language": "kuery", + "query": "" + } + } + }, + "optionsJSON": { + "hidePanelTitles": false, + "syncColors": false, + "syncCursor": true, + "syncTooltips": false, + "useMargins": true + }, + "panelsJSON": [ + { + "embeddableConfig": { + "description": "", + "enhancements": {}, + "hidePanelTitles": true, + "savedVis": { + "data": { + "aggs": [], + "searchSource": { + "filter": [], + "query": { + "language": "kuery", + "query": "" + } + } + }, + "description": "", + "id": "", + "params": { + "fontSize": 12, + "markdown": "**AMI Starter Pack**\n\n- [App Insights](#/dashboard/gigamon-855a64dc-1a72-403f-932b-a5b848378f7e)\n- Trouble shooting\n - [Troubleshooting Insights for Network traffic](#/dashboard/gigamon-e733c64e-6ea9-4dd6-a8ca-3914274598f3)\n - [**Top Traffic Sources and Destinations**](#/dashboard/gigamon-d6cecabb-f026-4823-914d-b4d61fd61787)\n- [Security Posture](#/dashboard/gigamon-4ae2cd9a-3eef-42c6-a02c-731ce74d94ac)\n- Identifier Analysis\n - [Homoglyph Detection](#/dashboard/gigamon-64ca15b3-8327-4940-8b35-0e75ab3a73c6)\n - [URL Analysis](#/dashboard/gigamon-8f772203-64e0-4d1b-bb0e-14fa57b4b754)\n- M21-31\n - [Web Traffic Details](#/dashboard/gigamon-d866be49-47b2-4306-a2be-d5cb6b6ab9c8)\n - [DNS Information](#/dashboard/gigamon-e192a946-8287-450a-a8f0-e23de9f95dae)\n- Rogue Activity\n - [Unsanctioned Peer to Peer Apps](#/dashboard/gigamon-3523b534-7525-44a7-808f-6a9f3235a67d)\n- [PCI Compliance](#/dashboard/gigamon-032aab7b-87b2-444c-8c86-956d092598fb)\n- Suspicious Activities\n - [Suspicious Connections](#/dashboard/gigamon-62291e9e-8b75-4f23-9121-79959da99b3b)\n - [Unmanaged Endpoints](#/dashboard/gigamon-46931a21-a33e-43af-aadf-da8d6446b9cc)", + "openLinksInNewTab": false + }, + "title": "", + "type": "markdown", + "uiState": {} + } + }, + "gridData": { + "h": 21, + "i": "9dd98f7e-00fe-49ba-a5a5-a19ae6b62d45", + "w": 24, + "x": 0, + "y": 0 + }, + "panelIndex": "9dd98f7e-00fe-49ba-a5a5-a19ae6b62d45", + "title": "", + "type": "visualization" + }, + { + "embeddableConfig": { + "attributes": { + "references": [ + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "indexpattern-datasource-layer-3dd7de9b-2674-43e2-9f03-179267084b90", + "type": "index-pattern" + } + ], + "state": { + "adHocDataViews": {}, + "datasourceStates": { + "formBased": { + "layers": { + "3dd7de9b-2674-43e2-9f03-179267084b90": { + "columnOrder": [ + "2a289592-f71f-4235-974f-a3b49f5094d0" + ], + "columns": { + "2a289592-f71f-4235-974f-a3b49f5094d0": { + "customLabel": true, + "dataType": "number", + "isBucketed": false, + "label": "Distinct Source Ports", + "operationType": "unique_count", + "params": { + "emptyAsNull": true + }, + "scale": "ratio", + "sourceField": "gigamon.ami.src_port" + } + }, + "incompleteColumns": {}, + "sampling": 1 + } + } + }, + "indexpattern": { + "layers": {} + }, + "textBased": { + "layers": {} + } + }, + "filters": [], + "internalReferences": [], + "query": { + "language": "kuery", + "query": "data_stream.dataset : \"gigamon.ami\" " + }, + "visualization": { + "color": "#e4cd66", + "layerId": "3dd7de9b-2674-43e2-9f03-179267084b90", + "layerType": "data", + "metricAccessor": "2a289592-f71f-4235-974f-a3b49f5094d0", + "showBar": false + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsMetric" + }, + "enhancements": {}, + "hidePanelTitles": true + }, + "gridData": { + "h": 13, + "i": "6f8364bf-0889-4fcf-b93e-7bbe4a2e5a2f", + "w": 24, + "x": 24, + "y": 0 + }, + "panelIndex": "6f8364bf-0889-4fcf-b93e-7bbe4a2e5a2f", + "title": "", + "type": "lens" + }, + { + "embeddableConfig": { + "attributes": { + "references": [ + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "indexpattern-datasource-layer-684ec40c-0c1f-4071-bc86-2912815b5999", + "type": "index-pattern" + } + ], + "state": { + "adHocDataViews": {}, + "datasourceStates": { + "formBased": { + "currentIndexPatternId": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "layers": { + "684ec40c-0c1f-4071-bc86-2912815b5999": { + "columnOrder": [ + "c97b3714-be01-4926-b743-90a30d756c0e", + "1603c076-6ce6-410f-8756-e435f560cedd" + ], + "columns": { + "1603c076-6ce6-410f-8756-e435f560cedd": { + "dataType": "number", + "isBucketed": false, + "label": "Count of records", + "operationType": "count", + "params": { + "emptyAsNull": true + }, + "scale": "ratio", + "sourceField": "___records___" + }, + "c97b3714-be01-4926-b743-90a30d756c0e": { + "dataType": "number", + "isBucketed": true, + "label": "Top 25 values of gigamon.ami.dst_port", + "operationType": "terms", + "params": { + "exclude": [], + "excludeIsRegex": false, + "include": [], + "includeIsRegex": false, + "missingBucket": false, + "orderBy": { + "columnId": "1603c076-6ce6-410f-8756-e435f560cedd", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": false, + "parentFormat": { + "id": "terms" + }, + "size": 25 + }, + "scale": "ordinal", + "sourceField": "gigamon.ami.dst_port" + } + }, + "incompleteColumns": {}, + "indexPatternId": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "sampling": 1 + } + } + }, + "indexpattern": { + "layers": {} + }, + "textBased": { + "layers": {} + } + }, + "filters": [], + "internalReferences": [], + "query": { + "language": "kuery", + "query": "data_stream.dataset : \"gigamon.ami\" " + }, + "visualization": { + "layers": [ + { + "categoryDisplay": "default", + "colorMapping": { + "assignments": [], + "colorMode": { + "sort": "desc", + "steps": [ + { + "colorIndex": 3, + "paletteId": "eui_amsterdam_color_blind", + "touched": true, + "type": "categorical" + }, + { + "colorCode": "#1fc0ec", + "touched": false, + "type": "colorCode" + }, + { + "colorCode": "#9cc698", + "touched": false, + "type": "colorCode" + } + ], + "type": "gradient" + }, + "paletteId": "eui_amsterdam_color_blind", + "specialAssignments": [ + { + "color": { + "type": "loop" + }, + "rule": { + "type": "other" + }, + "touched": false + } + ] + }, + "layerId": "684ec40c-0c1f-4071-bc86-2912815b5999", + "layerType": "data", + "legendDisplay": "default", + "metrics": [ + "1603c076-6ce6-410f-8756-e435f560cedd" + ], + "nestedLegend": false, + "numberDisplay": "percent", + "primaryGroups": [ + "c97b3714-be01-4926-b743-90a30d756c0e" + ] + } + ], + "shape": "pie" + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsPie" + }, + "enhancements": {} + }, + "gridData": { + "h": 15, + "i": "af30586c-75b3-4cf7-8068-26dd00cf5015", + "w": 24, + "x": 24, + "y": 13 + }, + "panelIndex": "af30586c-75b3-4cf7-8068-26dd00cf5015", + "title": "Top Destination Ports[Gigamon AMI]", + "type": "lens" + }, + { + "embeddableConfig": { + "attributes": { + "references": [ + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "indexpattern-datasource-layer-4df04fa8-fb80-477b-9ba1-9cf4a934a83a", + "type": "index-pattern" + } + ], + "state": { + "adHocDataViews": {}, + "datasourceStates": { + "formBased": { + "layers": { + "4df04fa8-fb80-477b-9ba1-9cf4a934a83a": { + "columnOrder": [ + "edb81aaf-c2f7-435e-a83f-b1ad8183a52e", + "5c632bbc-7477-49c6-86ba-dfbab9a43422" + ], + "columns": { + "5c632bbc-7477-49c6-86ba-dfbab9a43422": { + "dataType": "number", + "isBucketed": false, + "label": "Count of records", + "operationType": "count", + "params": { + "emptyAsNull": true + }, + "scale": "ratio", + "sourceField": "___records___" + }, + "edb81aaf-c2f7-435e-a83f-b1ad8183a52e": { + "customLabel": true, + "dataType": "number", + "isBucketed": true, + "label": "Top Source ports", + "operationType": "terms", + "params": { + "exclude": [], + "excludeIsRegex": false, + "include": [], + "includeIsRegex": false, + "missingBucket": false, + "orderBy": { + "columnId": "5c632bbc-7477-49c6-86ba-dfbab9a43422", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": false, + "parentFormat": { + "id": "terms" + }, + "size": 25 + }, + "scale": "ordinal", + "sourceField": "gigamon.ami.src_port" + } + }, + "incompleteColumns": {}, + "sampling": 1 + } + } + }, + "indexpattern": { + "layers": {} + }, + "textBased": { + "layers": {} + } + }, + "filters": [], + "internalReferences": [], + "query": { + "language": "kuery", + "query": "data_stream.dataset : \"gigamon.ami\" " + }, + "visualization": { + "layers": [ + { + "categoryDisplay": "default", + "colorMapping": { + "assignments": [], + "colorMode": { + "sort": "desc", + "steps": [ + { + "colorCode": "#b52a71", + "touched": false, + "type": "colorCode" + }, + { + "colorCode": "#343c8f", + "touched": false, + "type": "colorCode" + }, + { + "colorCode": "#dddd30", + "touched": true, + "type": "colorCode" + } + ], + "type": "gradient" + }, + "paletteId": "eui_amsterdam_color_blind", + "specialAssignments": [ + { + "color": { + "type": "loop" + }, + "rule": { + "type": "other" + }, + "touched": false + } + ] + }, + "layerId": "4df04fa8-fb80-477b-9ba1-9cf4a934a83a", + "layerType": "data", + "legendDisplay": "default", + "metrics": [ + "5c632bbc-7477-49c6-86ba-dfbab9a43422" + ], + "nestedLegend": false, + "numberDisplay": "percent", + "primaryGroups": [ + "edb81aaf-c2f7-435e-a83f-b1ad8183a52e" + ] + } + ], + "shape": "pie" + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsPie" + }, + "enhancements": {} + }, + "gridData": { + "h": 15, + "i": "a50fa397-cb54-42c9-aaad-f04f7799893b", + "w": 24, + "x": 0, + "y": 21 + }, + "panelIndex": "a50fa397-cb54-42c9-aaad-f04f7799893b", + "title": "Top Source Ports[Gigamon AMI]", + "type": "lens" + }, + { + "embeddableConfig": { + "attributes": { + "references": [ + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "indexpattern-datasource-layer-403b61f1-7a19-449b-bd4a-f8e479cf992c", + "type": "index-pattern" + } + ], + "state": { + "adHocDataViews": {}, + "datasourceStates": { + "formBased": { + "layers": { + "403b61f1-7a19-449b-bd4a-f8e479cf992c": { + "columnOrder": [ + "3875653f-ef59-42df-a97e-d277739205d7", + "ecc4de4c-4340-4a02-9fe2-8b4cf363a7c1" + ], + "columns": { + "3875653f-ef59-42df-a97e-d277739205d7": { + "dataType": "ip", + "isBucketed": true, + "label": "Top 10 values of gigamon.ami.dst_ip", + "operationType": "terms", + "params": { + "exclude": [], + "excludeIsRegex": false, + "include": [], + "includeIsRegex": false, + "missingBucket": false, + "orderBy": { + "columnId": "ecc4de4c-4340-4a02-9fe2-8b4cf363a7c1", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": false, + "parentFormat": { + "id": "terms" + }, + "size": 10 + }, + "scale": "ordinal", + "sourceField": "gigamon.ami.dst_ip" + }, + "ecc4de4c-4340-4a02-9fe2-8b4cf363a7c1": { + "dataType": "number", + "isBucketed": false, + "label": "Count of records", + "operationType": "count", + "params": { + "emptyAsNull": true + }, + "scale": "ratio", + "sourceField": "___records___" + } + }, + "incompleteColumns": {}, + "sampling": 1 + } + } + }, + "indexpattern": { + "layers": {} + }, + "textBased": { + "layers": {} + } + }, + "filters": [], + "internalReferences": [], + "query": { + "language": "kuery", + "query": "data_stream.dataset : \"gigamon.ami\" " + }, + "visualization": { + "layers": [ + { + "categoryDisplay": "default", + "colorMapping": { + "assignments": [], + "colorMode": { + "sort": "desc", + "steps": [ + { + "colorIndex": 0, + "paletteId": "eui_amsterdam_color_blind", + "touched": false, + "type": "categorical" + }, + { + "colorIndex": 2, + "paletteId": "eui_amsterdam_color_blind", + "touched": true, + "type": "categorical" + }, + { + "colorIndex": 6, + "paletteId": "eui_amsterdam_color_blind", + "touched": false, + "type": "categorical" + } + ], + "type": "gradient" + }, + "paletteId": "eui_amsterdam_color_blind", + "specialAssignments": [ + { + "color": { + "type": "loop" + }, + "rule": { + "type": "other" + }, + "touched": false + } + ] + }, + "layerId": "403b61f1-7a19-449b-bd4a-f8e479cf992c", + "layerType": "data", + "legendDisplay": "default", + "metrics": [ + "ecc4de4c-4340-4a02-9fe2-8b4cf363a7c1" + ], + "nestedLegend": false, + "numberDisplay": "percent", + "primaryGroups": [ + "3875653f-ef59-42df-a97e-d277739205d7" + ] + } + ], + "shape": "donut" + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsPie" + }, + "enhancements": {} + }, + "gridData": { + "h": 15, + "i": "535537dd-8986-4f20-81bc-762050441e30", + "w": 24, + "x": 24, + "y": 28 + }, + "panelIndex": "535537dd-8986-4f20-81bc-762050441e30", + "title": "Top 10 Destinations[Gigamon AMI]", + "type": "lens" + }, + { + "embeddableConfig": { + "attributes": { + "references": [ + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "indexpattern-datasource-layer-46fcaaf9-668c-4079-a818-8e3371c526ec", + "type": "index-pattern" + } + ], + "state": { + "adHocDataViews": {}, + "datasourceStates": { + "formBased": { + "layers": { + "46fcaaf9-668c-4079-a818-8e3371c526ec": { + "columnOrder": [ + "578ad0ba-7116-481a-823c-9fc067a6e6db" + ], + "columns": { + "578ad0ba-7116-481a-823c-9fc067a6e6db": { + "customLabel": true, + "dataType": "number", + "isBucketed": false, + "label": "Distinct Destination Ports", + "operationType": "unique_count", + "params": { + "emptyAsNull": true + }, + "scale": "ratio", + "sourceField": "gigamon.ami.dst_port" + } + }, + "incompleteColumns": {}, + "sampling": 1 + } + } + }, + "indexpattern": { + "layers": {} + }, + "textBased": { + "layers": {} + } + }, + "filters": [], + "internalReferences": [], + "query": { + "language": "kuery", + "query": "data_stream.dataset : \"gigamon.ami\" " + }, + "visualization": { + "color": "#9170B8", + "layerId": "46fcaaf9-668c-4079-a818-8e3371c526ec", + "layerType": "data", + "metricAccessor": "578ad0ba-7116-481a-823c-9fc067a6e6db" + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsMetric" + }, + "enhancements": {}, + "hidePanelTitles": true + }, + "gridData": { + "h": 12, + "i": "37f1214d-ab60-4e57-9f2e-11784a6b8cc4", + "w": 24, + "x": 0, + "y": 36 + }, + "panelIndex": "37f1214d-ab60-4e57-9f2e-11784a6b8cc4", + "title": "", + "type": "lens" + }, + { + "embeddableConfig": { + "attributes": { + "references": [ + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "indexpattern-datasource-layer-aa7adcfb-0485-48f9-9e46-64a74505c5fd", + "type": "index-pattern" + } + ], + "state": { + "adHocDataViews": {}, + "datasourceStates": { + "formBased": { + "currentIndexPatternId": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "layers": { + "aa7adcfb-0485-48f9-9e46-64a74505c5fd": { + "columnOrder": [ + "167786df-704b-4425-acf4-ced7106b3d1e", + "211993c9-872d-4be8-bf97-32bc020dd905", + "bf957b0e-de15-4c2d-a4fc-ded5eb179054" + ], + "columns": { + "167786df-704b-4425-acf4-ced7106b3d1e": { + "dataType": "ip", + "isBucketed": true, + "label": "Top 20 values of gigamon.ami.src_ip", + "operationType": "terms", + "params": { + "exclude": [], + "excludeIsRegex": false, + "include": [], + "includeIsRegex": false, + "missingBucket": false, + "orderBy": { + "columnId": "bf957b0e-de15-4c2d-a4fc-ded5eb179054", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": false, + "parentFormat": { + "id": "terms" + }, + "size": 20 + }, + "scale": "ordinal", + "sourceField": "gigamon.ami.src_ip" + }, + "211993c9-872d-4be8-bf97-32bc020dd905": { + "dataType": "date", + "isBucketed": true, + "label": "@timestamp", + "operationType": "date_histogram", + "params": { + "dropPartials": false, + "includeEmptyRows": true, + "interval": "auto" + }, + "scale": "interval", + "sourceField": "@timestamp" + }, + "bf957b0e-de15-4c2d-a4fc-ded5eb179054": { + "dataType": "number", + "isBucketed": false, + "label": "Count of records", + "operationType": "count", + "params": { + "emptyAsNull": true + }, + "scale": "ratio", + "sourceField": "___records___" + } + }, + "ignoreGlobalFilters": false, + "incompleteColumns": {}, + "indexPatternId": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "sampling": 1 + } + } + }, + "indexpattern": { + "layers": {} + }, + "textBased": { + "layers": {} + } + }, + "filters": [], + "internalReferences": [], + "query": { + "language": "kuery", + "query": "data_stream.dataset : \"gigamon.ami\" " + }, + "visualization": { + "axisTitlesVisibilitySettings": { + "x": true, + "yLeft": true, + "yRight": true + }, + "fittingFunction": "None", + "gridlinesVisibilitySettings": { + "x": true, + "yLeft": true, + "yRight": true + }, + "labelsOrientation": { + "x": 0, + "yLeft": 0, + "yRight": 0 + }, + "layers": [ + { + "accessors": [ + "bf957b0e-de15-4c2d-a4fc-ded5eb179054" + ], + "colorMapping": { + "assignments": [], + "colorMode": { + "type": "categorical" + }, + "paletteId": "kibana_v7_legacy", + "specialAssignments": [ + { + "color": { + "type": "loop" + }, + "rule": { + "type": "other" + }, + "touched": false + } + ] + }, + "layerId": "aa7adcfb-0485-48f9-9e46-64a74505c5fd", + "layerType": "data", + "position": "top", + "seriesType": "line", + "showGridlines": false, + "splitAccessor": "167786df-704b-4425-acf4-ced7106b3d1e", + "xAccessor": "211993c9-872d-4be8-bf97-32bc020dd905" + } + ], + "legend": { + "isVisible": true, + "position": "right" + }, + "preferredSeriesType": "line", + "tickLabelsVisibilitySettings": { + "x": true, + "yLeft": true, + "yRight": true + }, + "valueLabels": "hide" + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsXY" + }, + "enhancements": {} + }, + "gridData": { + "h": 15, + "i": "afad47ae-823e-42b0-969e-9cb3089b8dd9", + "w": 24, + "x": 24, + "y": 43 + }, + "panelIndex": "afad47ae-823e-42b0-969e-9cb3089b8dd9", + "title": "Top Source traffic over time[Gigamon AMI]", + "type": "lens" + }, + { + "embeddableConfig": { + "attributes": { + "references": [ + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "indexpattern-datasource-layer-4babe8af-f2c9-4bab-9cd0-8bc1275cbd61", + "type": "index-pattern" + } + ], + "state": { + "adHocDataViews": {}, + "datasourceStates": { + "formBased": { + "currentIndexPatternId": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "layers": { + "4babe8af-f2c9-4bab-9cd0-8bc1275cbd61": { + "columnOrder": [ + "0f930a61-4614-41c3-81b1-54a396de3cc2", + "93706035-95eb-43bd-a491-8005fcc7e1a7" + ], + "columns": { + "0f930a61-4614-41c3-81b1-54a396de3cc2": { + "dataType": "ip", + "isBucketed": true, + "label": "Top 10 values of gigamon.ami.src_ip", + "operationType": "terms", + "params": { + "exclude": [], + "excludeIsRegex": false, + "include": [], + "includeIsRegex": false, + "missingBucket": false, + "orderBy": { + "columnId": "93706035-95eb-43bd-a491-8005fcc7e1a7", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": false, + "parentFormat": { + "id": "terms" + }, + "size": 10 + }, + "scale": "ordinal", + "sourceField": "gigamon.ami.src_ip" + }, + "93706035-95eb-43bd-a491-8005fcc7e1a7": { + "dataType": "number", + "isBucketed": false, + "label": "Count of records", + "operationType": "count", + "params": { + "emptyAsNull": true + }, + "scale": "ratio", + "sourceField": "___records___" + } + }, + "incompleteColumns": {}, + "indexPatternId": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "sampling": 1 + } + } + }, + "indexpattern": { + "layers": {} + }, + "textBased": { + "layers": {} + } + }, + "filters": [], + "internalReferences": [], + "query": { + "language": "kuery", + "query": "" + }, + "visualization": { + "layers": [ + { + "categoryDisplay": "default", + "colorMapping": { + "assignments": [], + "colorMode": { + "sort": "desc", + "steps": [ + { + "colorCode": "#d78338", + "touched": false, + "type": "colorCode" + }, + { + "colorCode": "#a09787", + "touched": false, + "type": "colorCode" + }, + { + "colorCode": "#89d658", + "touched": true, + "type": "colorCode" + } + ], + "type": "gradient" + }, + "paletteId": "eui_amsterdam_color_blind", + "specialAssignments": [ + { + "color": { + "type": "loop" + }, + "rule": { + "type": "other" + }, + "touched": false + } + ] + }, + "layerId": "4babe8af-f2c9-4bab-9cd0-8bc1275cbd61", + "layerType": "data", + "legendDisplay": "default", + "metrics": [ + "93706035-95eb-43bd-a491-8005fcc7e1a7" + ], + "nestedLegend": false, + "numberDisplay": "percent", + "primaryGroups": [ + "0f930a61-4614-41c3-81b1-54a396de3cc2" + ] + } + ], + "shape": "donut" + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsPie" + }, + "enhancements": {} + }, + "gridData": { + "h": 15, + "i": "52ecf662-7933-4de2-be81-5f61baeb9db5", + "w": 24, + "x": 0, + "y": 48 + }, + "panelIndex": "52ecf662-7933-4de2-be81-5f61baeb9db5", + "title": "Top 10 Sources[Gigamon AMI]", + "type": "lens" + }, + { + "embeddableConfig": { + "attributes": { + "references": [ + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "indexpattern-datasource-layer-8490641b-b909-47f5-85f7-0d4904867eae", + "type": "index-pattern" + } + ], + "state": { + "adHocDataViews": {}, + "datasourceStates": { + "formBased": { + "layers": { + "8490641b-b909-47f5-85f7-0d4904867eae": { + "columnOrder": [ + "bfea9964-b2b6-4ff7-b5fa-8ef6a713520a", + "f3fbee1a-ac43-4986-8815-8b141deb6199", + "346bbf6a-c049-4523-9a3d-136b42da3aaa" + ], + "columns": { + "346bbf6a-c049-4523-9a3d-136b42da3aaa": { + "dataType": "number", + "isBucketed": false, + "label": "Count of records", + "operationType": "count", + "params": { + "emptyAsNull": false + }, + "scale": "ratio", + "sourceField": "___records___" + }, + "bfea9964-b2b6-4ff7-b5fa-8ef6a713520a": { + "dataType": "ip", + "isBucketed": true, + "label": "Top 20 values of gigamon.ami.dst_ip", + "operationType": "terms", + "params": { + "exclude": [], + "excludeIsRegex": false, + "include": [], + "includeIsRegex": false, + "missingBucket": false, + "orderBy": { + "columnId": "346bbf6a-c049-4523-9a3d-136b42da3aaa", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": false, + "parentFormat": { + "id": "terms" + }, + "size": 20 + }, + "scale": "ordinal", + "sourceField": "gigamon.ami.dst_ip" + }, + "f3fbee1a-ac43-4986-8815-8b141deb6199": { + "dataType": "date", + "isBucketed": true, + "label": "@timestamp", + "operationType": "date_histogram", + "params": { + "dropPartials": false, + "includeEmptyRows": true, + "interval": "auto" + }, + "scale": "interval", + "sourceField": "@timestamp" + } + }, + "incompleteColumns": {}, + "sampling": 1 + } + } + }, + "indexpattern": { + "layers": {} + }, + "textBased": { + "layers": {} + } + }, + "filters": [], + "internalReferences": [], + "query": { + "language": "kuery", + "query": "data_stream.dataset : \"gigamon.ami\" " + }, + "visualization": { + "axisTitlesVisibilitySettings": { + "x": true, + "yLeft": true, + "yRight": true + }, + "fittingFunction": "None", + "gridlinesVisibilitySettings": { + "x": true, + "yLeft": true, + "yRight": true + }, + "labelsOrientation": { + "x": 0, + "yLeft": 0, + "yRight": 0 + }, + "layers": [ + { + "accessors": [ + "346bbf6a-c049-4523-9a3d-136b42da3aaa" + ], + "colorMapping": { + "assignments": [], + "colorMode": { + "type": "categorical" + }, + "paletteId": "elastic_brand_2023", + "specialAssignments": [ + { + "color": { + "type": "loop" + }, + "rule": { + "type": "other" + }, + "touched": false + } + ] + }, + "layerId": "8490641b-b909-47f5-85f7-0d4904867eae", + "layerType": "data", + "position": "top", + "seriesType": "line", + "showGridlines": false, + "splitAccessor": "bfea9964-b2b6-4ff7-b5fa-8ef6a713520a", + "xAccessor": "f3fbee1a-ac43-4986-8815-8b141deb6199" + } + ], + "legend": { + "isVisible": true, + "position": "right" + }, + "preferredSeriesType": "line", + "tickLabelsVisibilitySettings": { + "x": true, + "yLeft": true, + "yRight": true + }, + "valueLabels": "hide" + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsXY" + }, + "enhancements": {} + }, + "gridData": { + "h": 15, + "i": "23a2dec7-0607-45a6-a5f0-175fbd4638c5", + "w": 24, + "x": 0, + "y": 63 + }, + "panelIndex": "23a2dec7-0607-45a6-a5f0-175fbd4638c5", + "title": "Top Destination traffic over time[Gigamon AMI]", + "type": "lens" + } + ], + "timeRestore": false, + "title": "[Logs Gigamon] Top Traffic Sources and Destinations", + "version": 1 + }, + "coreMigrationVersion": "8.8.0", + "created_at": "2024-08-21T10:03:56.659Z", + "id": "gigamon-d6cecabb-f026-4823-914d-b4d61fd61787", + "managed": false, + "references": [ + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "6f8364bf-0889-4fcf-b93e-7bbe4a2e5a2f:indexpattern-datasource-layer-3dd7de9b-2674-43e2-9f03-179267084b90", + "type": "index-pattern" + }, + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "af30586c-75b3-4cf7-8068-26dd00cf5015:indexpattern-datasource-layer-684ec40c-0c1f-4071-bc86-2912815b5999", + "type": "index-pattern" + }, + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "a50fa397-cb54-42c9-aaad-f04f7799893b:indexpattern-datasource-layer-4df04fa8-fb80-477b-9ba1-9cf4a934a83a", + "type": "index-pattern" + }, + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "535537dd-8986-4f20-81bc-762050441e30:indexpattern-datasource-layer-403b61f1-7a19-449b-bd4a-f8e479cf992c", + "type": "index-pattern" + }, + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "37f1214d-ab60-4e57-9f2e-11784a6b8cc4:indexpattern-datasource-layer-46fcaaf9-668c-4079-a818-8e3371c526ec", + "type": "index-pattern" + }, + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "afad47ae-823e-42b0-969e-9cb3089b8dd9:indexpattern-datasource-layer-aa7adcfb-0485-48f9-9e46-64a74505c5fd", + "type": "index-pattern" + }, + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "52ecf662-7933-4de2-be81-5f61baeb9db5:indexpattern-datasource-layer-4babe8af-f2c9-4bab-9cd0-8bc1275cbd61", + "type": "index-pattern" + }, + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "23a2dec7-0607-45a6-a5f0-175fbd4638c5:indexpattern-datasource-layer-8490641b-b909-47f5-85f7-0d4904867eae", + "type": "index-pattern" + } + ], + "type": "dashboard", + "typeMigrationVersion": "8.9.0" +} \ No newline at end of file diff --git a/packages/gigamon/kibana/dashboard/gigamon-d866be49-47b2-4306-a2be-d5cb6b6ab9c8.json b/packages/gigamon/kibana/dashboard/gigamon-d866be49-47b2-4306-a2be-d5cb6b6ab9c8.json new file mode 100644 index 00000000000..10dccca03c1 --- /dev/null +++ b/packages/gigamon/kibana/dashboard/gigamon-d866be49-47b2-4306-a2be-d5cb6b6ab9c8.json @@ -0,0 +1,2771 @@ +{ + "attributes": { + "description": "Shining a light on Client browsers, Server Software, http versions, http methods, URLs, error codes etc", + "kibanaSavedObjectMeta": { + "searchSourceJSON": { + "filter": [], + "query": { + "language": "kuery", + "query": "" + } + } + }, + "optionsJSON": { + "hidePanelTitles": false, + "syncColors": false, + "syncCursor": true, + "syncTooltips": false, + "useMargins": true + }, + "panelsJSON": [ + { + "embeddableConfig": { + "description": "", + "enhancements": {}, + "hidePanelTitles": true, + "savedVis": { + "data": { + "aggs": [], + "searchSource": { + "filter": [], + "query": { + "language": "kuery", + "query": "" + } + } + }, + "description": "", + "id": "", + "params": { + "fontSize": 12, + "markdown": "**AMI Starter Pack**\n\n- [App Insights](#/dashboard/gigamon-855a64dc-1a72-403f-932b-a5b848378f7e)\n- Trouble shooting\n - [Troubleshooting Insights for Network traffic](#/dashboard/gigamon-e733c64e-6ea9-4dd6-a8ca-3914274598f3)\n - [Top Traffic Sources and Destinations](#/dashboard/gigamon-d6cecabb-f026-4823-914d-b4d61fd61787)\n- [Security Posture](#/dashboard/gigamon-4ae2cd9a-3eef-42c6-a02c-731ce74d94ac)\n- Identifier Analysis\n - [Homoglyph Detection](#/dashboard/gigamon-64ca15b3-8327-4940-8b35-0e75ab3a73c6)\n - [URL Analysis](#/dashboard/gigamon-8f772203-64e0-4d1b-bb0e-14fa57b4b754)\n- M21-31\n - [**Web Traffic Details**](#/dashboard/gigamon-d866be49-47b2-4306-a2be-d5cb6b6ab9c8)\n - [DNS Information](#/dashboard/gigamon-e192a946-8287-450a-a8f0-e23de9f95dae)\n- Rogue Activity\n - [Unsanctioned Peer to Peer Apps](#/dashboard/gigamon-3523b534-7525-44a7-808f-6a9f3235a67d)\n- [PCI Compliance](#/dashboard/gigamon-032aab7b-87b2-444c-8c86-956d092598fb)\n- Suspicious Activities\n - [Suspicious Connections](#/dashboard/gigamon-62291e9e-8b75-4f23-9121-79959da99b3b)\n - [Unmanaged Endpoints](#/dashboard/gigamon-46931a21-a33e-43af-aadf-da8d6446b9cc)\n", + "openLinksInNewTab": false + }, + "title": "", + "type": "markdown", + "uiState": {} + } + }, + "gridData": { + "h": 21, + "i": "bf518256-1fcf-4484-8809-462128f83aa4", + "w": 24, + "x": 0, + "y": 0 + }, + "panelIndex": "bf518256-1fcf-4484-8809-462128f83aa4", + "title": "", + "type": "visualization" + }, + { + "embeddableConfig": { + "attributes": { + "references": [ + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "indexpattern-datasource-layer-6653e941-2b11-4e99-8cf6-7b536389759d", + "type": "index-pattern" + } + ], + "state": { + "adHocDataViews": {}, + "datasourceStates": { + "formBased": { + "layers": { + "6653e941-2b11-4e99-8cf6-7b536389759d": { + "columnOrder": [ + "0f7e88f1-9512-4990-a8dd-5c14f13b1888", + "00b347cd-94af-4f35-ac08-dadfaa522984" + ], + "columns": { + "00b347cd-94af-4f35-ac08-dadfaa522984": { + "dataType": "number", + "isBucketed": false, + "label": "Count of records", + "operationType": "count", + "params": { + "emptyAsNull": true + }, + "scale": "ratio", + "sourceField": "___records___" + }, + "0f7e88f1-9512-4990-a8dd-5c14f13b1888": { + "customLabel": true, + "dataType": "string", + "isBucketed": true, + "label": "Client Browsers", + "operationType": "terms", + "params": { + "exclude": [], + "excludeIsRegex": false, + "include": [], + "includeIsRegex": false, + "missingBucket": false, + "orderBy": { + "columnId": "00b347cd-94af-4f35-ac08-dadfaa522984", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": false, + "parentFormat": { + "id": "terms" + }, + "size": 15 + }, + "scale": "ordinal", + "sourceField": "gigamon.ami.http_user_agent" + } + }, + "incompleteColumns": {}, + "sampling": 1 + } + } + }, + "indexpattern": { + "layers": {} + }, + "textBased": { + "layers": {} + } + }, + "filters": [], + "internalReferences": [], + "query": { + "language": "kuery", + "query": "data_stream.dataset : \"gigamon.ami\" " + }, + "visualization": { + "layers": [ + { + "categoryDisplay": "default", + "colorMapping": { + "assignments": [], + "colorMode": { + "sort": "desc", + "steps": [ + { + "colorCode": "#687873", + "touched": true, + "type": "colorCode" + }, + { + "colorCode": "#f1a3a2", + "touched": false, + "type": "colorCode" + }, + { + "colorCode": "#a3c7e9", + "touched": false, + "type": "colorCode" + } + ], + "type": "gradient" + }, + "paletteId": "eui_amsterdam_color_blind", + "specialAssignments": [ + { + "color": { + "type": "loop" + }, + "rule": { + "type": "other" + }, + "touched": false + } + ] + }, + "layerId": "6653e941-2b11-4e99-8cf6-7b536389759d", + "layerType": "data", + "legendDisplay": "default", + "metrics": [ + "00b347cd-94af-4f35-ac08-dadfaa522984" + ], + "nestedLegend": false, + "numberDisplay": "percent", + "primaryGroups": [ + "0f7e88f1-9512-4990-a8dd-5c14f13b1888" + ] + } + ], + "shape": "pie" + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsPie" + }, + "enhancements": {} + }, + "gridData": { + "h": 15, + "i": "9236f79d-61f7-404a-8822-17ef4496b7d6", + "w": 24, + "x": 24, + "y": 0 + }, + "panelIndex": "9236f79d-61f7-404a-8822-17ef4496b7d6", + "title": "CLient Browsers[Gigamon AMI]", + "type": "lens" + }, + { + "embeddableConfig": { + "attributes": { + "references": [ + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "indexpattern-datasource-layer-42ff257f-c3e4-45a0-9b1f-fc81a1882379", + "type": "index-pattern" + } + ], + "state": { + "adHocDataViews": {}, + "datasourceStates": { + "formBased": { + "layers": { + "42ff257f-c3e4-45a0-9b1f-fc81a1882379": { + "columnOrder": [ + "d1adea58-258f-425b-84e4-794dd26a3454", + "c693786a-3905-452c-911e-9a883dcc0a15" + ], + "columns": { + "c693786a-3905-452c-911e-9a883dcc0a15": { + "dataType": "number", + "isBucketed": false, + "label": "Count of records", + "operationType": "count", + "params": { + "emptyAsNull": true + }, + "scale": "ratio", + "sourceField": "___records___" + }, + "d1adea58-258f-425b-84e4-794dd26a3454": { + "dataType": "string", + "isBucketed": true, + "label": "Top 15 values of gigamon.ami.http_method", + "operationType": "terms", + "params": { + "exclude": [], + "excludeIsRegex": false, + "include": [], + "includeIsRegex": false, + "missingBucket": false, + "orderBy": { + "columnId": "c693786a-3905-452c-911e-9a883dcc0a15", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": false, + "parentFormat": { + "id": "terms" + }, + "size": 15 + }, + "scale": "ordinal", + "sourceField": "gigamon.ami.http_method" + } + }, + "incompleteColumns": {}, + "sampling": 1 + } + } + }, + "indexpattern": { + "layers": {} + }, + "textBased": { + "layers": {} + } + }, + "filters": [], + "internalReferences": [], + "query": { + "language": "kuery", + "query": "data_stream.dataset : \"gigamon.ami\" " + }, + "visualization": { + "axisTitlesVisibilitySettings": { + "x": true, + "yLeft": true, + "yRight": true + }, + "fittingFunction": "None", + "gridlinesVisibilitySettings": { + "x": true, + "yLeft": true, + "yRight": true + }, + "labelsOrientation": { + "x": 0, + "yLeft": 0, + "yRight": 0 + }, + "layers": [ + { + "accessors": [ + "c693786a-3905-452c-911e-9a883dcc0a15" + ], + "colorMapping": { + "assignments": [], + "colorMode": { + "type": "categorical" + }, + "paletteId": "eui_amsterdam_color_blind", + "specialAssignments": [ + { + "color": { + "type": "loop" + }, + "rule": { + "type": "other" + }, + "touched": false + } + ] + }, + "layerId": "42ff257f-c3e4-45a0-9b1f-fc81a1882379", + "layerType": "data", + "position": "top", + "seriesType": "bar_stacked", + "showGridlines": false, + "xAccessor": "d1adea58-258f-425b-84e4-794dd26a3454", + "yConfig": [ + { + "color": "#39de20", + "forAccessor": "c693786a-3905-452c-911e-9a883dcc0a15" + } + ] + } + ], + "legend": { + "isVisible": true, + "position": "right" + }, + "preferredSeriesType": "bar_stacked", + "tickLabelsVisibilitySettings": { + "x": true, + "yLeft": true, + "yRight": true + }, + "valueLabels": "hide" + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsXY" + }, + "enhancements": {} + }, + "gridData": { + "h": 15, + "i": "0c4c7a41-4eb9-4389-9c0f-dd395676c84a", + "w": 24, + "x": 24, + "y": 15 + }, + "panelIndex": "0c4c7a41-4eb9-4389-9c0f-dd395676c84a", + "title": "Methods[Gigamon AMI]", + "type": "lens" + }, + { + "embeddableConfig": { + "attributes": { + "references": [ + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "indexpattern-datasource-layer-9a30d6db-4434-4567-9300-acbb289bbc91", + "type": "index-pattern" + } + ], + "state": { + "adHocDataViews": {}, + "datasourceStates": { + "formBased": { + "layers": { + "9a30d6db-4434-4567-9300-acbb289bbc91": { + "columnOrder": [ + "166d51f3-eff3-4fd4-aa2f-e9ab8b9dcb3e", + "3af067b4-b8be-41cf-bfad-3b321060fe64" + ], + "columns": { + "166d51f3-eff3-4fd4-aa2f-e9ab8b9dcb3e": { + "customLabel": true, + "dataType": "string", + "isBucketed": true, + "label": "Web Applications", + "operationType": "terms", + "params": { + "exclude": [], + "excludeIsRegex": false, + "include": [ + "http", + "https", + "http2" + ], + "includeIsRegex": false, + "missingBucket": false, + "orderBy": { + "columnId": "3af067b4-b8be-41cf-bfad-3b321060fe64", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": false, + "parentFormat": { + "id": "terms" + }, + "size": 5 + }, + "scale": "ordinal", + "sourceField": "gigamon.ami.app_name" + }, + "3af067b4-b8be-41cf-bfad-3b321060fe64": { + "dataType": "number", + "isBucketed": false, + "label": "Count of records", + "operationType": "count", + "params": { + "emptyAsNull": true + }, + "scale": "ratio", + "sourceField": "___records___" + } + }, + "incompleteColumns": {}, + "sampling": 1 + } + } + }, + "indexpattern": { + "layers": {} + }, + "textBased": { + "layers": {} + } + }, + "filters": [], + "internalReferences": [], + "query": { + "language": "kuery", + "query": "data_stream.dataset : \"gigamon.ami\" " + }, + "visualization": { + "layers": [ + { + "categoryDisplay": "default", + "colorMapping": { + "assignments": [], + "colorMode": { + "sort": "desc", + "steps": [ + { + "colorCode": "#f12b95", + "touched": false, + "type": "colorCode" + }, + { + "colorCode": "#41bde7", + "touched": false, + "type": "colorCode" + }, + { + "colorCode": "#9535ef", + "touched": true, + "type": "colorCode" + } + ], + "type": "gradient" + }, + "paletteId": "eui_amsterdam_color_blind", + "specialAssignments": [ + { + "color": { + "type": "loop" + }, + "rule": { + "type": "other" + }, + "touched": false + } + ] + }, + "layerId": "9a30d6db-4434-4567-9300-acbb289bbc91", + "layerType": "data", + "legendDisplay": "default", + "metrics": [ + "3af067b4-b8be-41cf-bfad-3b321060fe64" + ], + "nestedLegend": false, + "numberDisplay": "percent", + "primaryGroups": [ + "166d51f3-eff3-4fd4-aa2f-e9ab8b9dcb3e" + ] + } + ], + "shape": "donut" + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsPie" + }, + "enhancements": {} + }, + "gridData": { + "h": 15, + "i": "8c016cce-649d-4cdb-a7df-e88685e7ee43", + "w": 24, + "x": 0, + "y": 21 + }, + "panelIndex": "8c016cce-649d-4cdb-a7df-e88685e7ee43", + "title": "Encrypted vs Non Encrypted Traffic[Gigamon AMI]", + "type": "lens" + }, + { + "embeddableConfig": { + "attributes": { + "references": [ + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "indexpattern-datasource-layer-f5aa0548-7204-4fe7-ae54-91c762a05ddd", + "type": "index-pattern" + }, + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "9e00affd-603f-47dc-8524-9248c20ef8dc", + "type": "index-pattern" + } + ], + "state": { + "adHocDataViews": {}, + "datasourceStates": { + "formBased": { + "layers": { + "f5aa0548-7204-4fe7-ae54-91c762a05ddd": { + "columnOrder": [ + "65238739-3756-4f10-99ac-23b81b72a0dc", + "b498e653-30bc-44eb-8aed-a3425d27d8ad" + ], + "columns": { + "65238739-3756-4f10-99ac-23b81b72a0dc": { + "dataType": "number", + "isBucketed": true, + "label": "Top 25 values of gigamon.ami.http_code", + "operationType": "terms", + "params": { + "exclude": [], + "excludeIsRegex": false, + "include": [], + "includeIsRegex": false, + "missingBucket": false, + "orderBy": { + "columnId": "b498e653-30bc-44eb-8aed-a3425d27d8ad", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": false, + "parentFormat": { + "id": "terms" + }, + "size": 25 + }, + "scale": "ordinal", + "sourceField": "gigamon.ami.http_code" + }, + "b498e653-30bc-44eb-8aed-a3425d27d8ad": { + "dataType": "number", + "isBucketed": false, + "label": "Count of records", + "operationType": "count", + "params": { + "emptyAsNull": true + }, + "scale": "ratio", + "sourceField": "___records___" + } + }, + "incompleteColumns": {}, + "sampling": 1 + } + } + }, + "indexpattern": { + "layers": {} + }, + "textBased": { + "layers": {} + } + }, + "filters": [ + { + "$state": { + "store": "appState" + }, + "meta": { + "alias": null, + "disabled": false, + "field": "gigamon.ami.http_code", + "index": "9e00affd-603f-47dc-8524-9248c20ef8dc", + "key": "gigamon.ami.http_code", + "negate": false, + "params": { + "gte": "400" + }, + "type": "range", + "value": { + "gte": "400" + } + }, + "query": { + "range": { + "gigamon.ami.http_code": { + "gte": "400" + } + } + } + } + ], + "internalReferences": [], + "query": { + "language": "kuery", + "query": "data_stream.dataset : \"gigamon.ami\" " + }, + "visualization": { + "layers": [ + { + "categoryDisplay": "default", + "colorMapping": { + "assignments": [], + "colorMode": { + "sort": "desc", + "steps": [ + { + "colorCode": "#c31ef5", + "touched": false, + "type": "colorCode" + }, + { + "colorCode": "#f00c56", + "touched": true, + "type": "colorCode" + }, + { + "colorCode": "#1185ef", + "touched": false, + "type": "colorCode" + } + ], + "type": "gradient" + }, + "paletteId": "eui_amsterdam_color_blind", + "specialAssignments": [ + { + "color": { + "type": "loop" + }, + "rule": { + "type": "other" + }, + "touched": false + } + ] + }, + "layerId": "f5aa0548-7204-4fe7-ae54-91c762a05ddd", + "layerType": "data", + "legendDisplay": "default", + "metrics": [ + "b498e653-30bc-44eb-8aed-a3425d27d8ad" + ], + "nestedLegend": false, + "numberDisplay": "percent", + "primaryGroups": [ + "65238739-3756-4f10-99ac-23b81b72a0dc" + ] + } + ], + "shape": "donut" + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsPie" + }, + "enhancements": {} + }, + "gridData": { + "h": 15, + "i": "a31e20d6-3010-44c4-b685-8a00a8698947", + "w": 24, + "x": 24, + "y": 30 + }, + "panelIndex": "a31e20d6-3010-44c4-b685-8a00a8698947", + "title": "Error codes[Gigamon AMI]", + "type": "lens" + }, + { + "embeddableConfig": { + "attributes": { + "references": [ + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "indexpattern-datasource-layer-f9a9aa82-c81c-45f0-9f40-d1bdb7a0a44b", + "type": "index-pattern" + } + ], + "state": { + "adHocDataViews": {}, + "datasourceStates": { + "formBased": { + "layers": { + "f9a9aa82-c81c-45f0-9f40-d1bdb7a0a44b": { + "columnOrder": [ + "d8c09b4e-56e6-402b-aa74-1287c6e24889", + "b948f724-6163-471f-b55b-438e8d5d366a" + ], + "columns": { + "b948f724-6163-471f-b55b-438e8d5d366a": { + "dataType": "number", + "isBucketed": false, + "label": "Count of records", + "operationType": "count", + "params": { + "emptyAsNull": true + }, + "scale": "ratio", + "sourceField": "___records___" + }, + "d8c09b4e-56e6-402b-aa74-1287c6e24889": { + "dataType": "string", + "isBucketed": true, + "label": "Top 25 values of gigamon.ami.http_server_agent", + "operationType": "terms", + "params": { + "exclude": [], + "excludeIsRegex": false, + "include": [], + "includeIsRegex": false, + "missingBucket": false, + "orderBy": { + "columnId": "b948f724-6163-471f-b55b-438e8d5d366a", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": false, + "parentFormat": { + "id": "terms" + }, + "size": 25 + }, + "scale": "ordinal", + "sourceField": "gigamon.ami.http_server_agent" + } + }, + "incompleteColumns": {}, + "sampling": 1 + } + } + }, + "indexpattern": { + "layers": {} + }, + "textBased": { + "layers": {} + } + }, + "filters": [], + "internalReferences": [], + "query": { + "language": "kuery", + "query": "data_stream.dataset : \"gigamon.ami\" " + }, + "visualization": { + "layers": [ + { + "categoryDisplay": "default", + "colorMapping": { + "assignments": [], + "colorMode": { + "sort": "desc", + "steps": [ + { + "colorIndex": 4, + "paletteId": "eui_amsterdam_color_blind", + "touched": false, + "type": "categorical" + }, + { + "colorIndex": 6, + "paletteId": "eui_amsterdam_color_blind", + "touched": false, + "type": "categorical" + }, + { + "colorIndex": 3, + "paletteId": "eui_amsterdam_color_blind", + "touched": true, + "type": "categorical" + } + ], + "type": "gradient" + }, + "paletteId": "eui_amsterdam_color_blind", + "specialAssignments": [ + { + "color": { + "type": "loop" + }, + "rule": { + "type": "other" + }, + "touched": false + } + ] + }, + "layerId": "f9a9aa82-c81c-45f0-9f40-d1bdb7a0a44b", + "layerType": "data", + "legendDisplay": "default", + "metrics": [ + "b948f724-6163-471f-b55b-438e8d5d366a" + ], + "nestedLegend": false, + "numberDisplay": "percent", + "primaryGroups": [ + "d8c09b4e-56e6-402b-aa74-1287c6e24889" + ] + } + ], + "shape": "pie" + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsPie" + }, + "enhancements": {} + }, + "gridData": { + "h": 15, + "i": "49610792-b5f4-4920-9012-bed8ef370218", + "w": 24, + "x": 0, + "y": 36 + }, + "panelIndex": "49610792-b5f4-4920-9012-bed8ef370218", + "title": "Server Software[Gigamon AMI]", + "type": "lens" + }, + { + "embeddableConfig": { + "description": "", + "enhancements": {}, + "hidePanelTitles": true, + "savedVis": { + "data": { + "aggs": [], + "searchSource": { + "filter": [], + "query": { + "language": "kuery", + "query": "" + } + } + }, + "description": "", + "id": "", + "params": { + "fontSize": 12, + "markdown": "Port 0 communication most likely used by Attackers or Misconfigured Apps", + "openLinksInNewTab": false + }, + "title": "", + "type": "markdown", + "uiState": {} + } + }, + "gridData": { + "h": 3, + "i": "3bea4490-8302-40a5-93ee-771dc409b482", + "w": 24, + "x": 24, + "y": 45 + }, + "panelIndex": "3bea4490-8302-40a5-93ee-771dc409b482", + "title": "", + "type": "visualization" + }, + { + "embeddableConfig": { + "attributes": { + "references": [ + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "indexpattern-datasource-layer-52f8c4eb-efe2-46ef-a2a1-48f38c5d2e60", + "type": "index-pattern" + } + ], + "state": { + "adHocDataViews": {}, + "datasourceStates": { + "formBased": { + "layers": { + "52f8c4eb-efe2-46ef-a2a1-48f38c5d2e60": { + "columnOrder": [ + "e7f25707-762e-436b-b97e-bd60189298e3", + "80056f39-cc0f-452b-8d62-da7159be5299", + "a898dbab-6b26-405b-b64d-d890adca684b", + "545df12a-daf9-4537-b444-6b4c68e4373a", + "3e8aedfe-f53a-4352-9815-5dc7cdd7b1ca", + "3b212733-3584-4447-ad52-73674e71ff35" + ], + "columns": { + "3b212733-3584-4447-ad52-73674e71ff35": { + "dataType": "number", + "isBucketed": false, + "label": "Count of records", + "operationType": "count", + "params": { + "emptyAsNull": true + }, + "scale": "ratio", + "sourceField": "___records___" + }, + "3e8aedfe-f53a-4352-9815-5dc7cdd7b1ca": { + "customLabel": true, + "dataType": "string", + "isBucketed": true, + "label": "Http Server", + "operationType": "terms", + "params": { + "exclude": [], + "excludeIsRegex": false, + "include": [], + "includeIsRegex": false, + "missingBucket": false, + "orderBy": { + "columnId": "3b212733-3584-4447-ad52-73674e71ff35", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": false, + "parentFormat": { + "id": "terms" + }, + "size": 15 + }, + "scale": "ordinal", + "sourceField": "gigamon.ami.http_server" + }, + "545df12a-daf9-4537-b444-6b4c68e4373a": { + "customLabel": true, + "dataType": "number", + "isBucketed": true, + "label": "Source port", + "operationType": "terms", + "params": { + "exclude": [], + "excludeIsRegex": false, + "include": [ + 0 + ], + "includeIsRegex": false, + "missingBucket": false, + "orderBy": { + "columnId": "3b212733-3584-4447-ad52-73674e71ff35", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": false, + "parentFormat": { + "id": "terms" + }, + "size": 15 + }, + "scale": "ordinal", + "sourceField": "gigamon.ami.src_port" + }, + "80056f39-cc0f-452b-8d62-da7159be5299": { + "customLabel": true, + "dataType": "ip", + "isBucketed": true, + "label": "Destination ip", + "operationType": "terms", + "params": { + "exclude": [], + "excludeIsRegex": false, + "include": [], + "includeIsRegex": false, + "missingBucket": false, + "orderBy": { + "columnId": "3b212733-3584-4447-ad52-73674e71ff35", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": false, + "parentFormat": { + "id": "terms" + }, + "size": 15 + }, + "scale": "ordinal", + "sourceField": "gigamon.ami.dst_ip" + }, + "a898dbab-6b26-405b-b64d-d890adca684b": { + "customLabel": true, + "dataType": "number", + "isBucketed": true, + "label": "Destination Port", + "operationType": "terms", + "params": { + "exclude": [], + "excludeIsRegex": false, + "include": [ + 0 + ], + "includeIsRegex": false, + "missingBucket": false, + "orderBy": { + "columnId": "3b212733-3584-4447-ad52-73674e71ff35", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": false, + "parentFormat": { + "id": "terms" + }, + "size": 15 + }, + "scale": "ordinal", + "sourceField": "gigamon.ami.dst_port" + }, + "e7f25707-762e-436b-b97e-bd60189298e3": { + "customLabel": true, + "dataType": "ip", + "isBucketed": true, + "label": "Source ip", + "operationType": "terms", + "params": { + "exclude": [], + "excludeIsRegex": false, + "include": [], + "includeIsRegex": false, + "missingBucket": false, + "orderBy": { + "columnId": "3b212733-3584-4447-ad52-73674e71ff35", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": false, + "parentFormat": { + "id": "terms" + }, + "size": 15 + }, + "scale": "ordinal", + "sourceField": "gigamon.ami.src_ip" + } + }, + "incompleteColumns": {}, + "sampling": 1 + } + } + }, + "indexpattern": { + "layers": {} + }, + "textBased": { + "layers": {} + } + }, + "filters": [], + "internalReferences": [], + "query": { + "language": "kuery", + "query": "data_stream.dataset : \"gigamon.ami\" " + }, + "visualization": { + "columns": [ + { + "columnId": "e7f25707-762e-436b-b97e-bd60189298e3", + "isTransposed": false + }, + { + "columnId": "80056f39-cc0f-452b-8d62-da7159be5299", + "isTransposed": false + }, + { + "columnId": "a898dbab-6b26-405b-b64d-d890adca684b", + "isMetric": false, + "isTransposed": false + }, + { + "columnId": "545df12a-daf9-4537-b444-6b4c68e4373a", + "isMetric": false, + "isTransposed": false + }, + { + "columnId": "3e8aedfe-f53a-4352-9815-5dc7cdd7b1ca", + "isTransposed": false + }, + { + "columnId": "3b212733-3584-4447-ad52-73674e71ff35", + "isTransposed": false + } + ], + "layerId": "52f8c4eb-efe2-46ef-a2a1-48f38c5d2e60", + "layerType": "data" + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsDatatable" + }, + "enhancements": {} + }, + "gridData": { + "h": 15, + "i": "35be4b1b-e979-4994-956d-161df3c542df", + "w": 24, + "x": 24, + "y": 48 + }, + "panelIndex": "35be4b1b-e979-4994-956d-161df3c542df", + "title": "Connection on reserved port 0[Gigamon AMI]", + "type": "lens" + }, + { + "embeddableConfig": { + "attributes": { + "references": [ + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "indexpattern-datasource-layer-6f432d24-4cfb-4fae-9c30-59d320818535", + "type": "index-pattern" + } + ], + "state": { + "adHocDataViews": {}, + "datasourceStates": { + "formBased": { + "layers": { + "6f432d24-4cfb-4fae-9c30-59d320818535": { + "columnOrder": [ + "556dc77a-5cf2-4f94-9a00-b6bfb1a4e2f3", + "0d55aeae-2a7e-4115-8366-c0530f525b1f" + ], + "columns": { + "0d55aeae-2a7e-4115-8366-c0530f525b1f": { + "dataType": "number", + "isBucketed": false, + "label": "Count of records", + "operationType": "count", + "params": { + "emptyAsNull": true + }, + "scale": "ratio", + "sourceField": "___records___" + }, + "556dc77a-5cf2-4f94-9a00-b6bfb1a4e2f3": { + "dataType": "string", + "isBucketed": true, + "label": "Top 15 values of gigamon.ami.http_version", + "operationType": "terms", + "params": { + "exclude": [], + "excludeIsRegex": false, + "include": [], + "includeIsRegex": false, + "missingBucket": false, + "orderBy": { + "columnId": "0d55aeae-2a7e-4115-8366-c0530f525b1f", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": false, + "parentFormat": { + "id": "terms" + }, + "size": 15 + }, + "scale": "ordinal", + "sourceField": "gigamon.ami.http_version" + } + }, + "incompleteColumns": {}, + "sampling": 1 + } + } + }, + "indexpattern": { + "layers": {} + }, + "textBased": { + "layers": {} + } + }, + "filters": [], + "internalReferences": [], + "query": { + "language": "kuery", + "query": "data_stream.dataset : \"gigamon.ami\" " + }, + "visualization": { + "axisTitlesVisibilitySettings": { + "x": true, + "yLeft": true, + "yRight": true + }, + "fittingFunction": "None", + "gridlinesVisibilitySettings": { + "x": true, + "yLeft": true, + "yRight": true + }, + "labelsOrientation": { + "x": 0, + "yLeft": 0, + "yRight": 0 + }, + "layers": [ + { + "accessors": [ + "0d55aeae-2a7e-4115-8366-c0530f525b1f" + ], + "colorMapping": { + "assignments": [], + "colorMode": { + "type": "categorical" + }, + "paletteId": "eui_amsterdam_color_blind", + "specialAssignments": [ + { + "color": { + "type": "loop" + }, + "rule": { + "type": "other" + }, + "touched": false + } + ] + }, + "layerId": "6f432d24-4cfb-4fae-9c30-59d320818535", + "layerType": "data", + "position": "top", + "seriesType": "bar_stacked", + "showGridlines": false, + "xAccessor": "556dc77a-5cf2-4f94-9a00-b6bfb1a4e2f3", + "yConfig": [ + { + "color": "#f22090", + "forAccessor": "0d55aeae-2a7e-4115-8366-c0530f525b1f" + } + ] + } + ], + "legend": { + "isVisible": true, + "position": "right" + }, + "preferredSeriesType": "bar_stacked", + "tickLabelsVisibilitySettings": { + "x": true, + "yLeft": true, + "yRight": true + }, + "valueLabels": "hide" + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsXY" + }, + "enhancements": {} + }, + "gridData": { + "h": 15, + "i": "e721ba83-d8a0-4e87-aec3-cef7372f8740", + "w": 24, + "x": 0, + "y": 51 + }, + "panelIndex": "e721ba83-d8a0-4e87-aec3-cef7372f8740", + "title": "Versions[Gigamon AMI]", + "type": "lens" + }, + { + "embeddableConfig": { + "attributes": { + "references": [ + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "indexpattern-datasource-layer-b770cd6b-b887-413e-8cdc-c938199efa2c", + "type": "index-pattern" + }, + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "62e73998-8469-4073-8224-b341e39886f1", + "type": "index-pattern" + } + ], + "state": { + "adHocDataViews": {}, + "datasourceStates": { + "formBased": { + "layers": { + "b770cd6b-b887-413e-8cdc-c938199efa2c": { + "columnOrder": [ + "145a3f3d-4859-465a-8f97-63efeeb664e0", + "5ec8b084-ccb0-47d3-963f-8adadd05df0c", + "44adc3dc-85b7-4338-9809-105b7b7b5680", + "1f50a612-b374-4666-82f6-a9a4ee93aba1", + "5c1933ca-aa28-466d-b0c6-71d74fdd66ec", + "f5e76e2c-206b-44a1-ac2f-86d380df92ec" + ], + "columns": { + "145a3f3d-4859-465a-8f97-63efeeb664e0": { + "customLabel": true, + "dataType": "string", + "isBucketed": true, + "label": "Application", + "operationType": "terms", + "params": { + "exclude": [], + "excludeIsRegex": false, + "include": [], + "includeIsRegex": false, + "missingBucket": false, + "orderBy": { + "columnId": "f5e76e2c-206b-44a1-ac2f-86d380df92ec", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": false, + "parentFormat": { + "id": "terms" + }, + "size": 15 + }, + "scale": "ordinal", + "sourceField": "gigamon.ami.app_name" + }, + "1f50a612-b374-4666-82f6-a9a4ee93aba1": { + "customLabel": true, + "dataType": "number", + "isBucketed": true, + "label": "Source port", + "operationType": "terms", + "params": { + "exclude": [], + "excludeIsRegex": false, + "include": [], + "includeIsRegex": false, + "missingBucket": false, + "orderBy": { + "columnId": "f5e76e2c-206b-44a1-ac2f-86d380df92ec", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": false, + "parentFormat": { + "id": "terms" + }, + "size": 15 + }, + "scale": "ordinal", + "sourceField": "gigamon.ami.src_port" + }, + "44adc3dc-85b7-4338-9809-105b7b7b5680": { + "customLabel": true, + "dataType": "ip", + "isBucketed": true, + "label": "Destination ip", + "operationType": "terms", + "params": { + "exclude": [], + "excludeIsRegex": false, + "include": [], + "includeIsRegex": false, + "missingBucket": false, + "orderBy": { + "columnId": "f5e76e2c-206b-44a1-ac2f-86d380df92ec", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": false, + "parentFormat": { + "id": "terms" + }, + "size": 15 + }, + "scale": "ordinal", + "sourceField": "gigamon.ami.dst_ip" + }, + "5c1933ca-aa28-466d-b0c6-71d74fdd66ec": { + "customLabel": true, + "dataType": "number", + "isBucketed": true, + "label": "Destination port", + "operationType": "terms", + "params": { + "exclude": [], + "excludeIsRegex": false, + "include": [], + "includeIsRegex": false, + "missingBucket": false, + "orderBy": { + "columnId": "f5e76e2c-206b-44a1-ac2f-86d380df92ec", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": false, + "parentFormat": { + "id": "terms" + }, + "size": 15 + }, + "scale": "ordinal", + "sourceField": "gigamon.ami.dst_port" + }, + "5ec8b084-ccb0-47d3-963f-8adadd05df0c": { + "customLabel": true, + "dataType": "ip", + "isBucketed": true, + "label": "Source ip", + "operationType": "terms", + "params": { + "exclude": [], + "excludeIsRegex": false, + "include": [], + "includeIsRegex": false, + "missingBucket": false, + "orderBy": { + "columnId": "f5e76e2c-206b-44a1-ac2f-86d380df92ec", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": false, + "parentFormat": { + "id": "terms" + }, + "size": 15 + }, + "scale": "ordinal", + "sourceField": "gigamon.ami.src_ip" + }, + "f5e76e2c-206b-44a1-ac2f-86d380df92ec": { + "dataType": "number", + "isBucketed": false, + "label": "Count of records", + "operationType": "count", + "params": { + "emptyAsNull": true + }, + "scale": "ratio", + "sourceField": "___records___" + } + }, + "incompleteColumns": {}, + "sampling": 1 + } + } + }, + "indexpattern": { + "layers": {} + }, + "textBased": { + "layers": {} + } + }, + "filters": [ + { + "$state": { + "store": "appState" + }, + "meta": { + "alias": null, + "disabled": false, + "field": "gigamon.ami.app_name", + "index": "62e73998-8469-4073-8224-b341e39886f1", + "key": "gigamon.ami.app_name", + "negate": false, + "params": { + "query": "http2" + }, + "type": "phrase" + }, + "query": { + "match_phrase": { + "gigamon.ami.app_name": "http2" + } + } + } + ], + "internalReferences": [], + "query": { + "language": "kuery", + "query": "data_stream.dataset : \"gigamon.ami\" " + }, + "visualization": { + "columns": [ + { + "columnId": "5ec8b084-ccb0-47d3-963f-8adadd05df0c", + "isMetric": false, + "isTransposed": false + }, + { + "columnId": "44adc3dc-85b7-4338-9809-105b7b7b5680", + "isTransposed": false + }, + { + "columnId": "145a3f3d-4859-465a-8f97-63efeeb664e0", + "isTransposed": false + }, + { + "columnId": "f5e76e2c-206b-44a1-ac2f-86d380df92ec", + "hidden": true, + "isTransposed": false + }, + { + "columnId": "1f50a612-b374-4666-82f6-a9a4ee93aba1", + "isMetric": false, + "isTransposed": false + }, + { + "columnId": "5c1933ca-aa28-466d-b0c6-71d74fdd66ec", + "isMetric": false, + "isTransposed": false + } + ], + "layerId": "b770cd6b-b887-413e-8cdc-c938199efa2c", + "layerType": "data" + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsDatatable" + }, + "enhancements": {} + }, + "gridData": { + "h": 15, + "i": "a2607495-befa-4003-8135-3b853f5d681d", + "w": 24, + "x": 24, + "y": 63 + }, + "panelIndex": "a2607495-befa-4003-8135-3b853f5d681d", + "title": "Http2 session info[Gigamon AMI]", + "type": "lens" + }, + { + "embeddableConfig": { + "attributes": { + "references": [ + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "indexpattern-datasource-layer-dd0c1ad5-68d7-4b28-853e-6a26f853ca4d", + "type": "index-pattern" + } + ], + "state": { + "adHocDataViews": {}, + "datasourceStates": { + "formBased": { + "layers": { + "dd0c1ad5-68d7-4b28-853e-6a26f853ca4d": { + "columnOrder": [ + "e4bb3466-deed-47e5-bcbb-eaccca75616a", + "8efe08f5-376d-423c-93ec-f547b9fd9318" + ], + "columns": { + "8efe08f5-376d-423c-93ec-f547b9fd9318": { + "dataType": "number", + "isBucketed": false, + "label": "Count of records", + "operationType": "count", + "params": { + "emptyAsNull": true + }, + "scale": "ratio", + "sourceField": "___records___" + }, + "e4bb3466-deed-47e5-bcbb-eaccca75616a": { + "dataType": "string", + "isBucketed": true, + "label": "Top 15 values of gigamon.ami.http_referer", + "operationType": "terms", + "params": { + "exclude": [], + "excludeIsRegex": false, + "include": [], + "includeIsRegex": false, + "missingBucket": false, + "orderBy": { + "columnId": "8efe08f5-376d-423c-93ec-f547b9fd9318", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": false, + "parentFormat": { + "id": "terms" + }, + "size": 15 + }, + "scale": "ordinal", + "sourceField": "gigamon.ami.http_referer" + } + }, + "incompleteColumns": {}, + "sampling": 1 + } + } + }, + "indexpattern": { + "layers": {} + }, + "textBased": { + "layers": {} + } + }, + "filters": [], + "internalReferences": [], + "query": { + "language": "kuery", + "query": "data_stream.dataset : \"gigamon.ami\" " + }, + "visualization": { + "layers": [ + { + "categoryDisplay": "default", + "colorMapping": { + "assignments": [], + "colorMode": { + "sort": "desc", + "steps": [ + { + "colorIndex": 5, + "paletteId": "eui_amsterdam_color_blind", + "touched": false, + "type": "categorical" + }, + { + "colorIndex": 4, + "paletteId": "eui_amsterdam_color_blind", + "touched": true, + "type": "categorical" + }, + { + "colorIndex": 9, + "paletteId": "eui_amsterdam_color_blind", + "touched": false, + "type": "categorical" + } + ], + "type": "gradient" + }, + "paletteId": "eui_amsterdam_color_blind", + "specialAssignments": [ + { + "color": { + "type": "loop" + }, + "rule": { + "type": "other" + }, + "touched": false + } + ] + }, + "layerId": "dd0c1ad5-68d7-4b28-853e-6a26f853ca4d", + "layerType": "data", + "legendDisplay": "default", + "metrics": [ + "8efe08f5-376d-423c-93ec-f547b9fd9318" + ], + "nestedLegend": false, + "numberDisplay": "percent", + "primaryGroups": [ + "e4bb3466-deed-47e5-bcbb-eaccca75616a" + ] + } + ], + "shape": "pie" + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsPie" + }, + "enhancements": {} + }, + "gridData": { + "h": 15, + "i": "c6ed4dc3-69db-48f3-9b49-c6ea39f901b4", + "w": 24, + "x": 0, + "y": 66 + }, + "panelIndex": "c6ed4dc3-69db-48f3-9b49-c6ea39f901b4", + "title": "Top Referer sites[Gigamon AMI]", + "type": "lens" + }, + { + "embeddableConfig": { + "description": "", + "enhancements": {}, + "hidePanelTitles": true, + "savedVis": { + "data": { + "aggs": [], + "searchSource": { + "filter": [], + "query": { + "language": "kuery", + "query": "" + } + } + }, + "description": "", + "id": "", + "params": { + "fontSize": 12, + "markdown": "Common unsafe HTTP methods are POST, PUT and DELETE", + "openLinksInNewTab": false + }, + "title": "", + "type": "markdown", + "uiState": {} + } + }, + "gridData": { + "h": 3, + "i": "0c451745-8351-4057-8b2b-10e4613ab790", + "w": 24, + "x": 24, + "y": 78 + }, + "panelIndex": "0c451745-8351-4057-8b2b-10e4613ab790", + "title": "", + "type": "visualization" + }, + { + "embeddableConfig": { + "attributes": { + "references": [ + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "indexpattern-datasource-layer-d2c430c7-08e1-46ee-86f1-95f74dcbded4", + "type": "index-pattern" + }, + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "626d397a-5863-44a3-9644-dcf830489401", + "type": "index-pattern" + } + ], + "state": { + "adHocDataViews": {}, + "datasourceStates": { + "formBased": { + "layers": { + "d2c430c7-08e1-46ee-86f1-95f74dcbded4": { + "columnOrder": [ + "3d7f60fe-f7d2-49ce-9698-54d91b393a02", + "173a8ce4-606e-4e70-8863-d144052944cb", + "fb75c371-1b31-4315-9643-efef9327358d", + "e7a080f9-6b78-497a-ab17-9c33a8f515f0", + "d64ac9fb-8cbb-4d7e-acd0-7a9957b8b94b", + "9e8fa9b8-35af-43b6-b203-ce34d5551d2a", + "545b637a-7e8c-4a7b-986a-e0675ba46401", + "57abd24d-01f7-4096-8545-14b4d4bc6b69" + ], + "columns": { + "173a8ce4-606e-4e70-8863-d144052944cb": { + "customLabel": true, + "dataType": "ip", + "isBucketed": true, + "label": "Destination ip", + "operationType": "terms", + "params": { + "exclude": [], + "excludeIsRegex": false, + "include": [], + "includeIsRegex": false, + "missingBucket": false, + "orderBy": { + "columnId": "57abd24d-01f7-4096-8545-14b4d4bc6b69", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": false, + "parentFormat": { + "id": "terms" + }, + "size": 15 + }, + "scale": "ordinal", + "sourceField": "gigamon.ami.dst_ip" + }, + "3d7f60fe-f7d2-49ce-9698-54d91b393a02": { + "customLabel": true, + "dataType": "ip", + "isBucketed": true, + "label": "Source ip", + "operationType": "terms", + "params": { + "exclude": [], + "excludeIsRegex": false, + "include": [], + "includeIsRegex": false, + "missingBucket": false, + "orderBy": { + "columnId": "57abd24d-01f7-4096-8545-14b4d4bc6b69", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": false, + "parentFormat": { + "id": "terms" + }, + "size": 14 + }, + "scale": "ordinal", + "sourceField": "gigamon.ami.src_ip" + }, + "545b637a-7e8c-4a7b-986a-e0675ba46401": { + "customLabel": true, + "dataType": "string", + "isBucketed": true, + "label": "Server Software", + "operationType": "terms", + "params": { + "exclude": [], + "excludeIsRegex": false, + "include": [], + "includeIsRegex": false, + "missingBucket": false, + "orderBy": { + "columnId": "57abd24d-01f7-4096-8545-14b4d4bc6b69", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": false, + "parentFormat": { + "id": "terms" + }, + "size": 15 + }, + "scale": "ordinal", + "sourceField": "gigamon.ami.http_server_agent" + }, + "57abd24d-01f7-4096-8545-14b4d4bc6b69": { + "dataType": "number", + "isBucketed": false, + "label": "Count of records", + "operationType": "count", + "params": { + "emptyAsNull": true + }, + "scale": "ratio", + "sourceField": "___records___" + }, + "9e8fa9b8-35af-43b6-b203-ce34d5551d2a": { + "customLabel": true, + "dataType": "string", + "isBucketed": true, + "label": "Client Browser", + "operationType": "terms", + "params": { + "exclude": [], + "excludeIsRegex": false, + "include": [], + "includeIsRegex": false, + "missingBucket": false, + "orderBy": { + "columnId": "57abd24d-01f7-4096-8545-14b4d4bc6b69", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": false, + "parentFormat": { + "id": "terms" + }, + "size": 15 + }, + "scale": "ordinal", + "sourceField": "gigamon.ami.http_user_agent" + }, + "d64ac9fb-8cbb-4d7e-acd0-7a9957b8b94b": { + "customLabel": true, + "dataType": "string", + "isBucketed": true, + "label": "time taken", + "operationType": "terms", + "params": { + "exclude": [], + "excludeIsRegex": false, + "include": [], + "includeIsRegex": false, + "missingBucket": false, + "orderBy": { + "columnId": "57abd24d-01f7-4096-8545-14b4d4bc6b69", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": false, + "parentFormat": { + "id": "terms" + }, + "size": 15 + }, + "scale": "ordinal", + "sourceField": "gigamon.ami.http_rtt" + }, + "e7a080f9-6b78-497a-ab17-9c33a8f515f0": { + "customLabel": true, + "dataType": "string", + "isBucketed": true, + "label": "Uri", + "operationType": "terms", + "params": { + "exclude": [], + "excludeIsRegex": false, + "include": [], + "includeIsRegex": false, + "missingBucket": false, + "orderBy": { + "columnId": "57abd24d-01f7-4096-8545-14b4d4bc6b69", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": false, + "parentFormat": { + "id": "terms" + }, + "size": 15 + }, + "scale": "ordinal", + "sourceField": "gigamon.ami.http_uri" + }, + "fb75c371-1b31-4315-9643-efef9327358d": { + "customLabel": true, + "dataType": "string", + "isBucketed": true, + "label": "Web server", + "operationType": "terms", + "params": { + "exclude": [], + "excludeIsRegex": false, + "include": [], + "includeIsRegex": false, + "missingBucket": false, + "orderBy": { + "columnId": "57abd24d-01f7-4096-8545-14b4d4bc6b69", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": false, + "parentFormat": { + "id": "terms" + }, + "size": 15 + }, + "scale": "ordinal", + "sourceField": "gigamon.ami.http_server" + } + }, + "incompleteColumns": {}, + "sampling": 1 + } + } + }, + "indexpattern": { + "layers": {} + }, + "textBased": { + "layers": {} + } + }, + "filters": [ + { + "$state": { + "store": "appState" + }, + "meta": { + "alias": null, + "disabled": false, + "field": "gigamon.ami.app_name", + "index": "626d397a-5863-44a3-9644-dcf830489401", + "key": "gigamon.ami.app_name", + "negate": false, + "params": { + "query": "http" + }, + "type": "phrase" + }, + "query": { + "match_phrase": { + "gigamon.ami.app_name": "http" + } + } + } + ], + "internalReferences": [], + "query": { + "language": "kuery", + "query": "data_stream.dataset : \"gigamon.ami\" " + }, + "visualization": { + "columns": [ + { + "columnId": "fb75c371-1b31-4315-9643-efef9327358d", + "isMetric": false, + "isTransposed": false + }, + { + "columnId": "e7a080f9-6b78-497a-ab17-9c33a8f515f0", + "isMetric": false, + "isTransposed": false + }, + { + "columnId": "d64ac9fb-8cbb-4d7e-acd0-7a9957b8b94b", + "isTransposed": false + }, + { + "columnId": "57abd24d-01f7-4096-8545-14b4d4bc6b69", + "hidden": true, + "isTransposed": false + }, + { + "columnId": "9e8fa9b8-35af-43b6-b203-ce34d5551d2a", + "isMetric": false, + "isTransposed": false + }, + { + "columnId": "545b637a-7e8c-4a7b-986a-e0675ba46401", + "isMetric": false, + "isTransposed": false + }, + { + "columnId": "3d7f60fe-f7d2-49ce-9698-54d91b393a02", + "isMetric": false, + "isTransposed": false + }, + { + "columnId": "173a8ce4-606e-4e70-8863-d144052944cb", + "isMetric": false, + "isTransposed": false + } + ], + "layerId": "d2c430c7-08e1-46ee-86f1-95f74dcbded4", + "layerType": "data" + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsDatatable" + }, + "enhancements": {} + }, + "gridData": { + "h": 15, + "i": "2118f875-bcca-44fd-a40f-18b047fc61ac", + "w": 24, + "x": 0, + "y": 81 + }, + "panelIndex": "2118f875-bcca-44fd-a40f-18b047fc61ac", + "title": "Web Session Info[Gigamon AMI]", + "type": "lens" + }, + { + "embeddableConfig": { + "attributes": { + "references": [ + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "indexpattern-datasource-layer-7ae3bfcf-251d-41f4-af53-a381f40e04e4", + "type": "index-pattern" + } + ], + "state": { + "adHocDataViews": {}, + "datasourceStates": { + "formBased": { + "layers": { + "7ae3bfcf-251d-41f4-af53-a381f40e04e4": { + "columnOrder": [ + "40017f28-31f4-459a-af84-c89f9bb8a554", + "9a84eebb-574c-435f-a66f-2e46bce11e12", + "41840859-a3c1-452d-905b-219a0e03912d", + "4f9f2efb-baff-4a10-be1d-8136862089ba", + "fc73c13d-4797-4be7-bd64-912ddccfc675", + "20b1c8a5-ce9e-4214-af50-a69650952be8" + ], + "columns": { + "20b1c8a5-ce9e-4214-af50-a69650952be8": { + "dataType": "number", + "isBucketed": false, + "label": "Count of records", + "operationType": "count", + "params": { + "emptyAsNull": true + }, + "scale": "ratio", + "sourceField": "___records___" + }, + "40017f28-31f4-459a-af84-c89f9bb8a554": { + "customLabel": true, + "dataType": "string", + "isBucketed": true, + "label": "Http method", + "operationType": "terms", + "params": { + "exclude": [], + "excludeIsRegex": false, + "include": [ + "POST", + "PUT", + "DELETE" + ], + "includeIsRegex": false, + "missingBucket": false, + "orderBy": { + "columnId": "20b1c8a5-ce9e-4214-af50-a69650952be8", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": false, + "parentFormat": { + "id": "terms" + }, + "size": 15 + }, + "scale": "ordinal", + "sourceField": "gigamon.ami.http_method" + }, + "41840859-a3c1-452d-905b-219a0e03912d": { + "customLabel": true, + "dataType": "ip", + "isBucketed": true, + "label": "Source ip", + "operationType": "terms", + "params": { + "exclude": [], + "excludeIsRegex": false, + "include": [], + "includeIsRegex": false, + "missingBucket": false, + "orderBy": { + "columnId": "20b1c8a5-ce9e-4214-af50-a69650952be8", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": false, + "parentFormat": { + "id": "terms" + }, + "size": 15 + }, + "scale": "ordinal", + "sourceField": "gigamon.ami.src_ip" + }, + "4f9f2efb-baff-4a10-be1d-8136862089ba": { + "customLabel": true, + "dataType": "ip", + "isBucketed": true, + "label": "Destination ip", + "operationType": "terms", + "params": { + "exclude": [], + "excludeIsRegex": false, + "include": [], + "includeIsRegex": false, + "missingBucket": false, + "orderBy": { + "columnId": "20b1c8a5-ce9e-4214-af50-a69650952be8", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": false, + "parentFormat": { + "id": "terms" + }, + "size": 15 + }, + "scale": "ordinal", + "sourceField": "gigamon.ami.dst_ip" + }, + "9a84eebb-574c-435f-a66f-2e46bce11e12": { + "customLabel": true, + "dataType": "string", + "isBucketed": true, + "label": "File type", + "operationType": "terms", + "params": { + "exclude": [], + "excludeIsRegex": false, + "include": [], + "includeIsRegex": false, + "missingBucket": false, + "orderBy": { + "columnId": "20b1c8a5-ce9e-4214-af50-a69650952be8", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": false, + "parentFormat": { + "id": "terms" + }, + "size": 15 + }, + "scale": "ordinal", + "sourceField": "gigamon.ami.http_file_type" + }, + "fc73c13d-4797-4be7-bd64-912ddccfc675": { + "customLabel": true, + "dataType": "string", + "isBucketed": true, + "label": "Web server", + "operationType": "terms", + "params": { + "exclude": [], + "excludeIsRegex": false, + "include": [], + "includeIsRegex": false, + "missingBucket": false, + "orderBy": { + "columnId": "20b1c8a5-ce9e-4214-af50-a69650952be8", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": false, + "parentFormat": { + "id": "terms" + }, + "size": 15 + }, + "scale": "ordinal", + "sourceField": "gigamon.ami.http_server" + } + }, + "incompleteColumns": {}, + "sampling": 1 + } + } + }, + "indexpattern": { + "layers": {} + }, + "textBased": { + "layers": {} + } + }, + "filters": [], + "internalReferences": [], + "query": { + "language": "kuery", + "query": "data_stream.dataset : \"gigamon.ami\" " + }, + "visualization": { + "columns": [ + { + "columnId": "40017f28-31f4-459a-af84-c89f9bb8a554", + "isTransposed": false + }, + { + "columnId": "41840859-a3c1-452d-905b-219a0e03912d", + "isMetric": false, + "isTransposed": false + }, + { + "columnId": "4f9f2efb-baff-4a10-be1d-8136862089ba", + "isTransposed": false + }, + { + "columnId": "20b1c8a5-ce9e-4214-af50-a69650952be8", + "isTransposed": false + }, + { + "columnId": "fc73c13d-4797-4be7-bd64-912ddccfc675", + "isMetric": false, + "isTransposed": false + }, + { + "columnId": "9a84eebb-574c-435f-a66f-2e46bce11e12", + "isMetric": false, + "isTransposed": false + } + ], + "layerId": "7ae3bfcf-251d-41f4-af53-a381f40e04e4", + "layerType": "data" + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsDatatable" + }, + "enhancements": {} + }, + "gridData": { + "h": 15, + "i": "15bf7ddc-aa4f-4698-b9c1-a42ac68ef94a", + "w": 24, + "x": 24, + "y": 81 + }, + "panelIndex": "15bf7ddc-aa4f-4698-b9c1-a42ac68ef94a", + "title": "Session info for unsafe Http methods[Gigamon AMI]", + "type": "lens" + }, + { + "embeddableConfig": { + "attributes": { + "references": [ + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "indexpattern-datasource-layer-0d2c6675-2841-4e00-a502-a80b7aee1da3", + "type": "index-pattern" + } + ], + "state": { + "adHocDataViews": {}, + "datasourceStates": { + "formBased": { + "layers": { + "0d2c6675-2841-4e00-a502-a80b7aee1da3": { + "columnOrder": [ + "e08d0744-79fe-4ec8-b3fe-a24e6919d3ad", + "f0d95021-4e2d-49dd-b5f9-1e4500d00293", + "25753565-a563-449f-b5fa-4c788f12a4c6", + "099e6663-ffce-478b-878f-eeab2c02fbb6", + "c647b014-a149-4307-8b64-5f101a4ba7c3" + ], + "columns": { + "099e6663-ffce-478b-878f-eeab2c02fbb6": { + "customLabel": true, + "dataType": "number", + "isBucketed": true, + "label": "Destination port", + "operationType": "terms", + "params": { + "exclude": [ + 80 + ], + "excludeIsRegex": false, + "include": [], + "includeIsRegex": false, + "missingBucket": false, + "orderBy": { + "columnId": "c647b014-a149-4307-8b64-5f101a4ba7c3", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": true, + "parentFormat": { + "id": "terms" + }, + "size": 15 + }, + "scale": "ordinal", + "sourceField": "gigamon.ami.dst_port" + }, + "25753565-a563-449f-b5fa-4c788f12a4c6": { + "customLabel": true, + "dataType": "number", + "isBucketed": true, + "label": "Source port", + "operationType": "terms", + "params": { + "exclude": [ + 80 + ], + "excludeIsRegex": false, + "include": [], + "includeIsRegex": false, + "missingBucket": false, + "orderBy": { + "columnId": "c647b014-a149-4307-8b64-5f101a4ba7c3", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": false, + "parentFormat": { + "id": "terms" + }, + "size": 13 + }, + "scale": "ordinal", + "sourceField": "gigamon.ami.src_port" + }, + "c647b014-a149-4307-8b64-5f101a4ba7c3": { + "dataType": "number", + "isBucketed": false, + "label": "Count of records", + "operationType": "count", + "params": { + "emptyAsNull": true + }, + "scale": "ratio", + "sourceField": "___records___" + }, + "e08d0744-79fe-4ec8-b3fe-a24e6919d3ad": { + "customLabel": true, + "dataType": "ip", + "isBucketed": true, + "label": "Source ip", + "operationType": "terms", + "params": { + "exclude": [], + "excludeIsRegex": false, + "include": [], + "includeIsRegex": false, + "missingBucket": false, + "orderBy": { + "columnId": "c647b014-a149-4307-8b64-5f101a4ba7c3", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": false, + "parentFormat": { + "id": "terms" + }, + "size": 15 + }, + "scale": "ordinal", + "sourceField": "gigamon.ami.src_ip" + }, + "f0d95021-4e2d-49dd-b5f9-1e4500d00293": { + "customLabel": true, + "dataType": "ip", + "isBucketed": true, + "label": "Destination ip", + "operationType": "terms", + "params": { + "exclude": [], + "excludeIsRegex": false, + "include": [], + "includeIsRegex": false, + "missingBucket": false, + "orderBy": { + "columnId": "c647b014-a149-4307-8b64-5f101a4ba7c3", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": false, + "parentFormat": { + "id": "terms" + }, + "size": 15 + }, + "scale": "ordinal", + "sourceField": "gigamon.ami.dst_ip" + } + }, + "incompleteColumns": {}, + "sampling": 1 + } + } + }, + "indexpattern": { + "layers": {} + }, + "textBased": { + "layers": {} + } + }, + "filters": [], + "internalReferences": [], + "query": { + "language": "kuery", + "query": "data_stream.dataset : \"gigamon.ami\" " + }, + "visualization": { + "columns": [ + { + "columnId": "e08d0744-79fe-4ec8-b3fe-a24e6919d3ad", + "isTransposed": false + }, + { + "columnId": "f0d95021-4e2d-49dd-b5f9-1e4500d00293", + "isTransposed": false + }, + { + "columnId": "c647b014-a149-4307-8b64-5f101a4ba7c3", + "hidden": true, + "isTransposed": false + }, + { + "columnId": "25753565-a563-449f-b5fa-4c788f12a4c6", + "isMetric": false, + "isTransposed": false + }, + { + "columnId": "099e6663-ffce-478b-878f-eeab2c02fbb6", + "isMetric": false, + "isTransposed": false + } + ], + "layerId": "0d2c6675-2841-4e00-a502-a80b7aee1da3", + "layerType": "data" + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsDatatable" + }, + "description": "Communication outside port 80", + "enhancements": {} + }, + "gridData": { + "h": 15, + "i": "2d34d4b2-a3fd-41e3-afb0-0c6f7e84aa9c", + "w": 24, + "x": 0, + "y": 96 + }, + "panelIndex": "2d34d4b2-a3fd-41e3-afb0-0c6f7e84aa9c", + "title": "Http communication on non-standard ports[Gigamon AMI]", + "type": "lens" + }, + { + "embeddableConfig": { + "attributes": { + "references": [ + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "indexpattern-datasource-layer-fcbe6558-dee4-4eac-bac0-f3f340630af1", + "type": "index-pattern" + } + ], + "state": { + "adHocDataViews": {}, + "datasourceStates": { + "formBased": { + "layers": { + "fcbe6558-dee4-4eac-bac0-f3f340630af1": { + "columnOrder": [ + "77ca8c87-1e06-4a9f-ae1d-6913ff560487", + "d9dd92d7-ebbf-49e8-9ff7-f0b630d16865" + ], + "columns": { + "77ca8c87-1e06-4a9f-ae1d-6913ff560487": { + "dataType": "string", + "isBucketed": true, + "label": "Top 15 values of gigamon.ami.http_file_type", + "operationType": "terms", + "params": { + "exclude": [], + "excludeIsRegex": false, + "include": [], + "includeIsRegex": false, + "missingBucket": false, + "orderBy": { + "columnId": "d9dd92d7-ebbf-49e8-9ff7-f0b630d16865", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": true, + "parentFormat": { + "id": "terms" + }, + "size": 15 + }, + "scale": "ordinal", + "sourceField": "gigamon.ami.http_file_type" + }, + "d9dd92d7-ebbf-49e8-9ff7-f0b630d16865": { + "dataType": "number", + "isBucketed": false, + "label": "Count of records", + "operationType": "count", + "params": { + "emptyAsNull": true + }, + "scale": "ratio", + "sourceField": "___records___" + } + }, + "incompleteColumns": {}, + "sampling": 1 + } + } + }, + "indexpattern": { + "layers": {} + }, + "textBased": { + "layers": {} + } + }, + "filters": [], + "internalReferences": [], + "query": { + "language": "kuery", + "query": "data_stream.dataset : \"gigamon.ami\" " + }, + "visualization": { + "layers": [ + { + "categoryDisplay": "default", + "colorMapping": { + "assignments": [], + "colorMode": { + "sort": "desc", + "steps": [ + { + "colorIndex": 1, + "paletteId": "eui_amsterdam_color_blind", + "touched": false, + "type": "categorical" + }, + { + "colorIndex": 4, + "paletteId": "eui_amsterdam_color_blind", + "touched": true, + "type": "categorical" + } + ], + "type": "gradient" + }, + "paletteId": "eui_amsterdam_color_blind", + "specialAssignments": [ + { + "color": { + "type": "loop" + }, + "rule": { + "type": "other" + }, + "touched": false + } + ] + }, + "layerId": "fcbe6558-dee4-4eac-bac0-f3f340630af1", + "layerType": "data", + "legendDisplay": "default", + "metrics": [ + "d9dd92d7-ebbf-49e8-9ff7-f0b630d16865" + ], + "nestedLegend": false, + "numberDisplay": "percent", + "primaryGroups": [ + "77ca8c87-1e06-4a9f-ae1d-6913ff560487" + ] + } + ], + "shape": "donut" + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsPie" + }, + "enhancements": {} + }, + "gridData": { + "h": 15, + "i": "031caf31-94df-4ae9-b8db-048c6087d60d", + "w": 24, + "x": 24, + "y": 96 + }, + "panelIndex": "031caf31-94df-4ae9-b8db-048c6087d60d", + "title": "File types[Gigamon AMI]", + "type": "lens" + } + ], + "timeRestore": false, + "title": "[Logs Gigamon] Web Traffic details", + "version": 1 + }, + "coreMigrationVersion": "8.8.0", + "created_at": "2024-08-21T10:08:24.090Z", + "id": "gigamon-d866be49-47b2-4306-a2be-d5cb6b6ab9c8", + "managed": false, + "references": [ + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "9236f79d-61f7-404a-8822-17ef4496b7d6:indexpattern-datasource-layer-6653e941-2b11-4e99-8cf6-7b536389759d", + "type": "index-pattern" + }, + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "0c4c7a41-4eb9-4389-9c0f-dd395676c84a:indexpattern-datasource-layer-42ff257f-c3e4-45a0-9b1f-fc81a1882379", + "type": "index-pattern" + }, + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "8c016cce-649d-4cdb-a7df-e88685e7ee43:indexpattern-datasource-layer-9a30d6db-4434-4567-9300-acbb289bbc91", + "type": "index-pattern" + }, + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "a31e20d6-3010-44c4-b685-8a00a8698947:indexpattern-datasource-layer-f5aa0548-7204-4fe7-ae54-91c762a05ddd", + "type": "index-pattern" + }, + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "a31e20d6-3010-44c4-b685-8a00a8698947:9e00affd-603f-47dc-8524-9248c20ef8dc", + "type": "index-pattern" + }, + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "49610792-b5f4-4920-9012-bed8ef370218:indexpattern-datasource-layer-f9a9aa82-c81c-45f0-9f40-d1bdb7a0a44b", + "type": "index-pattern" + }, + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "35be4b1b-e979-4994-956d-161df3c542df:indexpattern-datasource-layer-52f8c4eb-efe2-46ef-a2a1-48f38c5d2e60", + "type": "index-pattern" + }, + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "e721ba83-d8a0-4e87-aec3-cef7372f8740:indexpattern-datasource-layer-6f432d24-4cfb-4fae-9c30-59d320818535", + "type": "index-pattern" + }, + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "a2607495-befa-4003-8135-3b853f5d681d:indexpattern-datasource-layer-b770cd6b-b887-413e-8cdc-c938199efa2c", + "type": "index-pattern" + }, + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "a2607495-befa-4003-8135-3b853f5d681d:62e73998-8469-4073-8224-b341e39886f1", + "type": "index-pattern" + }, + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "c6ed4dc3-69db-48f3-9b49-c6ea39f901b4:indexpattern-datasource-layer-dd0c1ad5-68d7-4b28-853e-6a26f853ca4d", + "type": "index-pattern" + }, + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "2118f875-bcca-44fd-a40f-18b047fc61ac:indexpattern-datasource-layer-d2c430c7-08e1-46ee-86f1-95f74dcbded4", + "type": "index-pattern" + }, + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "2118f875-bcca-44fd-a40f-18b047fc61ac:626d397a-5863-44a3-9644-dcf830489401", + "type": "index-pattern" + }, + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "15bf7ddc-aa4f-4698-b9c1-a42ac68ef94a:indexpattern-datasource-layer-7ae3bfcf-251d-41f4-af53-a381f40e04e4", + "type": "index-pattern" + }, + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "2d34d4b2-a3fd-41e3-afb0-0c6f7e84aa9c:indexpattern-datasource-layer-0d2c6675-2841-4e00-a502-a80b7aee1da3", + "type": "index-pattern" + }, + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "031caf31-94df-4ae9-b8db-048c6087d60d:indexpattern-datasource-layer-fcbe6558-dee4-4eac-bac0-f3f340630af1", + "type": "index-pattern" + } + ], + "type": "dashboard", + "typeMigrationVersion": "8.9.0" +} \ No newline at end of file diff --git a/packages/gigamon/kibana/dashboard/gigamon-e192a946-8287-450a-a8f0-e23de9f95dae.json b/packages/gigamon/kibana/dashboard/gigamon-e192a946-8287-450a-a8f0-e23de9f95dae.json new file mode 100644 index 00000000000..f8cdd854ba2 --- /dev/null +++ b/packages/gigamon/kibana/dashboard/gigamon-e192a946-8287-450a-a8f0-e23de9f95dae.json @@ -0,0 +1,1785 @@ +{ + "attributes": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": { + "filter": [], + "query": { + "language": "kuery", + "query": "" + } + } + }, + "optionsJSON": { + "hidePanelTitles": false, + "syncColors": false, + "syncCursor": true, + "syncTooltips": false, + "useMargins": true + }, + "panelsJSON": [ + { + "embeddableConfig": { + "description": "", + "enhancements": {}, + "hidePanelTitles": true, + "savedVis": { + "data": { + "aggs": [], + "searchSource": { + "filter": [], + "query": { + "language": "kuery", + "query": "" + } + } + }, + "description": "", + "id": "", + "params": { + "fontSize": 12, + "markdown": "**AMI Starter Pack**\n\n- [App Insights](#/dashboard/gigamon-855a64dc-1a72-403f-932b-a5b848378f7e)\n- Trouble shooting\n - [Troubleshooting Insights for Network traffic](#/dashboard/gigamon-e733c64e-6ea9-4dd6-a8ca-3914274598f3)\n - [Top Traffic Sources and Destinations](#/dashboard/gigamon-d6cecabb-f026-4823-914d-b4d61fd61787)\n- [Security Posture](#/dashboard/gigamon-4ae2cd9a-3eef-42c6-a02c-731ce74d94ac)\n- Identifier Analysis\n - [Homoglyph Detection](#/dashboard/gigamon-64ca15b3-8327-4940-8b35-0e75ab3a73c6)\n - [URL Analysis](#/dashboard/gigamon-8f772203-64e0-4d1b-bb0e-14fa57b4b754)\n- M21-31\n - [Web Traffic Details](#/dashboard/gigamon-d866be49-47b2-4306-a2be-d5cb6b6ab9c8)\n - [DNS Information](#/dashboard/gigamon-e192a946-8287-450a-a8f0-e23de9f95dae)\n- Rogue Activity\n - [**Unsanctioned Peer to Peer Apps**](#/dashboard/gigamon-3523b534-7525-44a7-808f-6a9f3235a67d)\n- [PCI Compliance](#/dashboard/gigamon-032aab7b-87b2-444c-8c86-956d092598fb)\n- Suspicious Activities\n - [Suspicious Connections](#/dashboard/gigamon-62291e9e-8b75-4f23-9121-79959da99b3b)\n - [Unmanaged Endpoints](#/dashboard/gigamon-46931a21-a33e-43af-aadf-da8d6446b9cc)", + "openLinksInNewTab": false + }, + "title": "", + "type": "markdown", + "uiState": {} + } + }, + "gridData": { + "h": 21, + "i": "c8146cae-e7ee-4f9c-bf73-bdc589c42ee7", + "w": 24, + "x": 0, + "y": 0 + }, + "panelIndex": "c8146cae-e7ee-4f9c-bf73-bdc589c42ee7", + "title": "", + "type": "visualization" + }, + { + "embeddableConfig": { + "attributes": { + "references": [ + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "indexpattern-datasource-layer-c40b1d67-8d61-453a-a436-aa99ea61cc06", + "type": "index-pattern" + } + ], + "state": { + "adHocDataViews": {}, + "datasourceStates": { + "formBased": { + "layers": { + "c40b1d67-8d61-453a-a436-aa99ea61cc06": { + "columnOrder": [ + "9b138a5d-7c4e-4475-af7b-ce4cd2df3778", + "808849c3-9058-41a9-a41b-c1fc6050cf5c", + "be77ae20-f81f-44e2-a251-fbb449e9a057" + ], + "columns": { + "808849c3-9058-41a9-a41b-c1fc6050cf5c": { + "dataType": "date", + "isBucketed": true, + "label": "@timestamp", + "operationType": "date_histogram", + "params": { + "dropPartials": false, + "includeEmptyRows": true, + "interval": "auto" + }, + "scale": "interval", + "sourceField": "@timestamp" + }, + "9b138a5d-7c4e-4475-af7b-ce4cd2df3778": { + "dataType": "string", + "isBucketed": true, + "label": "Top 15 values of gigamon.ami.dns_query", + "operationType": "terms", + "params": { + "exclude": [], + "excludeIsRegex": false, + "include": [], + "includeIsRegex": false, + "missingBucket": false, + "orderBy": { + "columnId": "be77ae20-f81f-44e2-a251-fbb449e9a057", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": false, + "parentFormat": { + "id": "terms" + }, + "size": 15 + }, + "scale": "ordinal", + "sourceField": "gigamon.ami.dns_query" + }, + "be77ae20-f81f-44e2-a251-fbb449e9a057": { + "dataType": "number", + "isBucketed": false, + "label": "Count of records", + "operationType": "count", + "params": { + "emptyAsNull": true + }, + "scale": "ratio", + "sourceField": "___records___" + } + }, + "incompleteColumns": {}, + "sampling": 1 + } + } + }, + "indexpattern": { + "layers": {} + }, + "textBased": { + "layers": {} + } + }, + "filters": [], + "internalReferences": [], + "query": { + "language": "kuery", + "query": "data_stream.dataset : \"gigamon.ami\" " + }, + "visualization": { + "axisTitlesVisibilitySettings": { + "x": true, + "yLeft": true, + "yRight": true + }, + "fittingFunction": "None", + "gridlinesVisibilitySettings": { + "x": true, + "yLeft": true, + "yRight": true + }, + "labelsOrientation": { + "x": 0, + "yLeft": 0, + "yRight": 0 + }, + "layers": [ + { + "accessors": [ + "be77ae20-f81f-44e2-a251-fbb449e9a057" + ], + "colorMapping": { + "assignments": [], + "colorMode": { + "sort": "desc", + "steps": [ + { + "colorIndex": 6, + "paletteId": "eui_amsterdam_color_blind", + "touched": false, + "type": "categorical" + }, + { + "colorCode": "#971d45", + "touched": true, + "type": "colorCode" + }, + { + "colorCode": "#2f8ce2", + "touched": false, + "type": "colorCode" + } + ], + "type": "gradient" + }, + "paletteId": "eui_amsterdam_color_blind", + "specialAssignments": [ + { + "color": { + "type": "loop" + }, + "rule": { + "type": "other" + }, + "touched": false + } + ] + }, + "layerId": "c40b1d67-8d61-453a-a436-aa99ea61cc06", + "layerType": "data", + "position": "top", + "seriesType": "line", + "showGridlines": false, + "splitAccessor": "9b138a5d-7c4e-4475-af7b-ce4cd2df3778", + "xAccessor": "808849c3-9058-41a9-a41b-c1fc6050cf5c" + } + ], + "legend": { + "isVisible": true, + "position": "right" + }, + "preferredSeriesType": "line", + "tickLabelsVisibilitySettings": { + "x": true, + "yLeft": true, + "yRight": true + }, + "valueLabels": "hide" + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsXY" + }, + "enhancements": {} + }, + "gridData": { + "h": 15, + "i": "2b540711-4ead-413a-8b4a-9c1aee1f432a", + "w": 24, + "x": 24, + "y": 0 + }, + "panelIndex": "2b540711-4ead-413a-8b4a-9c1aee1f432a", + "title": "Volume of DNS Requests over time[Gigamon AMI]", + "type": "lens" + }, + { + "embeddableConfig": { + "attributes": { + "references": [ + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "indexpattern-datasource-layer-41d11af3-009b-45ce-b2b4-70cdc656b927", + "type": "index-pattern" + } + ], + "state": { + "adHocDataViews": {}, + "datasourceStates": { + "formBased": { + "layers": { + "41d11af3-009b-45ce-b2b4-70cdc656b927": { + "columnOrder": [ + "b9bb62e1-70d3-45ef-94d9-558f15f16eb1", + "d6d7ae23-8da4-48da-a732-985ff7e5dfbe" + ], + "columns": { + "b9bb62e1-70d3-45ef-94d9-558f15f16eb1": { + "customLabel": true, + "dataType": "string", + "isBucketed": true, + "label": "Top DNS Queried", + "operationType": "terms", + "params": { + "exclude": [], + "excludeIsRegex": false, + "include": [], + "includeIsRegex": false, + "missingBucket": false, + "orderBy": { + "columnId": "d6d7ae23-8da4-48da-a732-985ff7e5dfbe", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": false, + "parentFormat": { + "id": "terms" + }, + "size": 15 + }, + "scale": "ordinal", + "sourceField": "gigamon.ami.dns_query" + }, + "d6d7ae23-8da4-48da-a732-985ff7e5dfbe": { + "dataType": "number", + "isBucketed": false, + "label": "Count of records", + "operationType": "count", + "params": { + "emptyAsNull": true + }, + "scale": "ratio", + "sourceField": "___records___" + } + }, + "incompleteColumns": {}, + "sampling": 1 + } + } + }, + "indexpattern": { + "layers": {} + }, + "textBased": { + "layers": {} + } + }, + "filters": [], + "internalReferences": [], + "query": { + "language": "kuery", + "query": "data_stream.dataset : \"gigamon.ami\" " + }, + "visualization": { + "axisTitlesVisibilitySettings": { + "x": true, + "yLeft": true, + "yRight": true + }, + "fittingFunction": "None", + "gridlinesVisibilitySettings": { + "x": true, + "yLeft": true, + "yRight": true + }, + "labelsOrientation": { + "x": 0, + "yLeft": 0, + "yRight": 0 + }, + "layers": [ + { + "accessors": [ + "d6d7ae23-8da4-48da-a732-985ff7e5dfbe" + ], + "colorMapping": { + "assignments": [], + "colorMode": { + "type": "categorical" + }, + "paletteId": "eui_amsterdam_color_blind", + "specialAssignments": [ + { + "color": { + "type": "loop" + }, + "rule": { + "type": "other" + }, + "touched": false + } + ] + }, + "layerId": "41d11af3-009b-45ce-b2b4-70cdc656b927", + "layerType": "data", + "position": "top", + "seriesType": "bar_stacked", + "showGridlines": false, + "xAccessor": "b9bb62e1-70d3-45ef-94d9-558f15f16eb1", + "yConfig": [ + { + "color": "#ea6245", + "forAccessor": "d6d7ae23-8da4-48da-a732-985ff7e5dfbe" + } + ] + } + ], + "legend": { + "isVisible": true, + "position": "right" + }, + "preferredSeriesType": "bar_stacked", + "tickLabelsVisibilitySettings": { + "x": true, + "yLeft": true, + "yRight": true + }, + "valueLabels": "hide" + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsXY" + }, + "enhancements": {} + }, + "gridData": { + "h": 15, + "i": "aea6907c-059a-4596-b3c6-9d2582bc2fbf", + "w": 24, + "x": 0, + "y": 21 + }, + "panelIndex": "aea6907c-059a-4596-b3c6-9d2582bc2fbf", + "title": "Top DNS Queried[Gigamon AMI]", + "type": "lens" + }, + { + "embeddableConfig": { + "attributes": { + "references": [ + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "indexpattern-datasource-layer-58ebbf18-0dda-49c2-ae26-1a96bb76a444", + "type": "index-pattern" + }, + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "466e4764-4008-4351-ba5e-74939f3168ae", + "type": "index-pattern" + } + ], + "state": { + "adHocDataViews": {}, + "datasourceStates": { + "formBased": { + "layers": { + "58ebbf18-0dda-49c2-ae26-1a96bb76a444": { + "columnOrder": [ + "c1388b2a-2604-444e-8e04-59993952791f", + "9d3fcd6c-d42c-4d83-a55d-8a10cd8dc7b8", + "df26beb3-26ab-4613-910f-d9bea054c1ca" + ], + "columns": { + "9d3fcd6c-d42c-4d83-a55d-8a10cd8dc7b8": { + "dataType": "date", + "isBucketed": true, + "label": "@timestamp", + "operationType": "date_histogram", + "params": { + "dropPartials": false, + "includeEmptyRows": true, + "interval": "auto" + }, + "scale": "interval", + "sourceField": "@timestamp" + }, + "c1388b2a-2604-444e-8e04-59993952791f": { + "customLabel": true, + "dataType": "ip", + "isBucketed": true, + "label": "Top DNS Servers", + "operationType": "terms", + "params": { + "exclude": [], + "excludeIsRegex": false, + "include": [], + "includeIsRegex": false, + "missingBucket": false, + "orderBy": { + "columnId": "df26beb3-26ab-4613-910f-d9bea054c1ca", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": false, + "parentFormat": { + "id": "terms" + }, + "size": 15 + }, + "scale": "ordinal", + "sourceField": "gigamon.ami.dst_ip" + }, + "df26beb3-26ab-4613-910f-d9bea054c1ca": { + "dataType": "number", + "isBucketed": false, + "label": "Count of records", + "operationType": "count", + "params": { + "emptyAsNull": true + }, + "scale": "ratio", + "sourceField": "___records___" + } + }, + "ignoreGlobalFilters": false, + "incompleteColumns": {}, + "sampling": 1 + } + } + }, + "indexpattern": { + "layers": {} + }, + "textBased": { + "layers": {} + } + }, + "filters": [ + { + "$state": { + "store": "appState" + }, + "meta": { + "alias": null, + "disabled": false, + "field": "gigamon.ami.dns_query", + "index": "466e4764-4008-4351-ba5e-74939f3168ae", + "key": "gigamon.ami.dns_query", + "negate": false, + "type": "exists", + "value": "exists" + }, + "query": { + "exists": { + "field": "gigamon.ami.dns_query" + } + } + } + ], + "internalReferences": [], + "query": { + "language": "kuery", + "query": "data_stream.dataset : \"gigamon.ami\" " + }, + "visualization": { + "axisTitlesVisibilitySettings": { + "x": true, + "yLeft": true, + "yRight": true + }, + "fittingFunction": "None", + "gridlinesVisibilitySettings": { + "x": true, + "yLeft": true, + "yRight": true + }, + "labelsOrientation": { + "x": 0, + "yLeft": 0, + "yRight": 0 + }, + "layers": [ + { + "accessors": [ + "df26beb3-26ab-4613-910f-d9bea054c1ca" + ], + "colorMapping": { + "assignments": [], + "colorMode": { + "type": "categorical" + }, + "paletteId": "kibana_v7_legacy", + "specialAssignments": [ + { + "color": { + "type": "loop" + }, + "rule": { + "type": "other" + }, + "touched": false + } + ] + }, + "layerId": "58ebbf18-0dda-49c2-ae26-1a96bb76a444", + "layerType": "data", + "position": "top", + "seriesType": "line", + "showGridlines": false, + "splitAccessor": "c1388b2a-2604-444e-8e04-59993952791f", + "xAccessor": "9d3fcd6c-d42c-4d83-a55d-8a10cd8dc7b8" + } + ], + "legend": { + "isVisible": true, + "position": "right" + }, + "preferredSeriesType": "line", + "tickLabelsVisibilitySettings": { + "x": true, + "yLeft": true, + "yRight": true + }, + "valueLabels": "hide" + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsXY" + }, + "enhancements": {} + }, + "gridData": { + "h": 15, + "i": "0121fd10-c2b4-472a-bcd8-148d3e9589e2", + "w": 24, + "x": 24, + "y": 15 + }, + "panelIndex": "0121fd10-c2b4-472a-bcd8-148d3e9589e2", + "title": "Top DNS Servers with Volume of Responses[Gigamon AMI]", + "type": "lens" + }, + { + "embeddableConfig": { + "attributes": { + "references": [ + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "indexpattern-datasource-layer-4f46c7d1-cd26-40ef-bea2-a17023767382", + "type": "index-pattern" + }, + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "abf73eef-11dd-4f79-8e5d-ab518aa8bbc7", + "type": "index-pattern" + } + ], + "state": { + "adHocDataViews": {}, + "datasourceStates": { + "formBased": { + "layers": { + "4f46c7d1-cd26-40ef-bea2-a17023767382": { + "columnOrder": [ + "0c34fe27-186d-4fc9-a2ca-01bcadd6e9b8", + "780561c4-ac1d-46d0-9ed8-cafb63375024", + "cb01d789-d4ca-4ade-a3ee-ecc8b1944ccf" + ], + "columns": { + "0c34fe27-186d-4fc9-a2ca-01bcadd6e9b8": { + "customLabel": true, + "dataType": "ip", + "isBucketed": true, + "label": "DNS Clients", + "operationType": "terms", + "params": { + "exclude": [], + "excludeIsRegex": false, + "include": [], + "includeIsRegex": false, + "missingBucket": false, + "orderBy": { + "columnId": "cb01d789-d4ca-4ade-a3ee-ecc8b1944ccf", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": false, + "parentFormat": { + "id": "terms" + }, + "size": 15 + }, + "scale": "ordinal", + "sourceField": "gigamon.ami.src_ip" + }, + "780561c4-ac1d-46d0-9ed8-cafb63375024": { + "dataType": "date", + "isBucketed": true, + "label": "@timestamp", + "operationType": "date_histogram", + "params": { + "dropPartials": false, + "includeEmptyRows": true, + "interval": "auto" + }, + "scale": "interval", + "sourceField": "@timestamp" + }, + "cb01d789-d4ca-4ade-a3ee-ecc8b1944ccf": { + "dataType": "number", + "isBucketed": false, + "label": "Count of records", + "operationType": "count", + "params": { + "emptyAsNull": true + }, + "scale": "ratio", + "sourceField": "___records___" + } + }, + "ignoreGlobalFilters": false, + "incompleteColumns": {}, + "sampling": 1 + } + } + }, + "indexpattern": { + "layers": {} + }, + "textBased": { + "layers": {} + } + }, + "filters": [ + { + "$state": { + "store": "appState" + }, + "meta": { + "alias": null, + "disabled": false, + "field": "gigamon.ami.dns_query", + "index": "abf73eef-11dd-4f79-8e5d-ab518aa8bbc7", + "key": "gigamon.ami.dns_query", + "negate": false, + "type": "exists", + "value": "exists" + }, + "query": { + "exists": { + "field": "gigamon.ami.dns_query" + } + } + } + ], + "internalReferences": [], + "query": { + "language": "kuery", + "query": "data_stream.dataset : \"gigamon.ami\" " + }, + "visualization": { + "layers": [ + { + "accessors": [ + "cb01d789-d4ca-4ade-a3ee-ecc8b1944ccf" + ], + "colorMapping": { + "assignments": [], + "colorMode": { + "type": "categorical" + }, + "paletteId": "elastic_brand_2023", + "specialAssignments": [ + { + "color": { + "type": "loop" + }, + "rule": { + "type": "other" + }, + "touched": false + } + ] + }, + "layerId": "4f46c7d1-cd26-40ef-bea2-a17023767382", + "layerType": "data", + "position": "top", + "seriesType": "line", + "showGridlines": false, + "splitAccessor": "0c34fe27-186d-4fc9-a2ca-01bcadd6e9b8", + "xAccessor": "780561c4-ac1d-46d0-9ed8-cafb63375024" + } + ], + "legend": { + "isVisible": true, + "position": "right" + }, + "preferredSeriesType": "line", + "title": "Empty XY chart", + "valueLabels": "hide" + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsXY" + }, + "enhancements": {} + }, + "gridData": { + "h": 15, + "i": "b97357d2-ccbf-4968-a18c-b5417b1d2823", + "w": 24, + "x": 0, + "y": 36 + }, + "panelIndex": "b97357d2-ccbf-4968-a18c-b5417b1d2823", + "title": "Volume of DNS requests by Clients[Gigamon AMI]", + "type": "lens" + }, + { + "embeddableConfig": { + "attributes": { + "references": [ + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "indexpattern-datasource-layer-3d66f06d-227d-4b54-a0d8-9a892b2d8163", + "type": "index-pattern" + }, + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "82a0bf64-7149-422f-989a-ffbfaf939c8f", + "type": "index-pattern" + } + ], + "state": { + "adHocDataViews": {}, + "datasourceStates": { + "formBased": { + "layers": { + "3d66f06d-227d-4b54-a0d8-9a892b2d8163": { + "columnOrder": [ + "942cb853-c6ee-43ad-aa16-2f1f29682db3", + "d67e6f48-7985-4bb2-a46c-87e1af538e26" + ], + "columns": { + "942cb853-c6ee-43ad-aa16-2f1f29682db3": { + "customLabel": true, + "dataType": "ip", + "isBucketed": true, + "label": "Top DNS Clients", + "operationType": "terms", + "params": { + "exclude": [], + "excludeIsRegex": false, + "include": [], + "includeIsRegex": false, + "missingBucket": false, + "orderBy": { + "columnId": "d67e6f48-7985-4bb2-a46c-87e1af538e26", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": false, + "parentFormat": { + "id": "terms" + }, + "size": 15 + }, + "scale": "ordinal", + "sourceField": "gigamon.ami.src_ip" + }, + "d67e6f48-7985-4bb2-a46c-87e1af538e26": { + "dataType": "number", + "isBucketed": false, + "label": "Count of records", + "operationType": "count", + "params": { + "emptyAsNull": true + }, + "scale": "ratio", + "sourceField": "___records___" + } + }, + "incompleteColumns": {}, + "sampling": 1 + } + } + }, + "indexpattern": { + "layers": {} + }, + "textBased": { + "layers": {} + } + }, + "filters": [ + { + "$state": { + "store": "appState" + }, + "meta": { + "alias": null, + "disabled": false, + "field": "gigamon.ami.dns_query", + "index": "82a0bf64-7149-422f-989a-ffbfaf939c8f", + "key": "gigamon.ami.dns_query", + "negate": false, + "type": "exists", + "value": "exists" + }, + "query": { + "exists": { + "field": "gigamon.ami.dns_query" + } + } + } + ], + "internalReferences": [], + "query": { + "language": "kuery", + "query": "data_stream.dataset : \"gigamon.ami\" " + }, + "visualization": { + "layers": [ + { + "categoryDisplay": "default", + "colorMapping": { + "assignments": [], + "colorMode": { + "type": "categorical" + }, + "paletteId": "eui_amsterdam_color_blind", + "specialAssignments": [ + { + "color": { + "type": "loop" + }, + "rule": { + "type": "other" + }, + "touched": false + } + ] + }, + "layerId": "3d66f06d-227d-4b54-a0d8-9a892b2d8163", + "layerType": "data", + "legendDisplay": "default", + "metrics": [ + "d67e6f48-7985-4bb2-a46c-87e1af538e26" + ], + "nestedLegend": false, + "numberDisplay": "percent", + "primaryGroups": [ + "942cb853-c6ee-43ad-aa16-2f1f29682db3" + ] + } + ], + "shape": "donut" + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsPie" + }, + "enhancements": {} + }, + "gridData": { + "h": 15, + "i": "13499553-67bc-4664-8afc-09dac2c5ff7a", + "w": 24, + "x": 24, + "y": 30 + }, + "panelIndex": "13499553-67bc-4664-8afc-09dac2c5ff7a", + "title": "Top DNS Clients[Gigamon AMI]", + "type": "lens" + }, + { + "embeddableConfig": { + "attributes": { + "references": [ + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "indexpattern-datasource-layer-ab8e599f-a4ab-40ee-9c6e-55a3851d9943", + "type": "index-pattern" + } + ], + "state": { + "adHocDataViews": {}, + "datasourceStates": { + "formBased": { + "currentIndexPatternId": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "layers": { + "ab8e599f-a4ab-40ee-9c6e-55a3851d9943": { + "columnOrder": [ + "fc6cd8aa-e32f-4a01-9554-bd816cba04dc", + "ae7e9e83-c203-4c0c-b77b-8f6dbe61ede8" + ], + "columns": { + "ae7e9e83-c203-4c0c-b77b-8f6dbe61ede8": { + "dataType": "number", + "isBucketed": false, + "label": "Count of records", + "operationType": "count", + "params": { + "emptyAsNull": true + }, + "scale": "ratio", + "sourceField": "___records___" + }, + "fc6cd8aa-e32f-4a01-9554-bd816cba04dc": { + "dataType": "string", + "isBucketed": true, + "label": "Top 20 values of gigamon.ami.dns_query", + "operationType": "terms", + "params": { + "exclude": [], + "excludeIsRegex": false, + "include": [], + "includeIsRegex": false, + "missingBucket": false, + "orderBy": { + "columnId": "ae7e9e83-c203-4c0c-b77b-8f6dbe61ede8", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": false, + "parentFormat": { + "id": "terms" + }, + "size": 20 + }, + "scale": "ordinal", + "sourceField": "gigamon.ami.dns_query" + } + }, + "incompleteColumns": {}, + "indexPatternId": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "sampling": 1 + } + } + }, + "indexpattern": { + "layers": {} + }, + "textBased": { + "layers": {} + } + }, + "filters": [], + "internalReferences": [], + "query": { + "language": "kuery", + "query": "data_stream.dataset : \"gigamon.ami\" " + }, + "visualization": { + "layers": [ + { + "categoryDisplay": "default", + "colorMapping": { + "assignments": [], + "colorMode": { + "sort": "desc", + "steps": [ + { + "colorIndex": 5, + "paletteId": "eui_amsterdam_color_blind", + "touched": false, + "type": "categorical" + }, + { + "colorIndex": 3, + "paletteId": "eui_amsterdam_color_blind", + "touched": true, + "type": "categorical" + }, + { + "colorIndex": 4, + "paletteId": "eui_amsterdam_color_blind", + "touched": false, + "type": "categorical" + } + ], + "type": "gradient" + }, + "paletteId": "eui_amsterdam_color_blind", + "specialAssignments": [ + { + "color": { + "type": "loop" + }, + "rule": { + "type": "other" + }, + "touched": false + } + ] + }, + "layerId": "ab8e599f-a4ab-40ee-9c6e-55a3851d9943", + "layerType": "data", + "legendDisplay": "default", + "metrics": [ + "ae7e9e83-c203-4c0c-b77b-8f6dbe61ede8" + ], + "nestedLegend": false, + "numberDisplay": "percent", + "primaryGroups": [ + "fc6cd8aa-e32f-4a01-9554-bd816cba04dc" + ] + } + ], + "shape": "pie" + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsPie" + }, + "enhancements": {} + }, + "gridData": { + "h": 15, + "i": "9ec9a432-43ba-4cd6-bfb5-85ad1b150839", + "w": 24, + "x": 0, + "y": 51 + }, + "panelIndex": "9ec9a432-43ba-4cd6-bfb5-85ad1b150839", + "title": "Top 20 DNS Lookups[Gigamon AMI]", + "type": "lens" + }, + { + "embeddableConfig": { + "attributes": { + "references": [ + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "indexpattern-datasource-layer-721b569c-a91b-4f80-93cd-e3249af588b1", + "type": "index-pattern" + } + ], + "state": { + "adHocDataViews": {}, + "datasourceStates": { + "formBased": { + "layers": { + "721b569c-a91b-4f80-93cd-e3249af588b1": { + "columnOrder": [ + "a9f0f635-a19e-4461-b093-5d305be6d91f", + "9e637159-00e0-400d-8ccf-c846efeaf76e", + "a4f7d6e2-b711-4748-bb52-02be676203d0", + "1a9fbe24-b7e5-4155-bc77-3cd66c0c4d47" + ], + "columns": { + "1a9fbe24-b7e5-4155-bc77-3cd66c0c4d47": { + "dataType": "number", + "isBucketed": false, + "label": "Count of records", + "operationType": "count", + "params": { + "emptyAsNull": true + }, + "scale": "ratio", + "sourceField": "___records___" + }, + "9e637159-00e0-400d-8ccf-c846efeaf76e": { + "customLabel": true, + "dataType": "ip", + "isBucketed": true, + "label": "Dst ip", + "operationType": "terms", + "params": { + "exclude": [], + "excludeIsRegex": false, + "include": [], + "includeIsRegex": false, + "missingBucket": false, + "orderBy": { + "columnId": "1a9fbe24-b7e5-4155-bc77-3cd66c0c4d47", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": false, + "parentFormat": { + "id": "terms" + }, + "size": 15 + }, + "scale": "ordinal", + "sourceField": "gigamon.ami.dst_ip" + }, + "a4f7d6e2-b711-4748-bb52-02be676203d0": { + "customLabel": true, + "dataType": "string", + "isBucketed": true, + "label": "Query type value", + "operationType": "terms", + "params": { + "exclude": [], + "excludeIsRegex": false, + "include": [], + "includeIsRegex": false, + "missingBucket": false, + "orderBy": { + "columnId": "1a9fbe24-b7e5-4155-bc77-3cd66c0c4d47", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": false, + "parentFormat": { + "id": "terms" + }, + "size": 15 + }, + "scale": "ordinal", + "sourceField": "gigamon.ami.dns_query_type_value" + }, + "a9f0f635-a19e-4461-b093-5d305be6d91f": { + "customLabel": true, + "dataType": "ip", + "isBucketed": true, + "label": "Src ip", + "operationType": "terms", + "params": { + "exclude": [], + "excludeIsRegex": false, + "include": [], + "includeIsRegex": false, + "missingBucket": false, + "orderBy": { + "columnId": "1a9fbe24-b7e5-4155-bc77-3cd66c0c4d47", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": false, + "parentFormat": { + "id": "terms" + }, + "size": 15 + }, + "scale": "ordinal", + "sourceField": "gigamon.ami.src_ip" + } + }, + "ignoreGlobalFilters": false, + "incompleteColumns": {}, + "sampling": 1 + } + } + }, + "indexpattern": { + "layers": {} + }, + "textBased": { + "layers": {} + } + }, + "filters": [], + "internalReferences": [], + "query": { + "language": "kuery", + "query": "data_stream.dataset : \"gigamon.ami\" " + }, + "visualization": { + "columns": [ + { + "columnId": "a9f0f635-a19e-4461-b093-5d305be6d91f", + "isMetric": false, + "isTransposed": false + }, + { + "columnId": "9e637159-00e0-400d-8ccf-c846efeaf76e", + "isMetric": false, + "isTransposed": false + }, + { + "columnId": "a4f7d6e2-b711-4748-bb52-02be676203d0", + "isMetric": false, + "isTransposed": false + }, + { + "columnId": "1a9fbe24-b7e5-4155-bc77-3cd66c0c4d47", + "isMetric": true, + "isTransposed": false + } + ], + "layerId": "721b569c-a91b-4f80-93cd-e3249af588b1", + "layerType": "data" + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsDatatable" + }, + "enhancements": {} + }, + "gridData": { + "h": 15, + "i": "4b139b4f-b643-4953-865a-faec3dd2fea2", + "w": 24, + "x": 24, + "y": 45 + }, + "panelIndex": "4b139b4f-b643-4953-865a-faec3dd2fea2", + "title": "DNS Query type[Gigamon AMI]", + "type": "lens" + }, + { + "embeddableConfig": { + "attributes": { + "references": [ + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "indexpattern-datasource-layer-df034b2d-ce2a-4ece-a173-bf8b998f4aaf", + "type": "index-pattern" + } + ], + "state": { + "adHocDataViews": {}, + "datasourceStates": { + "formBased": { + "layers": { + "df034b2d-ce2a-4ece-a173-bf8b998f4aaf": { + "columnOrder": [ + "c4b650de-63a3-4de7-9911-84d8be7df467", + "eeca0cbf-3fe4-47af-97ad-0c46dc0019bd", + "02f8526b-3705-4c0a-b796-28afeae062b7", + "4efe9389-66a0-4e67-a706-ef5ca81fda2c", + "6e5c57e0-2a6e-4cff-85db-2997f4c3c80d", + "94e83583-4492-4535-9b0f-4beb6e81b6a7", + "3e8b0dbb-ac77-43f8-b087-be4e48425c35" + ], + "columns": { + "02f8526b-3705-4c0a-b796-28afeae062b7": { + "customLabel": true, + "dataType": "ip", + "isBucketed": true, + "label": "DNS Client", + "operationType": "terms", + "params": { + "exclude": [], + "excludeIsRegex": false, + "include": [], + "includeIsRegex": false, + "missingBucket": false, + "orderBy": { + "columnId": "3e8b0dbb-ac77-43f8-b087-be4e48425c35", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": false, + "parentFormat": { + "id": "terms" + }, + "size": 15 + }, + "scale": "ordinal", + "sourceField": "gigamon.ami.src_ip" + }, + "3e8b0dbb-ac77-43f8-b087-be4e48425c35": { + "dataType": "number", + "isBucketed": false, + "label": "Count of records", + "operationType": "count", + "params": { + "emptyAsNull": true + }, + "scale": "ratio", + "sourceField": "___records___" + }, + "4efe9389-66a0-4e67-a706-ef5ca81fda2c": { + "customLabel": true, + "dataType": "ip", + "isBucketed": true, + "label": "DNS Server", + "operationType": "terms", + "params": { + "exclude": [], + "excludeIsRegex": false, + "include": [], + "includeIsRegex": false, + "missingBucket": false, + "orderBy": { + "columnId": "3e8b0dbb-ac77-43f8-b087-be4e48425c35", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": false, + "parentFormat": { + "id": "terms" + }, + "size": 15 + }, + "scale": "ordinal", + "sourceField": "gigamon.ami.dst_ip" + }, + "6e5c57e0-2a6e-4cff-85db-2997f4c3c80d": { + "customLabel": true, + "dataType": "number", + "isBucketed": true, + "label": "DNS ttl", + "operationType": "terms", + "params": { + "exclude": [], + "excludeIsRegex": false, + "include": [], + "includeIsRegex": false, + "missingBucket": false, + "orderBy": { + "columnId": "3e8b0dbb-ac77-43f8-b087-be4e48425c35", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": false, + "parentFormat": { + "id": "terms" + }, + "size": 15 + }, + "scale": "ordinal", + "sourceField": "gigamon.ami.dns_ttl" + }, + "94e83583-4492-4535-9b0f-4beb6e81b6a7": { + "customLabel": true, + "dataType": "number", + "isBucketed": true, + "label": "DNS Response time", + "operationType": "terms", + "params": { + "exclude": [], + "excludeIsRegex": false, + "include": [], + "includeIsRegex": false, + "missingBucket": false, + "orderBy": { + "columnId": "3e8b0dbb-ac77-43f8-b087-be4e48425c35", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": false, + "parentFormat": { + "id": "terms" + }, + "size": 15 + }, + "scale": "ordinal", + "sourceField": "gigamon.ami.dns_response_time" + }, + "c4b650de-63a3-4de7-9911-84d8be7df467": { + "customLabel": true, + "dataType": "string", + "isBucketed": true, + "label": "DNS Query", + "operationType": "terms", + "params": { + "exclude": [], + "excludeIsRegex": false, + "include": [], + "includeIsRegex": false, + "missingBucket": false, + "orderBy": { + "columnId": "3e8b0dbb-ac77-43f8-b087-be4e48425c35", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": false, + "parentFormat": { + "id": "terms" + }, + "size": 15 + }, + "scale": "ordinal", + "sourceField": "gigamon.ami.dns_query" + }, + "eeca0cbf-3fe4-47af-97ad-0c46dc0019bd": { + "customLabel": true, + "dataType": "string", + "isBucketed": true, + "label": "DNS Host Address", + "operationType": "terms", + "params": { + "exclude": [], + "excludeIsRegex": false, + "include": [], + "includeIsRegex": false, + "missingBucket": false, + "orderBy": { + "columnId": "3e8b0dbb-ac77-43f8-b087-be4e48425c35", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": false, + "parentFormat": { + "id": "terms" + }, + "size": 15 + }, + "scale": "ordinal", + "sourceField": "gigamon.ami.dns_host_addr" + } + }, + "incompleteColumns": {}, + "sampling": 1 + } + } + }, + "indexpattern": { + "layers": {} + }, + "textBased": { + "layers": {} + } + }, + "filters": [], + "internalReferences": [], + "query": { + "language": "kuery", + "query": "data_stream.dataset : \"gigamon.ami\" " + }, + "visualization": { + "columns": [ + { + "columnId": "c4b650de-63a3-4de7-9911-84d8be7df467", + "isTransposed": false + }, + { + "columnId": "eeca0cbf-3fe4-47af-97ad-0c46dc0019bd", + "isTransposed": false + }, + { + "columnId": "02f8526b-3705-4c0a-b796-28afeae062b7", + "isTransposed": false + }, + { + "columnId": "4efe9389-66a0-4e67-a706-ef5ca81fda2c", + "isTransposed": false + }, + { + "columnId": "3e8b0dbb-ac77-43f8-b087-be4e48425c35", + "hidden": true, + "isTransposed": false + }, + { + "columnId": "6e5c57e0-2a6e-4cff-85db-2997f4c3c80d", + "isMetric": false, + "isTransposed": false + }, + { + "columnId": "94e83583-4492-4535-9b0f-4beb6e81b6a7", + "isMetric": false, + "isTransposed": false + } + ], + "layerId": "df034b2d-ce2a-4ece-a173-bf8b998f4aaf", + "layerType": "data" + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsDatatable" + }, + "enhancements": {} + }, + "gridData": { + "h": 15, + "i": "d4d86252-0126-4f94-a270-281277c80c7e", + "w": 24, + "x": 0, + "y": 66 + }, + "panelIndex": "d4d86252-0126-4f94-a270-281277c80c7e", + "title": "DNS Query and Name Resolution Info[Gigamon AMI]", + "type": "lens" + }, + { + "embeddableConfig": { + "attributes": { + "references": [ + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "indexpattern-datasource-layer-fde7f29c-0218-4d7a-9717-9e49997f51c2", + "type": "index-pattern" + } + ], + "state": { + "adHocDataViews": {}, + "datasourceStates": { + "formBased": { + "currentIndexPatternId": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "layers": { + "fde7f29c-0218-4d7a-9717-9e49997f51c2": { + "columnOrder": [ + "3eccac2d-5992-4a84-838c-643774797be0", + "6531768c-1c50-4e9e-a028-b455265f610e", + "ace39ea3-9667-4818-be43-dfd0b6969e20", + "ba2faf3d-9d2e-403f-8052-9cad4e664083" + ], + "columns": { + "3eccac2d-5992-4a84-838c-643774797be0": { + "customLabel": true, + "dataType": "ip", + "isBucketed": true, + "label": "Src ip", + "operationType": "terms", + "params": { + "exclude": [], + "excludeIsRegex": false, + "include": [], + "includeIsRegex": false, + "missingBucket": false, + "orderBy": { + "columnId": "ba2faf3d-9d2e-403f-8052-9cad4e664083", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": false, + "parentFormat": { + "id": "terms" + }, + "size": 15 + }, + "scale": "ordinal", + "sourceField": "gigamon.ami.src_ip" + }, + "6531768c-1c50-4e9e-a028-b455265f610e": { + "customLabel": true, + "dataType": "ip", + "isBucketed": true, + "label": "Dst ip", + "operationType": "terms", + "params": { + "exclude": [], + "excludeIsRegex": false, + "include": [], + "includeIsRegex": false, + "missingBucket": false, + "orderBy": { + "columnId": "ba2faf3d-9d2e-403f-8052-9cad4e664083", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": false, + "parentFormat": { + "id": "terms" + }, + "size": 15 + }, + "scale": "ordinal", + "sourceField": "gigamon.ami.dst_ip" + }, + "ace39ea3-9667-4818-be43-dfd0b6969e20": { + "customLabel": true, + "dataType": "string", + "isBucketed": true, + "label": "Reply code", + "operationType": "terms", + "params": { + "exclude": [], + "excludeIsRegex": false, + "include": [], + "includeIsRegex": false, + "missingBucket": false, + "orderBy": { + "columnId": "ba2faf3d-9d2e-403f-8052-9cad4e664083", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": false, + "parentFormat": { + "id": "terms" + }, + "size": 15 + }, + "scale": "ordinal", + "sourceField": "gigamon.ami.dns_reply_code_value" + }, + "ba2faf3d-9d2e-403f-8052-9cad4e664083": { + "dataType": "number", + "isBucketed": false, + "label": "Count of records", + "operationType": "count", + "params": { + "emptyAsNull": true + }, + "scale": "ratio", + "sourceField": "___records___" + } + }, + "incompleteColumns": {}, + "indexPatternId": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "sampling": 1 + } + } + }, + "indexpattern": { + "layers": {} + }, + "textBased": { + "layers": {} + } + }, + "filters": [], + "internalReferences": [], + "query": { + "language": "kuery", + "query": "data_stream.dataset : \"gigamon.ami\" " + }, + "visualization": { + "columns": [ + { + "columnId": "3eccac2d-5992-4a84-838c-643774797be0", + "isTransposed": false + }, + { + "columnId": "6531768c-1c50-4e9e-a028-b455265f610e", + "isTransposed": false + }, + { + "columnId": "ace39ea3-9667-4818-be43-dfd0b6969e20", + "isTransposed": false + }, + { + "columnId": "ba2faf3d-9d2e-403f-8052-9cad4e664083", + "hidden": true, + "isTransposed": false + } + ], + "layerId": "fde7f29c-0218-4d7a-9717-9e49997f51c2", + "layerType": "data" + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsDatatable" + }, + "enhancements": {} + }, + "gridData": { + "h": 15, + "i": "d04b750f-714b-4ade-b946-3f3f5a230bce", + "w": 24, + "x": 24, + "y": 60 + }, + "panelIndex": "d04b750f-714b-4ade-b946-3f3f5a230bce", + "title": "DNS Reply type[Gigamon AMI]", + "type": "lens" + } + ], + "timeRestore": false, + "title": "[Logs Gigamon] DNS Information", + "version": 1 + }, + "coreMigrationVersion": "8.8.0", + "created_at": "2024-08-21T10:09:57.477Z", + "id": "gigamon-e192a946-8287-450a-a8f0-e23de9f95dae", + "managed": false, + "references": [ + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "2b540711-4ead-413a-8b4a-9c1aee1f432a:indexpattern-datasource-layer-c40b1d67-8d61-453a-a436-aa99ea61cc06", + "type": "index-pattern" + }, + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "aea6907c-059a-4596-b3c6-9d2582bc2fbf:indexpattern-datasource-layer-41d11af3-009b-45ce-b2b4-70cdc656b927", + "type": "index-pattern" + }, + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "0121fd10-c2b4-472a-bcd8-148d3e9589e2:indexpattern-datasource-layer-58ebbf18-0dda-49c2-ae26-1a96bb76a444", + "type": "index-pattern" + }, + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "0121fd10-c2b4-472a-bcd8-148d3e9589e2:466e4764-4008-4351-ba5e-74939f3168ae", + "type": "index-pattern" + }, + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "b97357d2-ccbf-4968-a18c-b5417b1d2823:indexpattern-datasource-layer-4f46c7d1-cd26-40ef-bea2-a17023767382", + "type": "index-pattern" + }, + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "b97357d2-ccbf-4968-a18c-b5417b1d2823:abf73eef-11dd-4f79-8e5d-ab518aa8bbc7", + "type": "index-pattern" + }, + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "13499553-67bc-4664-8afc-09dac2c5ff7a:indexpattern-datasource-layer-3d66f06d-227d-4b54-a0d8-9a892b2d8163", + "type": "index-pattern" + }, + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "13499553-67bc-4664-8afc-09dac2c5ff7a:82a0bf64-7149-422f-989a-ffbfaf939c8f", + "type": "index-pattern" + }, + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "9ec9a432-43ba-4cd6-bfb5-85ad1b150839:indexpattern-datasource-layer-ab8e599f-a4ab-40ee-9c6e-55a3851d9943", + "type": "index-pattern" + }, + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "4b139b4f-b643-4953-865a-faec3dd2fea2:indexpattern-datasource-layer-721b569c-a91b-4f80-93cd-e3249af588b1", + "type": "index-pattern" + }, + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "d4d86252-0126-4f94-a270-281277c80c7e:indexpattern-datasource-layer-df034b2d-ce2a-4ece-a173-bf8b998f4aaf", + "type": "index-pattern" + }, + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "d04b750f-714b-4ade-b946-3f3f5a230bce:indexpattern-datasource-layer-fde7f29c-0218-4d7a-9717-9e49997f51c2", + "type": "index-pattern" + } + ], + "type": "dashboard", + "typeMigrationVersion": "8.9.0" +} \ No newline at end of file diff --git a/packages/gigamon/kibana/dashboard/gigamon-e733c64e-6ea9-4dd6-a8ca-3914274598f3.json b/packages/gigamon/kibana/dashboard/gigamon-e733c64e-6ea9-4dd6-a8ca-3914274598f3.json new file mode 100644 index 00000000000..5ddbe0bd66b --- /dev/null +++ b/packages/gigamon/kibana/dashboard/gigamon-e733c64e-6ea9-4dd6-a8ca-3914274598f3.json @@ -0,0 +1,1342 @@ +{ + "attributes": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": { + "filter": [], + "query": { + "language": "kuery", + "query": "" + } + } + }, + "optionsJSON": { + "hidePanelTitles": false, + "syncColors": false, + "syncCursor": true, + "syncTooltips": false, + "useMargins": true + }, + "panelsJSON": [ + { + "embeddableConfig": { + "description": "", + "enhancements": {}, + "hidePanelTitles": true, + "savedVis": { + "data": { + "aggs": [], + "searchSource": { + "filter": [], + "query": { + "language": "kuery", + "query": "" + } + } + }, + "description": "", + "id": "", + "params": { + "fontSize": 12, + "markdown": "**AMI Starter Pack**\n\n- [App Insights](#/dashboard/gigamon-855a64dc-1a72-403f-932b-a5b848378f7e)\n- Trouble shooting\n - [**Troubleshooting Insights for Network traffic**](#/dashboard/gigamon-e733c64e-6ea9-4dd6-a8ca-3914274598f3)\n - [Top Traffic Sources and Destinations](#/dashboard/gigamon-d6cecabb-f026-4823-914d-b4d61fd61787)\n- [Security Posture](#/dashboard/gigamon-4ae2cd9a-3eef-42c6-a02c-731ce74d94ac)\n- Identifier Analysis\n - [Homoglyph Detection](#/dashboard/gigamon-64ca15b3-8327-4940-8b35-0e75ab3a73c6)\n - [URL Analysis](#/dashboard/gigamon-8f772203-64e0-4d1b-bb0e-14fa57b4b754)\n- M21-31\n - [Web Traffic Details](#/dashboard/gigamon-d866be49-47b2-4306-a2be-d5cb6b6ab9c8)\n - [DNS Information](#/dashboard/gigamon-e192a946-8287-450a-a8f0-e23de9f95dae)\n- Rogue Activity\n - [Unsanctioned Peer to Peer Apps](#/dashboard/gigamon-3523b534-7525-44a7-808f-6a9f3235a67d)\n- [PCI Compliance](#/dashboard/gigamon-032aab7b-87b2-444c-8c86-956d092598fb)\n- Suspicious Activities\n - [Suspicious Connections](#/dashboard/gigamon-62291e9e-8b75-4f23-9121-79959da99b3b)\n - [Unmanaged Endpoints](#/dashboard/gigamon-46931a21-a33e-43af-aadf-da8d6446b9cc)", + "openLinksInNewTab": false + }, + "title": "", + "type": "markdown", + "uiState": {} + } + }, + "gridData": { + "h": 21, + "i": "48bee0e5-2c0b-402f-aad2-d109482c8f2b", + "w": 24, + "x": 0, + "y": 0 + }, + "panelIndex": "48bee0e5-2c0b-402f-aad2-d109482c8f2b", + "title": "", + "type": "visualization" + }, + { + "embeddableConfig": { + "attributes": { + "references": [ + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "indexpattern-datasource-layer-5ccdb314-f7d5-4e07-9da8-deec1f9e87bf", + "type": "index-pattern" + } + ], + "state": { + "adHocDataViews": {}, + "datasourceStates": { + "formBased": { + "layers": { + "5ccdb314-f7d5-4e07-9da8-deec1f9e87bf": { + "columnOrder": [ + "70a483ba-bcfe-48a0-aa40-4131f1dec8e5", + "625ddbd7-3cdd-439b-8e5b-db9ee6fac426", + "e32792b6-ba88-4a3c-b79b-29aca09b1d6c", + "db087f3b-b8da-4938-b07c-a47d953d2bae", + "27e19327-2ca3-4498-b0cf-6cea45866c75" + ], + "columns": { + "27e19327-2ca3-4498-b0cf-6cea45866c75": { + "dataType": "number", + "isBucketed": false, + "label": "Count of records", + "operationType": "count", + "params": { + "emptyAsNull": true + }, + "scale": "ratio", + "sourceField": "___records___" + }, + "625ddbd7-3cdd-439b-8e5b-db9ee6fac426": { + "customLabel": true, + "dataType": "ip", + "isBucketed": true, + "label": "Server", + "operationType": "terms", + "params": { + "exclude": [], + "excludeIsRegex": false, + "include": [], + "includeIsRegex": false, + "missingBucket": false, + "orderBy": { + "columnId": "27e19327-2ca3-4498-b0cf-6cea45866c75", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": false, + "parentFormat": { + "id": "terms" + }, + "size": 25 + }, + "scale": "ordinal", + "sourceField": "gigamon.ami.dst_ip" + }, + "70a483ba-bcfe-48a0-aa40-4131f1dec8e5": { + "customLabel": true, + "dataType": "ip", + "isBucketed": true, + "label": "Client", + "operationType": "terms", + "params": { + "exclude": [], + "excludeIsRegex": false, + "include": [], + "includeIsRegex": false, + "missingBucket": false, + "orderBy": { + "columnId": "27e19327-2ca3-4498-b0cf-6cea45866c75", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": true, + "parentFormat": { + "id": "terms" + }, + "size": 25 + }, + "scale": "ordinal", + "sourceField": "gigamon.ami.src_ip" + }, + "db087f3b-b8da-4938-b07c-a47d953d2bae": { + "customLabel": true, + "dataType": "string", + "isBucketed": true, + "label": "Server Latency", + "operationType": "terms", + "params": { + "exclude": [], + "excludeIsRegex": false, + "include": [], + "includeIsRegex": false, + "missingBucket": false, + "orderBy": { + "columnId": "27e19327-2ca3-4498-b0cf-6cea45866c75", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": false, + "parentFormat": { + "id": "terms" + }, + "size": 25 + }, + "scale": "ordinal", + "sourceField": "gigamon.ami.tcp_rtt_app" + }, + "e32792b6-ba88-4a3c-b79b-29aca09b1d6c": { + "customLabel": true, + "dataType": "string", + "isBucketed": true, + "label": "Application", + "operationType": "terms", + "params": { + "exclude": [], + "excludeIsRegex": false, + "include": [], + "includeIsRegex": false, + "missingBucket": false, + "orderBy": { + "columnId": "27e19327-2ca3-4498-b0cf-6cea45866c75", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": false, + "parentFormat": { + "id": "terms" + }, + "size": 25 + }, + "scale": "ordinal", + "sourceField": "gigamon.ami.app_name" + } + }, + "incompleteColumns": {}, + "sampling": 1 + } + } + }, + "indexpattern": { + "layers": {} + }, + "textBased": { + "layers": {} + } + }, + "filters": [], + "internalReferences": [], + "query": { + "language": "kuery", + "query": "" + }, + "visualization": { + "columns": [ + { + "columnId": "70a483ba-bcfe-48a0-aa40-4131f1dec8e5", + "isTransposed": false + }, + { + "columnId": "625ddbd7-3cdd-439b-8e5b-db9ee6fac426", + "isTransposed": false + }, + { + "columnId": "e32792b6-ba88-4a3c-b79b-29aca09b1d6c", + "isTransposed": false + }, + { + "columnId": "db087f3b-b8da-4938-b07c-a47d953d2bae", + "isTransposed": false + }, + { + "columnId": "27e19327-2ca3-4498-b0cf-6cea45866c75", + "hidden": true, + "isTransposed": false + } + ], + "layerId": "5ccdb314-f7d5-4e07-9da8-deec1f9e87bf", + "layerType": "data" + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsDatatable" + }, + "description": "Application response time of the server", + "enhancements": {} + }, + "gridData": { + "h": 15, + "i": "c3ac490a-3407-4c20-81ee-5e7b72cd7644", + "w": 24, + "x": 24, + "y": 0 + }, + "panelIndex": "c3ac490a-3407-4c20-81ee-5e7b72cd7644", + "title": "Server Latency[Gigamon AMI]", + "type": "lens" + }, + { + "embeddableConfig": { + "attributes": { + "references": [ + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "indexpattern-datasource-layer-40542048-bf27-455d-8ace-4cfeec0547cf", + "type": "index-pattern" + } + ], + "state": { + "adHocDataViews": {}, + "datasourceStates": { + "formBased": { + "layers": { + "40542048-bf27-455d-8ace-4cfeec0547cf": { + "columnOrder": [ + "5f34c17c-7b3b-4256-93b7-ddf5e41d7df4", + "f2f6b6f3-0c7c-41bb-9be5-531537209c28", + "db6e80c9-0060-41d7-a63e-a2ed17ae2e8f", + "e3f2c762-3b9e-488c-83fa-d9e2bdd9e7d3" + ], + "columns": { + "5f34c17c-7b3b-4256-93b7-ddf5e41d7df4": { + "customLabel": true, + "dataType": "ip", + "isBucketed": true, + "label": "Source IP", + "operationType": "terms", + "params": { + "exclude": [], + "excludeIsRegex": false, + "include": [], + "includeIsRegex": false, + "missingBucket": false, + "orderBy": { + "columnId": "e3f2c762-3b9e-488c-83fa-d9e2bdd9e7d3", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": false, + "parentFormat": { + "id": "terms" + }, + "size": 25 + }, + "scale": "ordinal", + "sourceField": "gigamon.ami.src_ip" + }, + "db6e80c9-0060-41d7-a63e-a2ed17ae2e8f": { + "customLabel": true, + "dataType": "string", + "isBucketed": true, + "label": "Tcp Flag Reset", + "operationType": "terms", + "params": { + "exclude": [], + "excludeIsRegex": false, + "include": [], + "includeIsRegex": false, + "missingBucket": false, + "orderBy": { + "columnId": "e3f2c762-3b9e-488c-83fa-d9e2bdd9e7d3", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": false, + "parentFormat": { + "id": "terms" + }, + "size": 25 + }, + "scale": "ordinal", + "sourceField": "gigamon.ami.tcp_flag_reset" + }, + "e3f2c762-3b9e-488c-83fa-d9e2bdd9e7d3": { + "dataType": "number", + "isBucketed": false, + "label": "Count of records", + "operationType": "count", + "params": { + "emptyAsNull": true + }, + "scale": "ratio", + "sourceField": "___records___" + }, + "f2f6b6f3-0c7c-41bb-9be5-531537209c28": { + "customLabel": true, + "dataType": "ip", + "isBucketed": true, + "label": "Destination IP", + "operationType": "terms", + "params": { + "exclude": [], + "excludeIsRegex": false, + "include": [], + "includeIsRegex": false, + "missingBucket": false, + "orderBy": { + "columnId": "e3f2c762-3b9e-488c-83fa-d9e2bdd9e7d3", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": false, + "parentFormat": { + "id": "terms" + }, + "size": 25 + }, + "scale": "ordinal", + "sourceField": "gigamon.ami.dst_ip" + } + }, + "incompleteColumns": {}, + "sampling": 1 + } + } + }, + "indexpattern": { + "layers": {} + }, + "textBased": { + "layers": {} + } + }, + "filters": [], + "internalReferences": [], + "query": { + "language": "kuery", + "query": "data_stream.dataset : \"gigamon.ami\" " + }, + "visualization": { + "columns": [ + { + "columnId": "5f34c17c-7b3b-4256-93b7-ddf5e41d7df4", + "isTransposed": false + }, + { + "columnId": "f2f6b6f3-0c7c-41bb-9be5-531537209c28", + "isTransposed": false + }, + { + "columnId": "db6e80c9-0060-41d7-a63e-a2ed17ae2e8f", + "isTransposed": false + }, + { + "columnId": "e3f2c762-3b9e-488c-83fa-d9e2bdd9e7d3", + "hidden": true, + "isTransposed": false + } + ], + "layerId": "40542048-bf27-455d-8ace-4cfeec0547cf", + "layerType": "data" + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsDatatable" + }, + "description": "Session info that are experiencing an abrupt end to a tcp connection, due to some error.", + "enhancements": {} + }, + "gridData": { + "h": 15, + "i": "b07089af-c0bf-453a-8f75-3da528c947f7", + "w": 24, + "x": 24, + "y": 15 + }, + "panelIndex": "b07089af-c0bf-453a-8f75-3da528c947f7", + "title": "TCP Resets (aborts)[Gigamon AMI]", + "type": "lens" + }, + { + "embeddableConfig": { + "attributes": { + "references": [ + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "indexpattern-datasource-layer-c3f5a560-d315-4963-9020-22bfb2a43957", + "type": "index-pattern" + } + ], + "state": { + "adHocDataViews": {}, + "datasourceStates": { + "formBased": { + "currentIndexPatternId": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "layers": { + "c3f5a560-d315-4963-9020-22bfb2a43957": { + "columnOrder": [ + "295e8196-b59f-4980-811a-9e7150e86527", + "b9e58b9f-9c15-409e-823c-630483c7bd51" + ], + "columns": { + "295e8196-b59f-4980-811a-9e7150e86527": { + "dataType": "ip", + "isBucketed": true, + "label": "Top 10 values of gigamon.ami.dst_ip", + "operationType": "terms", + "params": { + "exclude": [], + "excludeIsRegex": false, + "include": [], + "includeIsRegex": false, + "missingBucket": false, + "orderBy": { + "columnId": "b9e58b9f-9c15-409e-823c-630483c7bd51", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": false, + "parentFormat": { + "id": "terms" + }, + "size": 10 + }, + "scale": "ordinal", + "sourceField": "gigamon.ami.dst_ip" + }, + "b9e58b9f-9c15-409e-823c-630483c7bd51": { + "dataType": "number", + "isBucketed": false, + "label": "Count of records", + "operationType": "count", + "params": { + "emptyAsNull": true + }, + "scale": "ratio", + "sourceField": "___records___" + } + }, + "incompleteColumns": {}, + "indexPatternId": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "sampling": 1 + } + } + }, + "indexpattern": { + "layers": {} + }, + "textBased": { + "layers": {} + } + }, + "filters": [], + "internalReferences": [], + "query": { + "language": "kuery", + "query": "data_stream.dataset : \"gigamon.ami\" and gigamon.ami.tcp_rtt \u003e 2" + }, + "visualization": { + "axisTitlesVisibilitySettings": { + "x": true, + "yLeft": true, + "yRight": true + }, + "fittingFunction": "None", + "gridlinesVisibilitySettings": { + "x": true, + "yLeft": true, + "yRight": true + }, + "labelsOrientation": { + "x": 0, + "yLeft": 0, + "yRight": 0 + }, + "layers": [ + { + "accessors": [ + "b9e58b9f-9c15-409e-823c-630483c7bd51" + ], + "colorMapping": { + "assignments": [], + "colorMode": { + "type": "categorical" + }, + "paletteId": "eui_amsterdam_color_blind", + "specialAssignments": [ + { + "color": { + "type": "loop" + }, + "rule": { + "type": "other" + }, + "touched": false + } + ] + }, + "layerId": "c3f5a560-d315-4963-9020-22bfb2a43957", + "layerType": "data", + "seriesType": "bar_horizontal", + "xAccessor": "295e8196-b59f-4980-811a-9e7150e86527", + "yConfig": [ + { + "color": "#ef7e66", + "forAccessor": "b9e58b9f-9c15-409e-823c-630483c7bd51" + } + ] + } + ], + "legend": { + "isVisible": true, + "position": "right" + }, + "preferredSeriesType": "bar_horizontal", + "tickLabelsVisibilitySettings": { + "x": true, + "yLeft": true, + "yRight": true + }, + "valueLabels": "hide" + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsXY" + }, + "enhancements": {} + }, + "gridData": { + "h": 15, + "i": "20a5f52f-3dc0-48d5-8f60-1bbdf657b49e", + "w": 24, + "x": 0, + "y": 21 + }, + "panelIndex": "20a5f52f-3dc0-48d5-8f60-1bbdf657b49e", + "title": "Top 10 worst performing Servers[Gigamon AMI]", + "type": "lens" + }, + { + "embeddableConfig": { + "attributes": { + "references": [ + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "indexpattern-datasource-layer-4075f59d-f023-4b0d-945c-bf1a5dcee87f", + "type": "index-pattern" + } + ], + "state": { + "adHocDataViews": {}, + "datasourceStates": { + "formBased": { + "layers": { + "4075f59d-f023-4b0d-945c-bf1a5dcee87f": { + "columnOrder": [ + "14402eab-4b1c-471d-bff8-b9f84059535c", + "5f5e56b6-6e64-4705-8223-c8b8290e3155", + "1a3820b2-bb16-4f38-8757-c5b744efba72", + "5210a4e8-9425-44b9-8bcd-04ce3cb548d6" + ], + "columns": { + "14402eab-4b1c-471d-bff8-b9f84059535c": { + "customLabel": true, + "dataType": "ip", + "isBucketed": true, + "label": "Client", + "operationType": "terms", + "params": { + "exclude": [], + "excludeIsRegex": false, + "include": [], + "includeIsRegex": false, + "missingBucket": false, + "orderBy": { + "columnId": "5210a4e8-9425-44b9-8bcd-04ce3cb548d6", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": false, + "parentFormat": { + "id": "terms" + }, + "size": 10 + }, + "scale": "ordinal", + "sourceField": "gigamon.ami.src_ip" + }, + "1a3820b2-bb16-4f38-8757-c5b744efba72": { + "customLabel": true, + "dataType": "string", + "isBucketed": true, + "label": "Http Response Time", + "operationType": "terms", + "params": { + "exclude": [], + "excludeIsRegex": false, + "include": [], + "includeIsRegex": false, + "missingBucket": false, + "orderBy": { + "columnId": "5210a4e8-9425-44b9-8bcd-04ce3cb548d6", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": false, + "parentFormat": { + "id": "terms" + }, + "size": 10 + }, + "scale": "ordinal", + "sourceField": "gigamon.ami.http_response_ts" + }, + "5210a4e8-9425-44b9-8bcd-04ce3cb548d6": { + "dataType": "number", + "isBucketed": false, + "label": "Count of records", + "operationType": "count", + "params": { + "emptyAsNull": true + }, + "scale": "ratio", + "sourceField": "___records___" + }, + "5f5e56b6-6e64-4705-8223-c8b8290e3155": { + "customLabel": true, + "dataType": "ip", + "isBucketed": true, + "label": "Server", + "operationType": "terms", + "params": { + "exclude": [], + "excludeIsRegex": false, + "include": [], + "includeIsRegex": false, + "missingBucket": false, + "orderBy": { + "columnId": "5210a4e8-9425-44b9-8bcd-04ce3cb548d6", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": false, + "parentFormat": { + "id": "terms" + }, + "size": 10 + }, + "scale": "ordinal", + "sourceField": "gigamon.ami.dst_ip" + } + }, + "incompleteColumns": {}, + "sampling": 1 + } + } + }, + "indexpattern": { + "layers": {} + }, + "textBased": { + "layers": {} + } + }, + "filters": [], + "internalReferences": [], + "query": { + "language": "kuery", + "query": "data_stream.dataset : \"gigamon.ami\" " + }, + "visualization": { + "columns": [ + { + "columnId": "14402eab-4b1c-471d-bff8-b9f84059535c", + "isTransposed": false + }, + { + "columnId": "1a3820b2-bb16-4f38-8757-c5b744efba72", + "isMetric": false, + "isTransposed": false + }, + { + "columnId": "5f5e56b6-6e64-4705-8223-c8b8290e3155", + "isTransposed": false + }, + { + "columnId": "5210a4e8-9425-44b9-8bcd-04ce3cb548d6", + "hidden": true, + "isTransposed": false + } + ], + "layerId": "4075f59d-f023-4b0d-945c-bf1a5dcee87f", + "layerType": "data" + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsDatatable" + }, + "enhancements": {} + }, + "gridData": { + "h": 15, + "i": "730c317d-8817-466a-9219-fdab1bf7b810", + "w": 24, + "x": 24, + "y": 30 + }, + "panelIndex": "730c317d-8817-466a-9219-fdab1bf7b810", + "title": "Slow performing Applications [Gigamon AMI]", + "type": "lens" + }, + { + "embeddableConfig": { + "attributes": { + "references": [ + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "indexpattern-datasource-layer-c0c6f334-8d4e-4cb8-939d-df6c7a549561", + "type": "index-pattern" + } + ], + "state": { + "adHocDataViews": {}, + "datasourceStates": { + "formBased": { + "layers": { + "c0c6f334-8d4e-4cb8-939d-df6c7a549561": { + "columnOrder": [ + "0bd0279a-6bc5-4827-9428-1c1bfb16603a", + "04ea5c1a-cac9-45d7-9556-308a138da8be", + "1f72bf44-7a79-4471-9a32-312af7167537", + "5ecbc989-6b77-4e1f-ad0e-bf4d07b65714", + "044818b1-5ce8-4dc6-8e7a-2df1decaf94d" + ], + "columns": { + "044818b1-5ce8-4dc6-8e7a-2df1decaf94d": { + "dataType": "number", + "isBucketed": false, + "label": "Count of records", + "operationType": "count", + "params": { + "emptyAsNull": true + }, + "scale": "ratio", + "sourceField": "___records___" + }, + "04ea5c1a-cac9-45d7-9556-308a138da8be": { + "customLabel": true, + "dataType": "ip", + "isBucketed": true, + "label": "Server", + "operationType": "terms", + "params": { + "exclude": [], + "excludeIsRegex": false, + "include": [], + "includeIsRegex": false, + "missingBucket": false, + "orderBy": { + "columnId": "044818b1-5ce8-4dc6-8e7a-2df1decaf94d", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": false, + "parentFormat": { + "id": "terms" + }, + "size": 25 + }, + "scale": "ordinal", + "sourceField": "gigamon.ami.dst_ip" + }, + "0bd0279a-6bc5-4827-9428-1c1bfb16603a": { + "customLabel": true, + "dataType": "ip", + "isBucketed": true, + "label": "Client", + "operationType": "terms", + "params": { + "exclude": [], + "excludeIsRegex": false, + "include": [], + "includeIsRegex": false, + "missingBucket": false, + "orderBy": { + "columnId": "044818b1-5ce8-4dc6-8e7a-2df1decaf94d", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": false, + "parentFormat": { + "id": "terms" + }, + "size": 23 + }, + "scale": "ordinal", + "sourceField": "gigamon.ami.src_ip" + }, + "1f72bf44-7a79-4471-9a32-312af7167537": { + "customLabel": true, + "dataType": "string", + "isBucketed": true, + "label": "Applicatio", + "operationType": "terms", + "params": { + "exclude": [ + "Classification-unknown" + ], + "excludeIsRegex": false, + "include": [], + "includeIsRegex": false, + "missingBucket": false, + "orderBy": { + "columnId": "044818b1-5ce8-4dc6-8e7a-2df1decaf94d", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": false, + "parentFormat": { + "id": "terms" + }, + "size": 25 + }, + "scale": "ordinal", + "sourceField": "gigamon.ami.app_name" + }, + "5ecbc989-6b77-4e1f-ad0e-bf4d07b65714": { + "customLabel": true, + "dataType": "string", + "isBucketed": true, + "label": "tcp_rtt", + "operationType": "terms", + "params": { + "exclude": [], + "excludeIsRegex": false, + "include": [], + "includeIsRegex": false, + "missingBucket": false, + "orderBy": { + "columnId": "044818b1-5ce8-4dc6-8e7a-2df1decaf94d", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": false, + "parentFormat": { + "id": "terms" + }, + "size": 25 + }, + "scale": "ordinal", + "sourceField": "gigamon.ami.tcp_rtt" + } + }, + "incompleteColumns": {}, + "sampling": 1 + } + } + }, + "indexpattern": { + "layers": {} + }, + "textBased": { + "layers": {} + } + }, + "filters": [], + "internalReferences": [], + "query": { + "language": "kuery", + "query": "data_stream.dataset : \"gigamon.ami\" " + }, + "visualization": { + "columns": [ + { + "columnId": "0bd0279a-6bc5-4827-9428-1c1bfb16603a", + "isTransposed": false + }, + { + "columnId": "04ea5c1a-cac9-45d7-9556-308a138da8be", + "isTransposed": false + }, + { + "columnId": "1f72bf44-7a79-4471-9a32-312af7167537", + "isTransposed": false + }, + { + "columnId": "5ecbc989-6b77-4e1f-ad0e-bf4d07b65714", + "isTransposed": false + }, + { + "columnId": "044818b1-5ce8-4dc6-8e7a-2df1decaf94d", + "isTransposed": false + } + ], + "layerId": "c0c6f334-8d4e-4cb8-939d-df6c7a549561", + "layerType": "data" + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsDatatable" + }, + "description": "Sessions with respective TCP Rtt", + "enhancements": {} + }, + "gridData": { + "h": 15, + "i": "8fa462dc-65b1-446d-bd57-5868edf3354c", + "w": 24, + "x": 0, + "y": 36 + }, + "panelIndex": "8fa462dc-65b1-446d-bd57-5868edf3354c", + "title": "Network Latency[Gigamon AMI]", + "type": "lens" + }, + { + "embeddableConfig": { + "attributes": { + "references": [ + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "indexpattern-datasource-layer-0034057d-bfb0-459f-869b-385f354ed921", + "type": "index-pattern" + } + ], + "state": { + "adHocDataViews": {}, + "datasourceStates": { + "formBased": { + "layers": { + "0034057d-bfb0-459f-869b-385f354ed921": { + "columnOrder": [ + "81fa6a5f-54a7-4a5a-9cc7-4b4be037eff2", + "20342d3b-3f52-476a-8946-3cff1fd5e7c0", + "f65f13e8-5312-4556-bf19-334fa869d5ce", + "bc928793-04bf-4bac-a276-f8b278ef6634", + "2527cb20-7d62-4b73-afda-4ca29ad366f9" + ], + "columns": { + "20342d3b-3f52-476a-8946-3cff1fd5e7c0": { + "customLabel": true, + "dataType": "ip", + "isBucketed": true, + "label": "Destination ip", + "operationType": "terms", + "params": { + "exclude": [], + "excludeIsRegex": false, + "include": [], + "includeIsRegex": false, + "missingBucket": false, + "orderBy": { + "columnId": "2527cb20-7d62-4b73-afda-4ca29ad366f9", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": false, + "parentFormat": { + "id": "terms" + }, + "size": 15 + }, + "scale": "ordinal", + "sourceField": "gigamon.ami.dst_ip" + }, + "2527cb20-7d62-4b73-afda-4ca29ad366f9": { + "dataType": "number", + "isBucketed": false, + "label": "Count of records", + "operationType": "count", + "params": { + "emptyAsNull": true + }, + "scale": "ratio", + "sourceField": "___records___" + }, + "81fa6a5f-54a7-4a5a-9cc7-4b4be037eff2": { + "customLabel": true, + "dataType": "ip", + "isBucketed": true, + "label": "Source ip", + "operationType": "terms", + "params": { + "exclude": [], + "excludeIsRegex": false, + "include": [], + "includeIsRegex": false, + "missingBucket": false, + "orderBy": { + "columnId": "2527cb20-7d62-4b73-afda-4ca29ad366f9", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": false, + "parentFormat": { + "id": "terms" + }, + "size": 15 + }, + "scale": "ordinal", + "sourceField": "gigamon.ami.src_ip" + }, + "bc928793-04bf-4bac-a276-f8b278ef6634": { + "customLabel": true, + "dataType": "string", + "isBucketed": true, + "label": "Lost Bytes", + "operationType": "terms", + "params": { + "exclude": [], + "excludeIsRegex": false, + "include": [], + "includeIsRegex": false, + "missingBucket": false, + "orderBy": { + "columnId": "2527cb20-7d62-4b73-afda-4ca29ad366f9", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": false, + "parentFormat": { + "id": "terms" + }, + "size": 15 + }, + "scale": "ordinal", + "sourceField": "gigamon.ami.tcp_loss_count" + }, + "f65f13e8-5312-4556-bf19-334fa869d5ce": { + "customLabel": true, + "dataType": "string", + "isBucketed": true, + "label": "Application", + "operationType": "terms", + "params": { + "exclude": [], + "excludeIsRegex": false, + "include": [], + "includeIsRegex": false, + "missingBucket": false, + "orderBy": { + "columnId": "2527cb20-7d62-4b73-afda-4ca29ad366f9", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": false, + "parentFormat": { + "id": "terms" + }, + "size": 15 + }, + "scale": "ordinal", + "sourceField": "gigamon.ami.app_name" + } + }, + "incompleteColumns": {}, + "sampling": 1 + } + } + }, + "indexpattern": { + "layers": {} + }, + "textBased": { + "layers": {} + } + }, + "filters": [], + "internalReferences": [], + "query": { + "language": "kuery", + "query": "data_stream.dataset : \"gigamon.ami\" " + }, + "visualization": { + "columns": [ + { + "columnId": "81fa6a5f-54a7-4a5a-9cc7-4b4be037eff2", + "isTransposed": false + }, + { + "columnId": "f65f13e8-5312-4556-bf19-334fa869d5ce", + "isMetric": false, + "isTransposed": false + }, + { + "columnId": "20342d3b-3f52-476a-8946-3cff1fd5e7c0", + "isTransposed": false + }, + { + "columnId": "2527cb20-7d62-4b73-afda-4ca29ad366f9", + "isTransposed": false + }, + { + "columnId": "bc928793-04bf-4bac-a276-f8b278ef6634", + "isMetric": false, + "isTransposed": false + } + ], + "layerId": "0034057d-bfb0-459f-869b-385f354ed921", + "layerType": "data" + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsDatatable" + }, + "description": "Session info that is experiencing lost data bytes", + "enhancements": {} + }, + "gridData": { + "h": 15, + "i": "a6629af9-b16e-44d4-bd77-1dfb1edb8a75", + "w": 24, + "x": 24, + "y": 45 + }, + "panelIndex": "a6629af9-b16e-44d4-bd77-1dfb1edb8a75", + "title": "Lost Data[Gigamon AMI]", + "type": "lens" + }, + { + "embeddableConfig": { + "attributes": { + "references": [ + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "indexpattern-datasource-layer-3b42ba9f-0144-427f-8fc7-822db62260ef", + "type": "index-pattern" + } + ], + "state": { + "adHocDataViews": {}, + "datasourceStates": { + "formBased": { + "layers": { + "3b42ba9f-0144-427f-8fc7-822db62260ef": { + "columnOrder": [ + "2de123af-ddac-4104-8d2e-515803cb2899" + ], + "columns": { + "2de123af-ddac-4104-8d2e-515803cb2899": { + "dataType": "number", + "isBucketed": false, + "label": "Average of gigamon.ami.dns_response_time", + "operationType": "average", + "params": { + "emptyAsNull": true, + "format": { + "id": "number", + "params": { + "compact": false, + "decimals": 2 + } + } + }, + "scale": "ratio", + "sourceField": "gigamon.ami.dns_response_time" + } + }, + "incompleteColumns": {}, + "sampling": 1 + } + } + }, + "indexpattern": { + "layers": {} + }, + "textBased": { + "layers": {} + } + }, + "filters": [], + "internalReferences": [], + "query": { + "language": "kuery", + "query": "data_stream.dataset : \"gigamon.ami\" " + }, + "visualization": { + "colorMode": "palette", + "labelMajorMode": "auto", + "layerId": "3b42ba9f-0144-427f-8fc7-822db62260ef", + "layerType": "data", + "metricAccessor": "2de123af-ddac-4104-8d2e-515803cb2899", + "palette": { + "name": "temperature", + "params": { + "continuity": "above", + "maxSteps": 5, + "name": "temperature", + "progression": "fixed", + "rangeMax": null, + "rangeMin": 0, + "rangeType": "number", + "reverse": false, + "steps": 3, + "stops": [ + { + "color": "#6092C080", + "stop": 1.33 + }, + { + "color": "#EBEFF580", + "stop": 2.66 + }, + { + "color": "#E7664C80", + "stop": 4 + } + ] + }, + "type": "palette" + }, + "shape": "verticalBullet", + "ticksPosition": "bands" + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsGauge" + }, + "description": "Time it takes for sending a DNS query and getting a DNS response back", + "enhancements": {} + }, + "gridData": { + "h": 15, + "i": "735f65bf-40c1-4b14-bec9-a2d07ad726a7", + "w": 24, + "x": 0, + "y": 51 + }, + "panelIndex": "735f65bf-40c1-4b14-bec9-a2d07ad726a7", + "title": "Average DNS Response time on the network[Gigamon AMI]", + "type": "lens" + } + ], + "timeRestore": false, + "title": "[Logs Gigamon] Troubleshooting Insights for Network traffic", + "version": 1 + }, + "coreMigrationVersion": "8.8.0", + "created_at": "2024-08-21T10:03:21.142Z", + "id": "gigamon-e733c64e-6ea9-4dd6-a8ca-3914274598f3", + "managed": false, + "references": [ + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "c3ac490a-3407-4c20-81ee-5e7b72cd7644:indexpattern-datasource-layer-5ccdb314-f7d5-4e07-9da8-deec1f9e87bf", + "type": "index-pattern" + }, + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "b07089af-c0bf-453a-8f75-3da528c947f7:indexpattern-datasource-layer-40542048-bf27-455d-8ace-4cfeec0547cf", + "type": "index-pattern" + }, + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "20a5f52f-3dc0-48d5-8f60-1bbdf657b49e:indexpattern-datasource-layer-c3f5a560-d315-4963-9020-22bfb2a43957", + "type": "index-pattern" + }, + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "730c317d-8817-466a-9219-fdab1bf7b810:indexpattern-datasource-layer-4075f59d-f023-4b0d-945c-bf1a5dcee87f", + "type": "index-pattern" + }, + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "8fa462dc-65b1-446d-bd57-5868edf3354c:indexpattern-datasource-layer-c0c6f334-8d4e-4cb8-939d-df6c7a549561", + "type": "index-pattern" + }, + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "a6629af9-b16e-44d4-bd77-1dfb1edb8a75:indexpattern-datasource-layer-0034057d-bfb0-459f-869b-385f354ed921", + "type": "index-pattern" + }, + { + "id": "e3f451b1-4c23-4305-bcbf-0bc812d1ba07", + "name": "735f65bf-40c1-4b14-bec9-a2d07ad726a7:indexpattern-datasource-layer-3b42ba9f-0144-427f-8fc7-822db62260ef", + "type": "index-pattern" + } + ], + "type": "dashboard", + "typeMigrationVersion": "8.9.0" +} \ No newline at end of file diff --git a/packages/gigamon/manifest.yml b/packages/gigamon/manifest.yml new file mode 100644 index 00000000000..802c42ab8bb --- /dev/null +++ b/packages/gigamon/manifest.yml @@ -0,0 +1,68 @@ +format_version: 3.1.3 +name: gigamon +title: Gigamon +version: "0.1.0" +description: "This Gigamon package integrates with Filebeat to collect and ingest data from Gigamon devices" +type: integration +categories: + - custom + - security + - network +conditions: + kibana: + version: "^8.13.0" + elastic: + subscription: "basic" +screenshots: + - src: /img/App_Insights_Dashboard.png + title: Gigamon App Insight Dashboard Screenshot + size: 600x600 + type: image/png + - src: /img/Identifier_Analysis_Dashboard.png + title: Gigamon Identifier Analysis Dashboard Screenshot + size: 600x600 + type: image/png + - src: /img/M21-31_Dashboard.png + title: Gigamon M21-31 Dashboard Screenshot + size: 600x600 + type: image/png + - src: /img/PCI_Compliance_Dashboard.png + title: Gigamon PCI Compliance Dashboard Screenshot + size: 600x600 + type: image/png + - src: /img/Rogue_Activity_Dashboard.png + title: Gigamon Rogue Activity Dashboard Screenshot + size: 600x600 + type: image/png + - src: /img/Security_Posture_Dashboard.png + title: Gigamon Security Posture Dashboard Screenshot + size: 600x600 + type: image/png + - src: /img/Troubleshooting_Dashboard.png + title: Gigamon Troubleshooting Dashboard Screenshot + size: 600x600 + type: image/png + - src: /img/Suspicious_Activity_Dashboard.png + title: Gigamon Suspicious Activity Dashboard Screenshot + size: 600x600 +icons: + - src: /img/gigamon-logo.svg + title: Gigamon logo + size: 32x32 + type: image/svg+xml +policy_templates: + - name: gigamon + title: Gigamon AMI json + description: Collect json data from Gigamon AMI + inputs: + - type: http_endpoint + title: Collect json data from Gigamon AMI via HTTP Endpoint + description: Collect json data from Gigamon AMI via HTTP Endpoint + vars: + - name: listen_address + type: text + title: Listen Address + description: The bind address to listen for http endpoint connections. Set to '0.0.0.0' to bind to all available interfaces. +owner: + github: elastic/security-service-integrations + type: partner diff --git a/packages/gigamon/validation.yml b/packages/gigamon/validation.yml new file mode 100644 index 00000000000..20bae6630d4 --- /dev/null +++ b/packages/gigamon/validation.yml @@ -0,0 +1,4 @@ +errors: + exclude_checks: + - SVR00002 # Kibana version for saved tags. + - SVR00004 # References in dashboards. From 6cb9a1d4b0a61ab60370c32d74a36ccae895b604 Mon Sep 17 00:00:00 2001 From: Krishna Chaitanya Reddy Burri Date: Fri, 23 Aug 2024 18:46:57 +0530 Subject: [PATCH 14/33] ti_crowdstrike: Fix max() calculation on empty resources leading to error (#10861) Fix `max()` calculation on empty resources leading to error. Due to change made in [`mito`](https://github.com/elastic/mito/pull/65), the `max()`function now returns an error message `no extremum of empty list` when it is applied on empty `[]` list. This `mito` change is applied to `8.15.0` Stack. While this error message is extremely useful, the current CEL program in `ti_crowdstrike` doesn't check for empty list. This leads to an error while otherwise could have been a `null` value in Stack version `< 8.15.0`. --- packages/ti_crowdstrike/changelog.yml | 5 +++++ .../data_stream/intel/agent/stream/cel.yml.hbs | 2 +- .../ti_crowdstrike/data_stream/ioc/agent/stream/cel.yml.hbs | 2 +- packages/ti_crowdstrike/manifest.yml | 2 +- 4 files changed, 8 insertions(+), 3 deletions(-) diff --git a/packages/ti_crowdstrike/changelog.yml b/packages/ti_crowdstrike/changelog.yml index d20bfde9563..a95bf6b1b5c 100644 --- a/packages/ti_crowdstrike/changelog.yml +++ b/packages/ti_crowdstrike/changelog.yml @@ -1,4 +1,9 @@ # newer versions go on top +- version: "1.1.4" + changes: + - description: Fix max() calculation on empty resources leading to error. + type: bugfix + link: https://github.com/elastic/integrations/pull/10861 - version: "1.1.3" changes: - description: Fix ECS date mapping on threat fields. diff --git a/packages/ti_crowdstrike/data_stream/intel/agent/stream/cel.yml.hbs b/packages/ti_crowdstrike/data_stream/intel/agent/stream/cel.yml.hbs index 656bd5a5ea7..0ed27dfded0 100644 --- a/packages/ti_crowdstrike/data_stream/intel/agent/stream/cel.yml.hbs +++ b/packages/ti_crowdstrike/data_stream/intel/agent/stream/cel.yml.hbs @@ -57,7 +57,7 @@ program: | "initial_interval": state.initial_interval, "next_url": "Next-Page" in resp.Header ? resp.Header["Next-Page"] : "", "cursor": { - ?"last_timestamp": has(body.resources) ? + ?"last_timestamp": has(body.resources) && body.resources.size() > 0 ? optional.of(([?state.?cursor.last_timestamp] + body.resources.map(e, e.last_updated)).max()) : state.?cursor.last_timestamp, diff --git a/packages/ti_crowdstrike/data_stream/ioc/agent/stream/cel.yml.hbs b/packages/ti_crowdstrike/data_stream/ioc/agent/stream/cel.yml.hbs index f761f9ef206..aa5c4e5e822 100644 --- a/packages/ti_crowdstrike/data_stream/ioc/agent/stream/cel.yml.hbs +++ b/packages/ti_crowdstrike/data_stream/ioc/agent/stream/cel.yml.hbs @@ -66,7 +66,7 @@ program: | "batch_size": state.batch_size, "initial_interval": state.initial_interval, "cursor": { - ?"last_timestamp": has(body.resources) ? + ?"last_timestamp": has(body.resources) && body.resources.size() > 0 ? optional.of(([?state.?cursor.last_timestamp] + body.resources.map(e, e.modified_on)).map(t, timestamp(t)).max()) : state.?cursor.last_timestamp, diff --git a/packages/ti_crowdstrike/manifest.yml b/packages/ti_crowdstrike/manifest.yml index 9292febf9a9..45d92b8639f 100644 --- a/packages/ti_crowdstrike/manifest.yml +++ b/packages/ti_crowdstrike/manifest.yml @@ -1,7 +1,7 @@ format_version: 3.0.3 name: ti_crowdstrike title: CrowdStrike Falcon Intelligence -version: "1.1.3" +version: "1.1.4" description: Collect logs from CrowdStrike Falcon Intelligence with Elastic Agent. type: integration categories: From 23e7db9bf378a00e0b840e060666d24f9b6e9da0 Mon Sep 17 00:00:00 2001 From: Aleksandr Maus Date: Fri, 23 Aug 2024 11:22:31 -0400 Subject: [PATCH 15/33] [cisco_asa] Handle "Account has been locked out" reason parsing (#10864) --- packages/cisco_asa/changelog.yml | 5 ++ .../pipeline/test-additional-messages.log | 1 + ...test-additional-messages.log-expected.json | 84 +++++++++++++++++++ .../elasticsearch/ingest_pipeline/default.yml | 2 +- packages/cisco_asa/manifest.yml | 2 +- 5 files changed, 92 insertions(+), 2 deletions(-) diff --git a/packages/cisco_asa/changelog.yml b/packages/cisco_asa/changelog.yml index 7a492d8c954..19582f312b7 100644 --- a/packages/cisco_asa/changelog.yml +++ b/packages/cisco_asa/changelog.yml @@ -1,4 +1,9 @@ # newer versions go on top +- version: "2.36.4" + changes: + - description: Handle "Account has been locked out" reason parsing + type: bugfix + link: https://github.com/elastic/integrations/pull/666666 - version: "2.36.3" changes: - description: Parse empty user names in message IDs 113005, 716002, 713049 diff --git a/packages/cisco_asa/data_stream/log/_dev/test/pipeline/test-additional-messages.log b/packages/cisco_asa/data_stream/log/_dev/test/pipeline/test-additional-messages.log index 3b6c75a080e..d3eabd10d64 100644 --- a/packages/cisco_asa/data_stream/log/_dev/test/pipeline/test-additional-messages.log +++ b/packages/cisco_asa/data_stream/log/_dev/test/pipeline/test-additional-messages.log @@ -162,3 +162,4 @@ May 5 19:02:25 dev01: %ASA-6-716039: Group User IP <17 Apr 27 02:03:03 dev01: %ASA-5-713049: Group = 10.0.0.0, IP = 10.0.0.0, Security negotiation complete for peer (10.0.0.0) Initiator, Inbound SPI = 0x6fdb0644, Outbound SPI = 0x14dde27d <166>Jul 12 2024 08:11:50 myAsaHostname : %ASA-6-605004: Login denied from 81.2.69.144/51215 to dmz-1000:81.2.69.145/https for user "" <166>Jul 12 2024 08:11:50 myAsaHostname : %ASA-6-113005: AAA user authentication Rejected : reason = Unspecified : server = 10.0.0.70 : user = : user IP = 81.2.69.144 +<190>Aug 08 2024 06:28:26 ciscoasa : %ASA-6-113005: AAA user authentication Rejected : reason = Account has been locked out : server = 192.168.1.1 : user = ***** : user IP = 81.2.69.144 \ No newline at end of file diff --git a/packages/cisco_asa/data_stream/log/_dev/test/pipeline/test-additional-messages.log-expected.json b/packages/cisco_asa/data_stream/log/_dev/test/pipeline/test-additional-messages.log-expected.json index d6d9e1798ec..7eb42767e19 100644 --- a/packages/cisco_asa/data_stream/log/_dev/test/pipeline/test-additional-messages.log-expected.json +++ b/packages/cisco_asa/data_stream/log/_dev/test/pipeline/test-additional-messages.log-expected.json @@ -11453,6 +11453,90 @@ "tags": [ "preserve_original_event" ] + }, + { + "@timestamp": "2024-08-08T06:28:26.000Z", + "cisco": { + "asa": { + "rejection_reason": "Account has been locked out" + } + }, + "destination": { + "address": "192.168.1.1", + "ip": "192.168.1.1" + }, + "ecs": { + "version": "8.11.0" + }, + "event": { + "action": "logon-failed", + "category": [ + "authentication", + "network" + ], + "code": "113005", + "kind": "event", + "original": "<190>Aug 08 2024 06:28:26 ciscoasa : %ASA-6-113005: AAA user authentication Rejected : reason = Account has been locked out : server = 192.168.1.1 : user = ***** : user IP = 81.2.69.144", + "outcome": "failure", + "severity": 6, + "timezone": "UTC", + "type": [ + "denied", + "info" + ] + }, + "host": { + "hostname": "ciscoasa" + }, + "log": { + "level": "informational", + "syslog": { + "facility": { + "code": 23 + }, + "priority": 190, + "severity": { + "code": 6 + } + } + }, + "observer": { + "hostname": "ciscoasa", + "product": "asa", + "type": "firewall", + "vendor": "Cisco" + }, + "related": { + "hosts": [ + "ciscoasa" + ], + "ip": [ + "81.2.69.144", + "192.168.1.1" + ] + }, + "source": { + "address": "81.2.69.144", + "geo": { + "city_name": "London", + "continent_name": "Europe", + "country_iso_code": "GB", + "country_name": "United Kingdom", + "location": { + "lat": 51.5142, + "lon": -0.0931 + }, + "region_iso_code": "GB-ENG", + "region_name": "England" + }, + "ip": "81.2.69.144", + "user": { + "name": "*****" + } + }, + "tags": [ + "preserve_original_event" + ] } ] } \ No newline at end of file diff --git a/packages/cisco_asa/data_stream/log/elasticsearch/ingest_pipeline/default.yml b/packages/cisco_asa/data_stream/log/elasticsearch/ingest_pipeline/default.yml index c290a3feee9..4a2c647222c 100644 --- a/packages/cisco_asa/data_stream/log/elasticsearch/ingest_pipeline/default.yml +++ b/packages/cisco_asa/data_stream/log/elasticsearch/ingest_pipeline/default.yml @@ -392,7 +392,7 @@ processors: - "AAA user %{AUTH} Rejected(%{SPACE})?: reason = %{REASON:_temp_.cisco.rejection_reason}(%{SPACE})?: server = %{IP:destination.address}(%{SPACE})?: user = ?(%{CISCO_USER:source.user.name}|)(%{SPACE})?: user IP = %{IPORNONE}" pattern_definitions: AUTH: (authentication|authorization) - REASON: (AAA failure|Account has been disabled|Invalid password|Password is expiring|Password has expired|Password malformed|Unspecified) + REASON: (AAA failure|Account has been disabled|Invalid password|Password is expiring|Password has expired|Password malformed|Unspecified|Account has been locked out) USERNAME: "[a-zA-Z0-9._'-]+" CISCO_USER: (?:\*\*\*\*\*|(?:(?:LOCAL\\)?(?:%{HOSTNAME}\\)?%{USERNAME}\$?(?:@%{HOSTNAME})?(?:, *%{NUMBER})?)) IPORNONE: (%{IP:source.address}|None) diff --git a/packages/cisco_asa/manifest.yml b/packages/cisco_asa/manifest.yml index 44cc7b056c7..3adf8306481 100644 --- a/packages/cisco_asa/manifest.yml +++ b/packages/cisco_asa/manifest.yml @@ -1,7 +1,7 @@ format_version: "3.0.3" name: cisco_asa title: Cisco ASA -version: "2.36.3" +version: "2.36.4" description: Collect logs from Cisco ASA with Elastic Agent. type: integration categories: From 6015c93b9799ce3420e507ef23691a629fae3bd8 Mon Sep 17 00:00:00 2001 From: Panos Koutsovasilis Date: Fri, 23 Aug 2024 18:46:01 +0300 Subject: [PATCH 16/33] [panw] support optional syslog priority in messages (#10863) * feat: support optional syslog priority in messages * feat: add pr link * fix: reintroduce start of the line regex special chart before optional syslog priority --- packages/panw/changelog.yml | 5 ++ .../pipeline/test-panw-panos-audit-sample.log | 2 + ...-panw-panos-audit-sample.log-expected.json | 84 +++++++++++++++++++ .../elasticsearch/ingest_pipeline/default.yml | 2 +- packages/panw/manifest.yml | 2 +- 5 files changed, 93 insertions(+), 2 deletions(-) diff --git a/packages/panw/changelog.yml b/packages/panw/changelog.yml index a0401eaa664..370696eaa38 100644 --- a/packages/panw/changelog.yml +++ b/packages/panw/changelog.yml @@ -1,4 +1,9 @@ # newer versions go on top +- version: "4.0.2" + changes: + - description: Support optional syslog priority in messages + type: enhancement + link: https://github.com/elastic/integrations/pull/10863 - version: "4.0.1" changes: - description: Fix parsing bug for panw.panos.x_forwarded_for field diff --git a/packages/panw/data_stream/panos/_dev/test/pipeline/test-panw-panos-audit-sample.log b/packages/panw/data_stream/panos/_dev/test/pipeline/test-panw-panos-audit-sample.log index dbad64cedc0..5c29c23e2b0 100644 --- a/packages/panw/data_stream/panos/_dev/test/pipeline/test-panw-panos-audit-sample.log +++ b/packages/panw/data_stream/panos/_dev/test/pipeline/test-panw-panos-audit-sample.log @@ -2,3 +2,5 @@ Apr 11 20:06:15 192.168.0.1 01111111111,2024/04/11 20:06:15,audit,2561,gui-op,su Apr 18 18:35:20 10.1.1.1 003001000000,2024/04/18 18:35:20,audit,2561,gui-op,Mustang,"all",success Apr 18 18:36:20 test-hostname 003001000000,2024/04/18 18:36:20,audit,2561,gui-op,Mustang,"all",success Apr 18 18:37:20 test-hostname.test.intra 003001000000,2024/04/18 18:37:20,audit,2561,gui-op,Mustang,"all",success +<190>Aug 6 15:45:10 10.1.1.1 013101009361,2024/08/06 15:45:10,audit,2561,gui-op,redact,"",success +<190>Aug 6 15:45:10 10.1.1.1 013101009361,2024/08/06 15:45:10,audit,2561,gui-op,redact,"",success diff --git a/packages/panw/data_stream/panos/_dev/test/pipeline/test-panw-panos-audit-sample.log-expected.json b/packages/panw/data_stream/panos/_dev/test/pipeline/test-panw-panos-audit-sample.log-expected.json index e4d4034822e..5c02bfaf25c 100644 --- a/packages/panw/data_stream/panos/_dev/test/pipeline/test-panw-panos-audit-sample.log-expected.json +++ b/packages/panw/data_stream/panos/_dev/test/pipeline/test-panw-panos-audit-sample.log-expected.json @@ -167,6 +167,90 @@ "user": { "name": "Mustang" } + }, + { + "ecs": { + "version": "8.11.0" + }, + "event": { + "category": [ + "configuration" + ], + "kind": "event", + "original": "<190>Aug 6 15:45:10 10.1.1.1 013101009361,2024/08/06 15:45:10,audit,2561,gui-op,redact,\"\",success", + "outcome": "success", + "timezone": "-04:00" + }, + "message": "2561,gui-op,redact,\"\",success", + "observer": { + "hostname": "10.1.1.1", + "product": "PAN-OS", + "serial_number": "013101009361", + "type": "firewall", + "vendor": "Palo Alto Networks" + }, + "panw": { + "panos": { + "cmd": "", + "cmd_source": "gui-op", + "config_version": "2561", + "generated_time": "2024-08-06T15:45:10.000-04:00", + "type": "AUDIT" + } + }, + "related": { + "hosts": [ + "10.1.1.1" + ] + }, + "tags": [ + "preserve_original_event" + ], + "user": { + "name": "redact" + } + }, + { + "ecs": { + "version": "8.11.0" + }, + "event": { + "category": [ + "configuration" + ], + "kind": "event", + "original": "<190>Aug 6 15:45:10 10.1.1.1 013101009361,2024/08/06 15:45:10,audit,2561,gui-op,redact,\"\",success", + "outcome": "success", + "timezone": "-04:00" + }, + "message": "2561,gui-op,redact,\"\",success", + "observer": { + "hostname": "10.1.1.1", + "product": "PAN-OS", + "serial_number": "013101009361", + "type": "firewall", + "vendor": "Palo Alto Networks" + }, + "panw": { + "panos": { + "cmd": "", + "cmd_source": "gui-op", + "config_version": "2561", + "generated_time": "2024-08-06T15:45:10.000-04:00", + "type": "AUDIT" + } + }, + "related": { + "hosts": [ + "10.1.1.1" + ] + }, + "tags": [ + "preserve_original_event" + ], + "user": { + "name": "redact" + } } ] } \ No newline at end of file diff --git a/packages/panw/data_stream/panos/elasticsearch/ingest_pipeline/default.yml b/packages/panw/data_stream/panos/elasticsearch/ingest_pipeline/default.yml index effe4f6da00..7cef0168df6 100644 --- a/packages/panw/data_stream/panos/elasticsearch/ingest_pipeline/default.yml +++ b/packages/panw/data_stream/panos/elasticsearch/ingest_pipeline/default.yml @@ -30,7 +30,7 @@ processors: field: _temp_.message patterns: - "^%{DATA},%{TIMESTAMP:_temp_.received_time},%{FIELD:observer.serial_number},%{FIELD:panw.panos.type},(?:%{FIELD:panw.panos.sub_type})?,%{FIELD:_temp_.config_version},%{TIMESTAMP:_temp_.generated_time},%{GREEDYDATA:message}$" - - "^%{SYSLOGTIMESTAMP:_temp_.syslog_time} %{IPORHOST:observer.hostname} %{NOTSPACE:observer.serial_number},%{PANW_DATE:_temp_.generated_time},%{FIELD:panw.panos.type},%{GREEDYDATA:message}$" + - "^(?:<\\d+>)?%{SYSLOGTIMESTAMP:_temp_.syslog_time} %{IPORHOST:observer.hostname} %{NOTSPACE:observer.serial_number},%{PANW_DATE:_temp_.generated_time},%{FIELD:panw.panos.type},%{GREEDYDATA:message}$" pattern_definitions: TIMESTAMP: "%{PANW_DATE}|%{TIMESTAMP_ISO8601}" PANW_DATE: "%{YEAR}/%{MONTHNUM}/%{MONTHDAY} %{TIME}" diff --git a/packages/panw/manifest.yml b/packages/panw/manifest.yml index 4996dd49ac8..db4e3243076 100644 --- a/packages/panw/manifest.yml +++ b/packages/panw/manifest.yml @@ -1,6 +1,6 @@ name: panw title: Palo Alto Next-Gen Firewall -version: "4.0.1" +version: "4.0.2" description: Collect logs from Palo Alto next-gen firewalls with Elastic Agent. type: integration format_version: "3.0.3" From 6312d8b3a0bb22d11ca79fd7e1d120d372d0f1b2 Mon Sep 17 00:00:00 2001 From: Aleksandr Maus Date: Sat, 24 Aug 2024 16:16:15 -0400 Subject: [PATCH 17/33] [cef] Make dataset name configurable (#10866) * [cef] Make dataset name configurable * Update changelog with PR number * Update changelog --- packages/cef/changelog.yml | 5 ++++ .../data_stream/log/agent/stream/log.yml.hbs | 2 ++ .../data_stream/log/agent/stream/tcp.yml.hbs | 2 ++ .../data_stream/log/agent/stream/udp.yml.hbs | 2 ++ packages/cef/data_stream/log/manifest.yml | 24 +++++++++++++++++++ packages/cef/manifest.yml | 2 +- 6 files changed, 36 insertions(+), 1 deletion(-) diff --git a/packages/cef/changelog.yml b/packages/cef/changelog.yml index ba3ebb7be14..1303152f2d8 100644 --- a/packages/cef/changelog.yml +++ b/packages/cef/changelog.yml @@ -1,4 +1,9 @@ # newer versions go on top +- version: "2.17.2" + changes: + - description: Make dataset name configurable + type: enhancement + link: https://github.com/elastic/integrations/pull/10866 - version: "2.17.1" changes: - description: Add ignore_failure to the community_id processor in the ingest node pipeline. diff --git a/packages/cef/data_stream/log/agent/stream/log.yml.hbs b/packages/cef/data_stream/log/agent/stream/log.yml.hbs index 88e0016308b..235bc034e1f 100644 --- a/packages/cef/data_stream/log/agent/stream/log.yml.hbs +++ b/packages/cef/data_stream/log/agent/stream/log.yml.hbs @@ -1,3 +1,5 @@ +data_stream: + dataset: {{data_stream.dataset}} paths: {{#each paths as |path i|}} - {{path}} diff --git a/packages/cef/data_stream/log/agent/stream/tcp.yml.hbs b/packages/cef/data_stream/log/agent/stream/tcp.yml.hbs index 913dcfb618a..0b1fb504fb9 100644 --- a/packages/cef/data_stream/log/agent/stream/tcp.yml.hbs +++ b/packages/cef/data_stream/log/agent/stream/tcp.yml.hbs @@ -1,3 +1,5 @@ +data_stream: + dataset: {{data_stream.dataset}} host: "{{syslog_host}}:{{syslog_port}}" {{#if tcp_options.length}} {{tcp_options}} diff --git a/packages/cef/data_stream/log/agent/stream/udp.yml.hbs b/packages/cef/data_stream/log/agent/stream/udp.yml.hbs index 13d183001f2..9d3d057f62e 100644 --- a/packages/cef/data_stream/log/agent/stream/udp.yml.hbs +++ b/packages/cef/data_stream/log/agent/stream/udp.yml.hbs @@ -1,3 +1,5 @@ +data_stream: + dataset: {{data_stream.dataset}} host: "{{syslog_host}}:{{syslog_port}}" {{#if udp_options.length}} {{udp_options}} diff --git a/packages/cef/data_stream/log/manifest.yml b/packages/cef/data_stream/log/manifest.yml index e522c2f3249..7a4ef4a48f8 100644 --- a/packages/cef/data_stream/log/manifest.yml +++ b/packages/cef/data_stream/log/manifest.yml @@ -14,6 +14,14 @@ streams: multi: true default: - /var/log/cef.log + - name: data_stream.dataset + type: text + title: Dataset name + description: | + Dataset to write data to. Changing the dataset will send the data to a different index. You can't use `-` in the name of a dataset and only valid characters for [Elasticsearch index names](https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-index_.html). + default: cef.log + required: true + show_user: true - name: decode_cef_timezone title: CEF Timezone type: text @@ -69,6 +77,14 @@ streams: show_user: true multi: false default: 9003 + - name: data_stream.dataset + type: text + title: Dataset name + description: | + Dataset to write data to. Changing the dataset will send the data to a different index. You can't use `-` in the name of a dataset and only valid characters for [Elasticsearch index names](https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-index_.html). + default: cef.log + required: true + show_user: true - name: decode_cef_timezone title: CEF Timezone type: text @@ -134,6 +150,14 @@ streams: show_user: true multi: false default: 9004 + - name: data_stream.dataset + type: text + title: Dataset name + description: | + Dataset to write data to. Changing the dataset will send the data to a different index. You can't use `-` in the name of a dataset and only valid characters for [Elasticsearch index names](https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-index_.html). + default: cef.log + required: true + show_user: true - name: decode_cef_timezone title: CEF Timezone type: text diff --git a/packages/cef/manifest.yml b/packages/cef/manifest.yml index 7285074b598..8d203c45c14 100644 --- a/packages/cef/manifest.yml +++ b/packages/cef/manifest.yml @@ -1,6 +1,6 @@ name: cef title: Common Event Format (CEF) -version: "2.17.1" +version: "2.17.2" description: Collect logs from CEF Logs with Elastic Agent. categories: - security From 77af95e9539e95be53af20c5454845edf3e61425 Mon Sep 17 00:00:00 2001 From: Aleksandr Maus Date: Sat, 24 Aug 2024 16:16:50 -0400 Subject: [PATCH 18/33] [fortinet_fortigate] Fix test data (#10865) * [fortinet_fortigate] Fix test data * Update changelog with PR number * Fix the test data as a workaround for uri_parts processor bug that was fixed in Elasticsearch 8.14 --- packages/fortinet_fortigate/changelog.yml | 5 +++++ .../data_stream/log/_dev/test/pipeline/test-fortinet-7-4.log | 2 +- .../_dev/test/pipeline/test-fortinet-7-4.log-expected.json | 5 ++--- packages/fortinet_fortigate/manifest.yml | 2 +- 4 files changed, 9 insertions(+), 5 deletions(-) diff --git a/packages/fortinet_fortigate/changelog.yml b/packages/fortinet_fortigate/changelog.yml index 36d60512156..a42b2501440 100644 --- a/packages/fortinet_fortigate/changelog.yml +++ b/packages/fortinet_fortigate/changelog.yml @@ -1,4 +1,9 @@ # newer versions go on top +- version: "1.25.6" + changes: + - description: Fix test data + type: bugfix + link: https://github.com/elastic/integrations/pull/10865 - version: "1.25.5" changes: - description: Fix handling alternative logs for Administrator logins diff --git a/packages/fortinet_fortigate/data_stream/log/_dev/test/pipeline/test-fortinet-7-4.log b/packages/fortinet_fortigate/data_stream/log/_dev/test/pipeline/test-fortinet-7-4.log index 22846b2c458..80927ba6af8 100644 --- a/packages/fortinet_fortigate/data_stream/log/_dev/test/pipeline/test-fortinet-7-4.log +++ b/packages/fortinet_fortigate/data_stream/log/_dev/test/pipeline/test-fortinet-7-4.log @@ -37,7 +37,7 @@ date=2020-09-28 time=15:36:26 eventtime=1601332560405228924 tz="-0700" logid="01 date=2020-09-28 time=15:36:26 eventtime=1601332560336851635 tz="-0700" logid="0114032601" type="event" subtype="switch-controller" level="information" vd="vdom1" logdesc="Switch-Controller discovered" user="daemon_admin" ui="cmdbsvr" sn="S248EPTF18001384" name="S248EPTF18001384" msg="S248EPTF18001384 Discovered" date=2022-02-02 time=15:52:09 eventtime=1643845930263415066 tz="-0800" logid="0116047301" type="event" subtype="rest-api" level="information" vd="root" logdesc="REST API request success" user="admin" ui="GUI(192.168.1.69)" method="GET" path="system.usb-log" status="200" url="/api/v2/monitor/system/usb-log?vdom=root" date=2022-02-02 time=15:52:06 eventtime=1643845926774931021 tz="-0800" logid="0116047301" type="event" subtype="rest-api" level="information" vd="root" logdesc="REST API request success" user="admin" ui="GUI(192.168.1.69)" method="GET" path="license.status" status="200" url="/api/v2/monitor/license/status?vdom=root" -date=2022-02-02 time=15:52:06 eventtime=1643845926764579729 tz="-0800" logid="0116047301" type="event" subtype="rest-api" level="information" vd="root" logdesc="REST API request success" user="admin" ui="GUI(192.168.1.69)" method="GET" path="log.fortianalyzer.setting" status="200" url="/api/v2/cmdb/log.fortianalyzer/setting?vdom=root" +date=2022-02-02 time=15:52:06 eventtime=1643845926764579729 tz="-0800" logid="0116047301" type="event" subtype="rest-api" level="information" vd="root" logdesc="REST API request success" user="admin" ui="GUI(192.168.1.69)" method="GET" path="log.fortianalyzer.setting" status="200" url="/api/v2/cmdb/log_fortianalyzer/setting?vdom=root" date=2022-02-02 time=15:52:06 eventtime=1643845926762372766 tz="-0800" logid="0116047301" type="event" subtype="rest-api" level="information" vd="root" logdesc="REST API request success" user="admin" ui="GUI(192.168.1.69)" method="GET" path="system.sandbox" action="connection" status="200" url="/api/v2/monitor/system/sandbox/connection?vdom=root" date=2022-02-02 time=15:52:06 eventtime=1643845926755869998 tz="-0800" logid="0116047301" type="event" subtype="rest-api" level="information" vd="root" logdesc="REST API request success" user="admin" ui="GUI(192.168.1.69)" method="GET" path="system.firmware" status="200" url="/api/v2/monitor/system/firmware?vdom=root" date=2021-12-20 time=16:43:54 eventtime=1640047434839814226 tz="-0800" logid="0100020214" type="event" subtype="system" level="warning" vd="root" logdesc="Locally generated traffic goes to IoC location" srcip=172.16.200.2 srcport=18047 dstip=216.160.83.56 dstport=514 session_id=23563 proto=6 diff --git a/packages/fortinet_fortigate/data_stream/log/_dev/test/pipeline/test-fortinet-7-4.log-expected.json b/packages/fortinet_fortigate/data_stream/log/_dev/test/pipeline/test-fortinet-7-4.log-expected.json index 961d74f51f3..b2c109f7690 100644 --- a/packages/fortinet_fortigate/data_stream/log/_dev/test/pipeline/test-fortinet-7-4.log-expected.json +++ b/packages/fortinet_fortigate/data_stream/log/_dev/test/pipeline/test-fortinet-7-4.log-expected.json @@ -2274,7 +2274,7 @@ "event": { "code": "0116047301", "kind": "event", - "original": "date=2022-02-02 time=15:52:06 eventtime=1643845926764579729 tz=\"-0800\" logid=\"0116047301\" type=\"event\" subtype=\"rest-api\" level=\"information\" vd=\"root\" logdesc=\"REST API request success\" user=\"admin\" ui=\"GUI(192.168.1.69)\" method=\"GET\" path=\"log.fortianalyzer.setting\" status=\"200\" url=\"/api/v2/cmdb/log.fortianalyzer/setting?vdom=root\"", + "original": "date=2022-02-02 time=15:52:06 eventtime=1643845926764579729 tz=\"-0800\" logid=\"0116047301\" type=\"event\" subtype=\"rest-api\" level=\"information\" vd=\"root\" logdesc=\"REST API request success\" user=\"admin\" ui=\"GUI(192.168.1.69)\" method=\"GET\" path=\"log.fortianalyzer.setting\" status=\"200\" url=\"/api/v2/cmdb/log_fortianalyzer/setting?vdom=root\"", "start": "2022-02-02T15:52:06.764-08:00", "timezone": "-0800" }, @@ -2314,8 +2314,7 @@ "preserve_original_event" ], "url": { - "extension": "fortianalyzer/setting", - "path": "/api/v2/cmdb/log.fortianalyzer/setting", + "path": "/api/v2/cmdb/log_fortianalyzer/setting", "query": "vdom=root" } }, diff --git a/packages/fortinet_fortigate/manifest.yml b/packages/fortinet_fortigate/manifest.yml index e9b00932ca2..5ebb22c5f86 100644 --- a/packages/fortinet_fortigate/manifest.yml +++ b/packages/fortinet_fortigate/manifest.yml @@ -1,6 +1,6 @@ name: fortinet_fortigate title: Fortinet FortiGate Firewall Logs -version: "1.25.5" +version: "1.25.6" description: Collect logs from Fortinet FortiGate firewalls with Elastic Agent. type: integration format_version: "3.0.3" From c35bd82385a166dc7641e4afe50ea9816bf01b37 Mon Sep 17 00:00:00 2001 From: ShourieG <105607378+ShourieG@users.noreply.github.com> Date: Mon, 26 Aug 2024 15:05:16 +0530 Subject: [PATCH 19/33] [Amazon Security Lake] - Re-enable SQS notification settings (#10854) * remove wrongly implemented sqs support from amazon security lake package * updated changelog * addressed PR comments * reverted sqs notification removal commit * updated docs * updated changelog * added example config for file selector config showing selective parquet decoding --- .../_dev/build/docs/README.md | 17 +++-- packages/amazon_security_lake/changelog.yml | 5 ++ .../event/agent/stream/aws-s3.yml.hbs | 28 ++++++++ .../data_stream/event/manifest.yml | 72 ++++++++++++++++++- packages/amazon_security_lake/docs/README.md | 17 +++-- packages/amazon_security_lake/manifest.yml | 6 +- 6 files changed, 132 insertions(+), 13 deletions(-) diff --git a/packages/amazon_security_lake/_dev/build/docs/README.md b/packages/amazon_security_lake/_dev/build/docs/README.md index e1b287ae35c..4a685d80987 100644 --- a/packages/amazon_security_lake/_dev/build/docs/README.md +++ b/packages/amazon_security_lake/_dev/build/docs/README.md @@ -4,8 +4,9 @@ This [Amazon Security Lake](https://aws.amazon.com/security-lake/) integration h Security Lake automates the collection of security-related log and event data from integrated AWS services and third-party services. It also helps you manage the lifecycle of data with customizable retention and replication settings. Security Lake converts ingested data into Apache Parquet format and a standard open-source schema called the Open Cybersecurity Schema Framework (OCSF). With OCSF support, Security Lake normalizes and combines security data from AWS and a broad range of enterprise security data sources. -The Amazon Security Lake integration currently supports only one mode of log collection: +The Amazon Security Lake integration can be used in two different modes to collect data: - AWS S3 polling mode: Amazon Security Lake writes data to S3, and Elastic Agent polls the S3 bucket by listing its contents and reading new files. +- AWS S3 SQS mode: Amazon Security Lake writes data to S3, S3 sends a notification of a new object to SQS, the Elastic Agent receives the notification from SQS, and then reads the S3 object. Multiple agents can be used in this mode. ## Compatibility @@ -37,6 +38,7 @@ The Amazon Security Lake integration collects logs from both [Third-party servic - For **Log and event sources**, choose which sources the subscriber is authorized to consume. - For **Data access method**, choose **S3** to set up data access for the subscriber. - For **Subscriber credentials**, provide the subscriber's **AWS account ID** and **external ID**. + - For **Notification details**, select **SQS queue**. - Choose Create. 3. Above mentioned steps will create and provide the required details such as IAM roles/AWS role ID, external ID and queue URL to configure AWS Security Lake Integration. @@ -48,11 +50,18 @@ The Amazon Security Lake integration collects logs from both [Third-party servic 3. Click on the "Amazon Security Lake" integration from the search results. 4. Click on the Add Amazon Security Lake Integration button to add the integration. ![Home Page](../img/home_page.png) -5. The integration currently only supports collecting logs via AWS S3. -6. While adding the integration, you have to configure the following details: - - bucket arn +5. By default collect logs via S3 Bucket toggle will be off and collect logs for AWS SQS. + - queue url + ![Queue URL](../img/queue_url.png) + - collect logs via S3 Bucket toggled off - role ARN - external id + ![Role ARN and External ID](../img/role_arn_and_external_id.png) + +6. If you want to collect logs via AWS S3, then you have to put the following details: + - bucket arn + - role ARN + - external id **NOTE**: diff --git a/packages/amazon_security_lake/changelog.yml b/packages/amazon_security_lake/changelog.yml index 9b7ba194261..b320a9cdbe9 100644 --- a/packages/amazon_security_lake/changelog.yml +++ b/packages/amazon_security_lake/changelog.yml @@ -1,4 +1,9 @@ # newer versions go on top +- version: "1.5.0" + changes: + - description: Re-added SQS notification settings which were removed due to a prior update error. + type: bugfix + link: https://github.com/elastic/integrations/pull/10854 - version: "1.4.1" changes: - description: "Remove confusing documentation remaining from previous change." diff --git a/packages/amazon_security_lake/data_stream/event/agent/stream/aws-s3.yml.hbs b/packages/amazon_security_lake/data_stream/event/agent/stream/aws-s3.yml.hbs index 67d1ad222d6..391daa8e96a 100644 --- a/packages/amazon_security_lake/data_stream/event/agent/stream/aws-s3.yml.hbs +++ b/packages/amazon_security_lake/data_stream/event/agent/stream/aws-s3.yml.hbs @@ -1,3 +1,4 @@ +{{#if collect_s3_logs}} {{#if bucket_arn}} bucket_arn: {{bucket_arn}} @@ -11,10 +12,32 @@ bucket_list_interval: {{interval}} {{#if bucket_list_prefix}} bucket_list_prefix: {{bucket_list_prefix}} {{/if}} + +{{else}} + +{{#if queue_url}} +queue_url: {{queue_url}} +{{/if}} +sqs.notification_parsing_script.source: {{event_parsing_script}} +{{#if region}} +region: {{region}} +{{/if}} +{{#if visibility_timeout}} +visibility_timeout: {{visibility_timeout}} +{{/if}} +{{#if api_timeout}} +api_timeout: {{api_timeout}} +{{/if}} +{{#if max_number_of_messages}} +max_number_of_messages: {{max_number_of_messages}} +{{/if}} {{#if file_selectors}} file_selectors: {{file_selectors}} {{/if}} + +{{/if}} + {{#if access_key_id}} access_key_id: {{access_key_id}} {{/if}} @@ -56,6 +79,11 @@ proxy_url: {{proxy_url}} ssl: {{ssl}} {{/if}} tags: +{{#if collect_s3_logs}} + - collect_s3_logs +{{else}} + - collect_sqs_logs +{{/if}} {{#if preserve_original_event}} - preserve_original_event {{/if}} diff --git a/packages/amazon_security_lake/data_stream/event/manifest.yml b/packages/amazon_security_lake/data_stream/event/manifest.yml index 4c27180a984..9187b741615 100644 --- a/packages/amazon_security_lake/data_stream/event/manifest.yml +++ b/packages/amazon_security_lake/data_stream/event/manifest.yml @@ -7,6 +7,14 @@ streams: description: Collect Amazon Security Lake Events via AWS S3 input. template_path: aws-s3.yml.hbs vars: + - name: collect_s3_logs + required: true + show_user: true + title: Collect logs via S3 Bucket + description: To Collect logs via S3 bucket enable the toggle switch. By default, it will collect logs via SQS Queue. + type: bool + multi: false + default: false - name: access_key_id type: password title: Access Key ID @@ -77,13 +85,56 @@ streams: show_user: true default: 5 description: Number of workers that will process the S3 objects listed. It is a required parameter for collecting logs via the AWS S3 Bucket. + - name: queue_url + type: text + title: "[SQS] Queue URL" + multi: false + required: false + show_user: true + description: URL of the AWS SQS queue that messages will be received from. It is a required parameter for collecting logs via the AWS SQS. + - name: visibility_timeout + type: text + title: "[SQS] Visibility Timeout" + multi: false + required: false + show_user: true + default: 300s + description: The duration that the received messages are hidden from subsequent retrieve requests after being retrieved by a ReceiveMessage request. The maximum is 12 hours. Supported units for this parameter are h/m/s. + - name: api_timeout + type: text + title: "[SQS] API Timeout" + multi: false + required: false + show_user: true + default: 120s + description: The maximum duration of AWS API can take. The maximum is half of the visibility timeout value. Supported units for this parameter are h/m/s. + - name: max_number_of_messages + type: integer + title: "[SQS] Maximum Concurrent SQS Messages" + required: false + show_user: true + default: 5 + description: The maximum number of SQS messages that can be inflight at any time. - name: file_selectors type: yaml - title: "File Selectors" + title: "[SQS] File Selectors" multi: false required: false show_user: false - description: If the S3 bucket will have events that correspond to files that this integration shouldn't process, file_selectors can be used to limit the files that are downloaded. This is a list of selectors which are made up of regex and expand_event_list_from_field options. The regex should match the S3 object key, and the optional expand_event_list_from_field is the same as the global setting. If file_selectors is given, then any global expand_event_list_from_field value is ignored in favor of the ones specified in the file_selectors. Regexes use [RE2 syntax](https://pkg.go.dev/regexp/syntax). Files that don’t match one of the regexes will not be processed. + description: If the SQS queue will have events that correspond to files that this integration shouldn't process, file_selectors can be used to limit the files that are downloaded. This is a list of selectors which are made up of regex and expand_event_list_from_field options. The regex should match the S3 object key in the SQS message, and the optional expand_event_list_from_field is the same as the global setting. If file_selectors is given, then any global expand_event_list_from_field value is ignored in favor of the ones specified in the file_selectors. Regexes use [RE2 syntax](https://pkg.go.dev/regexp/syntax). Files that don’t match one of the regexes will not be processed. + default: | + # Example: if you want to consume events that contain 'CloudTrail' in the S3 object key and apply parquet decoding to the events. + # - regex: '/CloudTrail/' + # decoding.codec.parquet.enabled: true + # decoding.codec.parquet.batch_size: 100 + # decoding.codec.parquet.process_parallel: true + - name: region + type: text + title: "[SQS] Region" + multi: false + required: false + show_user: true + description: The name of the AWS region of the end point. If this option is given it takes precedence over the region name obtained from the queue_url value. - name: fips_enabled type: bool title: Enable S3 FIPS @@ -128,6 +179,23 @@ streams: show_user: false default: "" description: Default region to use prior to connecting to region specific services/endpoints if no AWS region is set from environment variable, credentials or instance profile. If none of the above are set and no default region is set as well, `us-east-1` is used. A region, either from environment variable, credentials or instance profile or from this default region setting, needs to be set when using regions in non-regular AWS environments such as AWS China or US Government Isolated. + - name: event_parsing_script + type: yaml + title: Event Notification Parsing Script + multi: false + required: true + show_user: false + description: The JS script used to parse the custom format of SQS Event notifications. + default: | + function parse(notification) { + var evts = []; + var m = JSON.parse(notification); + var evt = new S3EventV2(); + evt.SetS3BucketName(m.detail.bucket.name); + evt.SetS3ObjectKey(m.detail.object.key); + evts.push(evt); + return evts; + } - name: proxy_url type: text title: Proxy URL diff --git a/packages/amazon_security_lake/docs/README.md b/packages/amazon_security_lake/docs/README.md index e6cc03128b9..b956a9743b4 100644 --- a/packages/amazon_security_lake/docs/README.md +++ b/packages/amazon_security_lake/docs/README.md @@ -4,8 +4,9 @@ This [Amazon Security Lake](https://aws.amazon.com/security-lake/) integration h Security Lake automates the collection of security-related log and event data from integrated AWS services and third-party services. It also helps you manage the lifecycle of data with customizable retention and replication settings. Security Lake converts ingested data into Apache Parquet format and a standard open-source schema called the Open Cybersecurity Schema Framework (OCSF). With OCSF support, Security Lake normalizes and combines security data from AWS and a broad range of enterprise security data sources. -The Amazon Security Lake integration currently supports only one mode of log collection: +The Amazon Security Lake integration can be used in two different modes to collect data: - AWS S3 polling mode: Amazon Security Lake writes data to S3, and Elastic Agent polls the S3 bucket by listing its contents and reading new files. +- AWS S3 SQS mode: Amazon Security Lake writes data to S3, S3 sends a notification of a new object to SQS, the Elastic Agent receives the notification from SQS, and then reads the S3 object. Multiple agents can be used in this mode. ## Compatibility @@ -37,6 +38,7 @@ The Amazon Security Lake integration collects logs from both [Third-party servic - For **Log and event sources**, choose which sources the subscriber is authorized to consume. - For **Data access method**, choose **S3** to set up data access for the subscriber. - For **Subscriber credentials**, provide the subscriber's **AWS account ID** and **external ID**. + - For **Notification details**, select **SQS queue**. - Choose Create. 3. Above mentioned steps will create and provide the required details such as IAM roles/AWS role ID, external ID and queue URL to configure AWS Security Lake Integration. @@ -48,11 +50,18 @@ The Amazon Security Lake integration collects logs from both [Third-party servic 3. Click on the "Amazon Security Lake" integration from the search results. 4. Click on the Add Amazon Security Lake Integration button to add the integration. ![Home Page](../img/home_page.png) -5. The integration currently only supports collecting logs via AWS S3. -6. While adding the integration, you have to configure the following details: - - bucket arn +5. By default collect logs via S3 Bucket toggle will be off and collect logs for AWS SQS. + - queue url + ![Queue URL](../img/queue_url.png) + - collect logs via S3 Bucket toggled off - role ARN - external id + ![Role ARN and External ID](../img/role_arn_and_external_id.png) + +6. If you want to collect logs via AWS S3, then you have to put the following details: + - bucket arn + - role ARN + - external id **NOTE**: diff --git a/packages/amazon_security_lake/manifest.yml b/packages/amazon_security_lake/manifest.yml index 8eef0cda615..5c3d3542857 100644 --- a/packages/amazon_security_lake/manifest.yml +++ b/packages/amazon_security_lake/manifest.yml @@ -1,7 +1,7 @@ format_version: "3.0.3" name: amazon_security_lake title: Amazon Security Lake -version: "1.4.1" +version: "1.5.0" description: Collect logs from Amazon Security Lake with Elastic Agent. type: integration categories: ["aws", "security"] @@ -62,8 +62,8 @@ policy_templates: description: Collect logs from Amazon Security Lake instances. inputs: - type: aws-s3 - title: Collect Amazon Security Lake logs via AWS S3 - description: Collecting logs from Amazon Security Lake via AWS S3. + title: Collect Amazon Security Lake logs via AWS S3 or AWS SQS + description: Collecting logs from Amazon Security Lake via AWS S3 or AWS SQS. owner: github: elastic/security-service-integrations type: elastic From 3df06c328b4db7c1b648cf749ef466d69e9cb1fb Mon Sep 17 00:00:00 2001 From: Tetiana Kravchenko Date: Mon, 26 Aug 2024 12:26:40 +0200 Subject: [PATCH 20/33] [gcp_metrics] Set kibana restriction to 8.15.0, where the scope for the geo_point was reduced (#10665) * Add mapping for gcp.labels.resource.* field Signed-off-by: Tetiana Kravchenko * Update changelog.yml * set kibana restriction to the 8.15 Signed-off-by: Tetiana Kravchenko --------- Signed-off-by: Tetiana Kravchenko --- packages/gcp_metrics/changelog.yml | 5 +++++ packages/gcp_metrics/manifest.yml | 4 ++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/packages/gcp_metrics/changelog.yml b/packages/gcp_metrics/changelog.yml index c5451bf8b9a..1ded0af7c03 100644 --- a/packages/gcp_metrics/changelog.yml +++ b/packages/gcp_metrics/changelog.yml @@ -1,4 +1,9 @@ # newer versions go on top +- version: 0.2.0 + changes: + - description: Set kibana restriction to 8.15.0, where was reduced scope of the ecs_geo_point + type: enhancement + link: https://github.com/elastic/integrations/pull/10665 - version: 0.1.0 changes: - description: Update the package format_version to 3.0.0. diff --git a/packages/gcp_metrics/manifest.yml b/packages/gcp_metrics/manifest.yml index 2d98f33db3c..fc730b1bd19 100644 --- a/packages/gcp_metrics/manifest.yml +++ b/packages/gcp_metrics/manifest.yml @@ -1,7 +1,7 @@ format_version: "3.0.0" name: gcp_metrics title: "GCP Metrics Input" -version: "0.1.0" +version: "0.2.0" description: "GCP Metrics Input" type: input icons: @@ -14,7 +14,7 @@ categories: - google_cloud conditions: kibana: - version: ^8.5.0 + version: ^8.15.0 elastic: subscription: "basic" policy_templates: From e4537886eb802caab02a89f1924cc3b697c8ffde Mon Sep 17 00:00:00 2001 From: Maxim Kholod Date: Mon, 26 Aug 2024 12:55:07 +0200 Subject: [PATCH 21/33] [Cloud Security] implement cloud_configuration_finding data stream for Wiz (#10790) The new cloud_configuration_finding data stream with the default dashboard will be released in the 1.6.0 version of the Wiz integration --- packages/wiz/_dev/build/docs/README.md | 13 +- .../wiz/_dev/deploy/docker/docker-compose.yml | 13 + .../config-cloud_configuration_finding.yml | 36 + packages/wiz/changelog.yml | 5 + .../test-cloud-configuration-finding.log | 4 + ...ud-configuration-finding.log-expected.json | 338 +++++++ .../_dev/test/pipeline/test-common-config.yml | 4 + .../_dev/test/system/test-default-config.yml | 15 + .../agent/stream/cel.yml.hbs | 169 ++++ .../elasticsearch/ingest_pipeline/default.yml | 397 ++++++++ .../fields/base-fields.yml | 20 + .../fields/beats.yml | 9 + .../fields/fields.yml | 59 ++ .../fields/resource.yml | 11 + .../fields/result.yml | 16 + .../fields/rule.yml | 17 + .../cloud_configuration_finding/manifest.yml | 81 ++ .../sample_event.json | 76 ++ packages/wiz/docs/README.md | 143 ++- ...-cloud_configuration_finding-dashboard.png | Bin 0 -> 548344 bytes ...-726802c0-4007-48b9-bae5-09daa69d4368.json | 907 ++++++++++++++++++ packages/wiz/manifest.yml | 2 +- 22 files changed, 2332 insertions(+), 3 deletions(-) create mode 100644 packages/wiz/_dev/deploy/docker/files/config-cloud_configuration_finding.yml create mode 100644 packages/wiz/data_stream/cloud_configuration_finding/_dev/test/pipeline/test-cloud-configuration-finding.log create mode 100644 packages/wiz/data_stream/cloud_configuration_finding/_dev/test/pipeline/test-cloud-configuration-finding.log-expected.json create mode 100644 packages/wiz/data_stream/cloud_configuration_finding/_dev/test/pipeline/test-common-config.yml create mode 100644 packages/wiz/data_stream/cloud_configuration_finding/_dev/test/system/test-default-config.yml create mode 100644 packages/wiz/data_stream/cloud_configuration_finding/agent/stream/cel.yml.hbs create mode 100644 packages/wiz/data_stream/cloud_configuration_finding/elasticsearch/ingest_pipeline/default.yml create mode 100644 packages/wiz/data_stream/cloud_configuration_finding/fields/base-fields.yml create mode 100644 packages/wiz/data_stream/cloud_configuration_finding/fields/beats.yml create mode 100644 packages/wiz/data_stream/cloud_configuration_finding/fields/fields.yml create mode 100644 packages/wiz/data_stream/cloud_configuration_finding/fields/resource.yml create mode 100644 packages/wiz/data_stream/cloud_configuration_finding/fields/result.yml create mode 100644 packages/wiz/data_stream/cloud_configuration_finding/fields/rule.yml create mode 100644 packages/wiz/data_stream/cloud_configuration_finding/manifest.yml create mode 100644 packages/wiz/data_stream/cloud_configuration_finding/sample_event.json create mode 100644 packages/wiz/img/wiz-cloud_configuration_finding-dashboard.png create mode 100644 packages/wiz/kibana/dashboard/wiz-726802c0-4007-48b9-bae5-09daa69d4368.json diff --git a/packages/wiz/_dev/build/docs/README.md b/packages/wiz/_dev/build/docs/README.md index a5da2d56efc..f59fd24f039 100644 --- a/packages/wiz/_dev/build/docs/README.md +++ b/packages/wiz/_dev/build/docs/README.md @@ -1,6 +1,6 @@ # Wiz -Wiz continuously prioritizes critical risks based on a deep cloud analysis across misconfigurations, network exposure, secrets, vulnerabilities, malware, and identities to build a single prioritized view of risk for your cloud. This [Wiz](https://www.wiz.io/) integration enables you to consume and analyze Wiz data within Elastic Security, including issues, vulnerability data and audit events, providing you with visibility and context for your cloud environments within Elastic Security. +Wiz continuously prioritizes critical risks based on a deep cloud analysis across misconfigurations, network exposure, secrets, vulnerabilities, malware, and identities to build a single prioritized view of risk for your cloud. This [Wiz](https://www.wiz.io/) integration enables you to consume and analyze Wiz data within Elastic Security, including issues, vulnerability data, cloud configuration findings and audit events, providing you with visibility and context for your cloud environments within Elastic Security. ## Data streams @@ -48,6 +48,7 @@ This module has been tested against the **Wiz API Version v1**. | Audit | admin:audit | | Issue | read:issues | | Vulnerability | read:vulnerabilities | + | Cloud Configuration Finding | read:cloud_configuration | ### To obtain the Wiz URL 1. Navigate to your user profile and copy the API Endpoint URL. @@ -86,6 +87,16 @@ This is the `Audit` dataset. {{fields "audit"}} +### Cloud Configuration Finding + +This is the `Cloud Configuration Finding` dataset. + +#### Example + +{{event "cloud_configuration_finding"}} + +{{fields "cloud_configuration_finding"}} + ### Issue This is the `Issue` dataset. diff --git a/packages/wiz/_dev/deploy/docker/docker-compose.yml b/packages/wiz/_dev/deploy/docker/docker-compose.yml index 0c05cc92439..fd0fe808af1 100644 --- a/packages/wiz/_dev/deploy/docker/docker-compose.yml +++ b/packages/wiz/_dev/deploy/docker/docker-compose.yml @@ -13,6 +13,19 @@ services: - http-server - --addr=:8090 - --config=/files/config-audit.yml + wiz-cloud_configuration_finding: + image: docker.elastic.co/observability/stream:v0.15.0 + hostname: wiz-cloud_configuration_finding + ports: + - 8090 + volumes: + - ./files:/files:ro + environment: + PORT: '8090' + command: + - http-server + - --addr=:8090 + - --config=/files/config-cloud_configuration_finding.yml wiz-issue: image: docker.elastic.co/observability/stream:v0.15.0 hostname: wiz-issue diff --git a/packages/wiz/_dev/deploy/docker/files/config-cloud_configuration_finding.yml b/packages/wiz/_dev/deploy/docker/files/config-cloud_configuration_finding.yml new file mode 100644 index 00000000000..008793fc332 --- /dev/null +++ b/packages/wiz/_dev/deploy/docker/files/config-cloud_configuration_finding.yml @@ -0,0 +1,36 @@ +rules: + - path: /oauth/token + methods: ['POST'] + responses: + - status_code: 200 + headers: + Content-Type: + - 'application/json' + body: | + {"access_token":"xxxx","expires_in":3600,"token_type":"Bearer","refresh_token":"yyyy"} + - path: /graphql + methods: ['POST'] + request_headers: + Authorization: + - 'Bearer xxxx' + request_body: /.*"after":null.*/ + responses: + - status_code: 200 + headers: + Content-Type: + - application/json + body: | + {"data": {"configurationFindings": {"nodes": [{"analyzedAt":"2024-08-07T12:55:52.012378Z","id":"1243196d-a365-589a-a8aa-13817c9877b2","remediation":null,"resource":{"id":"f0f4163d-cbd7-517c-ba9e-f96bb90ab5ea","name":"Root user","nativeType":"rootUser","providerId":"arn:aws:iam::998231069301:root","region":null,"cloudPlatform":"EKS","subscription":{"cloudProvider":"AWS","externalId":"998231069301","id":"94e76baa-85fd-5928-b829-1669a2ca9660","name":"wiz-integrations"},"tags":[],"type":"USER_ACCOUNT"},"result":"PASS","rule":{"description":"This rule checks if the AWS Root Account has access keys. \nThis rule fails if `AccountAccessKeysPresent` is not set to `0`. Note that it does not take into consideration the status of the keys if present. \nThe root account should avoid using access keys. Since the root account has full permissions across the entire account, creating access keys for it increases the chance that they will be compromised. Instead, it is recommended to create IAM users with predefined roles.\n>**Note** \nSee Cloud Configuration Rule `IAM-207` to see if the Root account's access keys are active.","id":"563ed717-4fb6-47fd-929e-9c794e201d0a","name":"Root account access keys should not exist","remediationInstructions":"Perform the following steps, while being signed in as the Root user, in order to delete the root user's access keys via AWS CLI: \n1. Use the following command to list the Root user's access keys. \nCopy the `AccessKeyId` from the output and paste it into the `access-key-id` value in the next step. \n```\naws iam list-access-keys\n```\n2. Use the following command to delete the access key(s). \n```\naws iam delete-access-key /\n --access-key-id \n```\n>**Note** \nOnce an access key is removed, any application using it will not work until a new one is configured for it.","shortId":"IAM-006"},"severity":"MEDIUM"}],"pageInfo": {"hasNextPage": true,"endCursor": "eyJmaWVsZHMiOlt7IkZpZWxkIjoiVGltZXN0YW1wIiwiVmFsdWUiOiIyMDIzLTA5LTA0VDExOjE5OjM3LjgwMTU0MVoifV19"}}}} + - path: /graphql + methods: ['POST'] + request_headers: + Authorization: + - 'Bearer xxxx' + request_body: /.*"after":"eyJmaWVsZHMiOlt7IkZpZWxkIjoiVGltZXN0YW1wIiwiVmFsdWUiOiIyMDIzLTA5LTA0VDExOjE5OjM3LjgwMTU0MVoifV19".*/ + responses: + - status_code: 200 + headers: + Content-Type: + - application/json + body: |- + {"data": {"configurationFindings": {"nodes": [{"analyzedAt":"2024-08-15T11:41:17.517926Z","id":"6fe49e83-2f3a-5b62-99de-beae16c7bfae","remediation":null,"resource":{"id":"8a53b2d9-f6c6-59e4-bce0-736a45e9aa3f","name":"annam-vm","nativeType":"Microsoft.Compute/virtualMachines","providerId":"80045425-a0a9-4457-82c2-2c5f47419d83","region":"eastus","subscription":{"cloudProvider":"Azure","externalId":"434f3cbb-30f2-4bc0-8bba-cb080280652b","id":"064ecbb5-19ee-540d-b9f5-99c3a4e2d0db","name":"partner integrations"},"tags":[],"type":"VIRTUAL_MACHINE"},"result":"PASS","rule":{"description":"This rule checks if the Virtual Machine (VM) is stopped (and not deallocated) for at least a week. \nThis rule fails if `code: PowerState/stopped` and the timestamp was more than 7 days ago. \nWhen you are logged in to the operating system of an Azure VM, you can issue a command to shut down the server (or via Azure CLI). This will kick you out of the OS and stop all processes but will maintain the allocated hardware (including the IP addresses currently assigned). If you find the VM in the Azure console, you will see the state listed as `Stopped`. The biggest thing you need to know about this state is that **you are still being charged by the hour for this instance**. \nFor cost optimization and management purposes, it is recommended to deallocate (charges no longer apply) VMs that have been stopped for more than a week.","id":"56c8890d-ad68-4659-9414-fb0ed7258c31","name":"Virtual Machine should not be stopped (allocated) for more than a week","remediationInstructions":"Perform the following command to deallocate the VM via Azure CLI:\n```\naz vm deallocate\n```","shortId":"VirtualMachines-021"},"severity":"LOW","evidence":{"cloudConfigurationLink":"https://learn.microsoft.com/en-us/azure/virtual-machines/states-billing","configurationPath":null,"currentValue":"The VM is stopped(allocated) since 2024-08-15","expectedValue":"The VM should be used or deallocated"}}],"pageInfo": {"hasNextPage": false,"endCursor": "eMJmaWVsZIkZpZWxkIjoiVGltZXN0YW1wIiwiVmFsdWUiOiIyMDIzLTA5LTA0VDExOjE5OjM3LjgwMTU0MVoifV19"}}}} diff --git a/packages/wiz/changelog.yml b/packages/wiz/changelog.yml index 7a066f61144..a8b0176ba94 100644 --- a/packages/wiz/changelog.yml +++ b/packages/wiz/changelog.yml @@ -1,4 +1,9 @@ # newer versions go on top +- version: "1.6.0" + changes: + - description: Add cloud_configuration_finding data stream + type: enhancement + link: https://github.com/elastic/integrations/pull/10790 - version: "1.5.0" changes: - description: Add type field for issue datastream diff --git a/packages/wiz/data_stream/cloud_configuration_finding/_dev/test/pipeline/test-cloud-configuration-finding.log b/packages/wiz/data_stream/cloud_configuration_finding/_dev/test/pipeline/test-cloud-configuration-finding.log new file mode 100644 index 00000000000..24e72b8acac --- /dev/null +++ b/packages/wiz/data_stream/cloud_configuration_finding/_dev/test/pipeline/test-cloud-configuration-finding.log @@ -0,0 +1,4 @@ +{"id":"bdeba988-f41b-55e6-9b99-96b8d3dc67d4","targetExternalId":"k8s/pod/da99fd668e64c2def251b1d48b7b69ad3129638787a0f9144a993fe30fd4554f/default/cluster-autoscaler-azure-cluster-autoscaler-8bc677d64-z2qfx","targetObjectProviderUniqueId":"cd971d74-92db-495c-8244-82da9a988fd0","firstSeenAt":"2023-06-12T11:38:07.900129Z","analyzedAt":"2023-06-12T11:38:07.900129Z","severity":"LOW","result":"FAIL","status":"OPEN","remediation":"Follow the step below to ensure that each [Pod](https://kubernetes.io/docs/concepts/workloads/pods) should runs containers with allowed additional capabilities: \r\n* The following capabilities are not allowed : {{removeUnnecessaryCapabilities}} . \r\n* `securityContext.capabilities.drop` key is set to `ALL`. \r\n","resource":{"id":"0e814bb7-29e8-5c15-be9c-8da42c67ee99","providerId":"provider-id-0e814bb7-29e8-5c15-be9c-8da42c67ee99","name":"cluster-autoscaler-azure-cluster-autoscaler-8bc677d64-z2qfx","nativeType":"Pod","type":"POD","region":null,"subscription":{"id":"a3a3cc43-1dfd-50f1-882e-692840d4a891","name":"Wiz - DEV Outpost","externalId":"cfd132be-3bc7-4f86-8efd-ed53ae498fec","cloudProvider":"Azure"},"projects":null,"tags":[{"key":"pod-template-hash","value":"8bc677d64"},{"key":"app.kubernetes.io/name","value":"azure-cluster-autoscaler"},{"key":"app.kubernetes.io/instance","value":"cluster-autoscaler"}]},"rule":{"id":"73553de7-f2ad-4ffb-b425-c69815033530","shortId":"Pod-32","graphId":"99ffeef7-75df-5c88-9265-5ab50ffbc2b9","name":"Pod should run containers with authorized additional capabilities (PSS Restricted)","description":"This rule is part of the Kubernetes [Pod Security Standards (PSS) restricted policies](https://kubernetes.io/docs/concepts/security/pod-security-standards/#restricted). \nThis rule checks whether the pod is running containers with authorized additional capabilities. \nThis rule fails if the `securityContext.capabilities.add` contains any capability beyond `NET_BIND_SERVICE` and if `securityContext.capabilities.drop` is not set to `ALL`. \nBy default, if the `securityContext.capabilities.add` key is not set, the pod will not run with additional capabilities, and the rule will pass. \nLinux capabilities allow granting certain privileges to a container without granting any unnecessary ones intended for the root user.","remediationInstructions":"Follow the step below to ensure that each [Pod](https://kubernetes.io/docs/concepts/workloads/pods) should runs containers with allowed additional capabilities: \r\n* The following capabilities are not allowed : {{removeUnnecessaryCapabilities}} . \r\n* `securityContext.capabilities.drop` key is set to `ALL`. \r\n","functionAsControl":false},"securitySubCategories":[{"id":"wsct-id-5206","title":"Container Security","category":{"id":"wct-id-423","name":"9 Container Security","framework":{"id":"wf-id-1","name":"Wiz"}}},{"id":"wsct-id-8176","title":"5.1 Containers should not run with additional capabilities","category":{"id":"wct-id-1295","name":"5 Capabilities","framework":{"id":"wf-id-57","name":"Kubernetes Pod Security Standards (Restricted)"}}},{"id":"wsct-id-8344","title":"Cluster misconfiguration","category":{"id":"wct-id-1169","name":"2 Container & Kubernetes Security","framework":{"id":"wf-id-53","name":"Wiz Detailed"}}}]} +{"analyzedAt":"2024-08-07T12:55:52.012378Z","id":"1243196d-a365-589a-a8aa-13817c9877b2","remediation":null,"resource":{"id":"f0f4163d-cbd7-517c-ba9e-f96bb90ab5ea","name":"Root user","nativeType":"rootUser","providerId":"arn:aws:iam::998231069301:root","region":null,"cloudPlatform":"EKS","subscription":{"cloudProvider":"AWS","externalId":"998231069301","id":"94e76baa-85fd-5928-b829-1669a2ca9660","name":"wiz-integrations"},"tags":[],"type":"USER_ACCOUNT"},"result":"PASS","rule":{"description":"This rule checks if the AWS Root Account has access keys. \nThis rule fails if `AccountAccessKeysPresent` is not set to `0`. Note that it does not take into consideration the status of the keys if present. \nThe root account should avoid using access keys. Since the root account has full permissions across the entire account, creating access keys for it increases the chance that they will be compromised. Instead, it is recommended to create IAM users with predefined roles.\n>**Note** \nSee Cloud Configuration Rule `IAM-207` to see if the Root account's access keys are active.","id":"563ed717-4fb6-47fd-929e-9c794e201d0a","name":"Root account access keys should not exist","remediationInstructions":"Perform the following steps, while being signed in as the Root user, in order to delete the root user's access keys via AWS CLI: \n1. Use the following command to list the Root user's access keys. \nCopy the `AccessKeyId` from the output and paste it into the `access-key-id` value in the next step. \n```\naws iam list-access-keys\n```\n2. Use the following command to delete the access key(s). \n```\naws iam delete-access-key /\n --access-key-id \n```\n>**Note** \nOnce an access key is removed, any application using it will not work until a new one is configured for it.","shortId":"IAM-006"},"severity":"MEDIUM"} +{"analyzedAt":"2024-08-15T11:41:17.517926Z","id":"6fe49e83-2f3a-5b62-99de-beae16c7bfae","remediation":null,"resource":{"id":"8a53b2d9-f6c6-59e4-bce0-736a45e9aa3f","name":"annam-vm","nativeType":"Microsoft.Compute/virtualMachines","providerId":"80045425-a0a9-4457-82c2-2c5f47419d83","region":"eastus","subscription":{"cloudProvider":"Azure","externalId":"434f3cbb-30f2-4bc0-8bba-cb080280652b","id":"064ecbb5-19ee-540d-b9f5-99c3a4e2d0db","name":"partner integrations"},"tags":[],"type":"VIRTUAL_MACHINE"},"result":"PASS","rule":{"description":"This rule checks if the Virtual Machine (VM) is stopped (and not deallocated) for at least a week. \nThis rule fails if `code: PowerState/stopped` and the timestamp was more than 7 days ago. \nWhen you are logged in to the operating system of an Azure VM, you can issue a command to shut down the server (or via Azure CLI). This will kick you out of the OS and stop all processes but will maintain the allocated hardware (including the IP addresses currently assigned). If you find the VM in the Azure console, you will see the state listed as `Stopped`. The biggest thing you need to know about this state is that **you are still being charged by the hour for this instance**. \nFor cost optimization and management purposes, it is recommended to deallocate (charges no longer apply) VMs that have been stopped for more than a week.","id":"56c8890d-ad68-4659-9414-fb0ed7258c31","name":"Virtual Machine should not be stopped (allocated) for more than a week","remediationInstructions":"Perform the following command to deallocate the VM via Azure CLI:\n```\naz vm deallocate \\\n\t--ids {{vmId}}\n```","shortId":"VirtualMachines-021"},"severity":"LOW","evidence":{"cloudConfigurationLink":"https://learn.microsoft.com/en-us/azure/virtual-machines/states-billing","configurationPath":null,"currentValue":"The VM is stopped(allocated) since 2024-08-15","expectedValue":"The VM should be used or deallocated"}} +{"analyzedAt":"2024-08-15T11:41:17.517926Z","id":"6fe49e83-2f3a-5b62-99de-beae16c7bfae","remediation":null,"resource":{"id":"8a53b2d9-f6c6-59e4-bce0-736a45e9aa3f","name":"annam-VM","nativeType":"Microsoft.Compute/virtualMachines","providerId":"80045425-a0a9-4457-82c2-2c5f47419d83","region":"eastus","subscription":{"cloudProvider":"Azure","externalId":"434f3cbb-30f2-4bc0-8bba-cb080280652b","id":"064ecbb5-19ee-540d-b9f5-99c3a4e2d0db","name":"partner integrations"},"tags":[],"type":"VIRTUAL_MACHINE"},"result":"IN_PROGRESS","rule":{"description":"This rule checks if the Virtual Machine (VM) is stopped (and not deallocated) for at least a week. \nThis rule fails if `code: PowerState/stopped` and the timestamp was more than 7 days ago. \nWhen you are logged in to the operating system of an Azure VM, you can issue a command to shut down the server (or via Azure CLI). This will kick you out of the OS and stop all processes but will maintain the allocated hardware (including the IP addresses currently assigned). If you find the VM in the Azure console, you will see the state listed as `Stopped`. The biggest thing you need to know about this state is that **you are still being charged by the hour for this instance**. \nFor cost optimization and management purposes, it is recommended to deallocate (charges no longer apply) VMs that have been stopped for more than a week.","id":"56c8890d-ad68-4659-9414-fb0ed7258c31","name":"Virtual Machine should not be stopped (allocated) for more than a week","remediationInstructions":"Perform the following command to deallocate the VM via Azure CLI:\n```\naz vm deallocate \\\n\t--ids {{vmId}}\n```","shortId":"VirtualMachines-021"},"severity":"LOW"} \ No newline at end of file diff --git a/packages/wiz/data_stream/cloud_configuration_finding/_dev/test/pipeline/test-cloud-configuration-finding.log-expected.json b/packages/wiz/data_stream/cloud_configuration_finding/_dev/test/pipeline/test-cloud-configuration-finding.log-expected.json new file mode 100644 index 00000000000..f7964384bc7 --- /dev/null +++ b/packages/wiz/data_stream/cloud_configuration_finding/_dev/test/pipeline/test-cloud-configuration-finding.log-expected.json @@ -0,0 +1,338 @@ +{ + "expected": [ + { + "@timestamp": "2023-06-12T11:38:07.900Z", + "cloud": { + "account": { + "id": "cfd132be-3bc7-4f86-8efd-ed53ae498fec", + "name": "Wiz - DEV Outpost" + }, + "provider": "azure" + }, + "ecs": { + "version": "8.11.0" + }, + "event": { + "category": [ + "configuration" + ], + "created": "2023-06-12T11:38:07.900Z", + "id": "bdeba988-f41b-55e6-9b99-96b8d3dc67d4", + "kind": "state", + "original": "{\"id\":\"bdeba988-f41b-55e6-9b99-96b8d3dc67d4\",\"targetExternalId\":\"k8s/pod/da99fd668e64c2def251b1d48b7b69ad3129638787a0f9144a993fe30fd4554f/default/cluster-autoscaler-azure-cluster-autoscaler-8bc677d64-z2qfx\",\"targetObjectProviderUniqueId\":\"cd971d74-92db-495c-8244-82da9a988fd0\",\"firstSeenAt\":\"2023-06-12T11:38:07.900129Z\",\"analyzedAt\":\"2023-06-12T11:38:07.900129Z\",\"severity\":\"LOW\",\"result\":\"FAIL\",\"status\":\"OPEN\",\"remediation\":\"Follow the step below to ensure that each [Pod](https://kubernetes.io/docs/concepts/workloads/pods) should runs containers with allowed additional capabilities: \\r\\n* The following capabilities are not allowed : {{removeUnnecessaryCapabilities}} . \\r\\n* `securityContext.capabilities.drop` key is set to `ALL`. \\r\\n\",\"resource\":{\"id\":\"0e814bb7-29e8-5c15-be9c-8da42c67ee99\",\"providerId\":\"provider-id-0e814bb7-29e8-5c15-be9c-8da42c67ee99\",\"name\":\"cluster-autoscaler-azure-cluster-autoscaler-8bc677d64-z2qfx\",\"nativeType\":\"Pod\",\"type\":\"POD\",\"region\":null,\"subscription\":{\"id\":\"a3a3cc43-1dfd-50f1-882e-692840d4a891\",\"name\":\"Wiz - DEV Outpost\",\"externalId\":\"cfd132be-3bc7-4f86-8efd-ed53ae498fec\",\"cloudProvider\":\"Azure\"},\"projects\":null,\"tags\":[{\"key\":\"pod-template-hash\",\"value\":\"8bc677d64\"},{\"key\":\"app.kubernetes.io/name\",\"value\":\"azure-cluster-autoscaler\"},{\"key\":\"app.kubernetes.io/instance\",\"value\":\"cluster-autoscaler\"}]},\"rule\":{\"id\":\"73553de7-f2ad-4ffb-b425-c69815033530\",\"shortId\":\"Pod-32\",\"graphId\":\"99ffeef7-75df-5c88-9265-5ab50ffbc2b9\",\"name\":\"Pod should run containers with authorized additional capabilities (PSS Restricted)\",\"description\":\"This rule is part of the Kubernetes [Pod Security Standards (PSS) restricted policies](https://kubernetes.io/docs/concepts/security/pod-security-standards/#restricted). \\nThis rule checks whether the pod is running containers with authorized additional capabilities. \\nThis rule fails if the `securityContext.capabilities.add` contains any capability beyond `NET_BIND_SERVICE` and if `securityContext.capabilities.drop` is not set to `ALL`. \\nBy default, if the `securityContext.capabilities.add` key is not set, the pod will not run with additional capabilities, and the rule will pass. \\nLinux capabilities allow granting certain privileges to a container without granting any unnecessary ones intended for the root user.\",\"remediationInstructions\":\"Follow the step below to ensure that each [Pod](https://kubernetes.io/docs/concepts/workloads/pods) should runs containers with allowed additional capabilities: \\r\\n* The following capabilities are not allowed : {{removeUnnecessaryCapabilities}} . \\r\\n* `securityContext.capabilities.drop` key is set to `ALL`. \\r\\n\",\"functionAsControl\":false},\"securitySubCategories\":[{\"id\":\"wsct-id-5206\",\"title\":\"Container Security\",\"category\":{\"id\":\"wct-id-423\",\"name\":\"9 Container Security\",\"framework\":{\"id\":\"wf-id-1\",\"name\":\"Wiz\"}}},{\"id\":\"wsct-id-8176\",\"title\":\"5.1 Containers should not run with additional capabilities\",\"category\":{\"id\":\"wct-id-1295\",\"name\":\"5 Capabilities\",\"framework\":{\"id\":\"wf-id-57\",\"name\":\"Kubernetes Pod Security Standards (Restricted)\"}}},{\"id\":\"wsct-id-8344\",\"title\":\"Cluster misconfiguration\",\"category\":{\"id\":\"wct-id-1169\",\"name\":\"2 Container & Kubernetes Security\",\"framework\":{\"id\":\"wf-id-53\",\"name\":\"Wiz Detailed\"}}}]}", + "outcome": "failure", + "type": [ + "info" + ] + }, + "message": "This rule is part of the Kubernetes [Pod Security Standards (PSS) restricted policies](https://kubernetes.io/docs/concepts/security/pod-security-standards/#restricted). \nThis rule checks whether the pod is running containers with authorized additional capabilities. \nThis rule fails if the `securityContext.capabilities.add` contains any capability beyond `NET_BIND_SERVICE` and if `securityContext.capabilities.drop` is not set to `ALL`. \nBy default, if the `securityContext.capabilities.add` key is not set, the pod will not run with additional capabilities, and the rule will pass. \nLinux capabilities allow granting certain privileges to a container without granting any unnecessary ones intended for the root user.", + "observer": { + "vendor": "Wiz" + }, + "resource": { + "id": "provider-id-0e814bb7-29e8-5c15-be9c-8da42c67ee99", + "name": "cluster-autoscaler-azure-cluster-autoscaler-8bc677d64-z2qfx", + "sub_type": "Pod", + "type": "POD" + }, + "result": { + "evaluation": "FAILED" + }, + "rule": { + "description": "This rule is part of the Kubernetes [Pod Security Standards (PSS) restricted policies](https://kubernetes.io/docs/concepts/security/pod-security-standards/#restricted). \nThis rule checks whether the pod is running containers with authorized additional capabilities. \nThis rule fails if the `securityContext.capabilities.add` contains any capability beyond `NET_BIND_SERVICE` and if `securityContext.capabilities.drop` is not set to `ALL`. \nBy default, if the `securityContext.capabilities.add` key is not set, the pod will not run with additional capabilities, and the rule will pass. \nLinux capabilities allow granting certain privileges to a container without granting any unnecessary ones intended for the root user.", + "id": "Pod-32", + "name": "Pod should run containers with authorized additional capabilities (PSS Restricted)", + "remediation": "Follow the step below to ensure that each [Pod](https://kubernetes.io/docs/concepts/workloads/pods) should runs containers with allowed additional capabilities: \r\n* The following capabilities are not allowed : {{removeUnnecessaryCapabilities}} . \r\n* `securityContext.capabilities.drop` key is set to `ALL`. \r\n", + "uuid": "73553de7-f2ad-4ffb-b425-c69815033530" + }, + "tags": [ + "preserve_original_event", + "preserve_duplicate_custom_fields" + ], + "wiz": { + "cloud_configuration_finding": { + "analyzed_at": "2023-06-12T11:38:07.900Z", + "id": "bdeba988-f41b-55e6-9b99-96b8d3dc67d4", + "resource": { + "id": "0e814bb7-29e8-5c15-be9c-8da42c67ee99", + "name": "cluster-autoscaler-azure-cluster-autoscaler-8bc677d64-z2qfx", + "native_type": "Pod", + "provider_id": "provider-id-0e814bb7-29e8-5c15-be9c-8da42c67ee99", + "subscription": { + "cloud_provider": "Azure", + "external_id": "cfd132be-3bc7-4f86-8efd-ed53ae498fec", + "name": "Wiz - DEV Outpost" + }, + "type": "POD" + }, + "result": "FAIL", + "rule": { + "description": "This rule is part of the Kubernetes [Pod Security Standards (PSS) restricted policies](https://kubernetes.io/docs/concepts/security/pod-security-standards/#restricted). \nThis rule checks whether the pod is running containers with authorized additional capabilities. \nThis rule fails if the `securityContext.capabilities.add` contains any capability beyond `NET_BIND_SERVICE` and if `securityContext.capabilities.drop` is not set to `ALL`. \nBy default, if the `securityContext.capabilities.add` key is not set, the pod will not run with additional capabilities, and the rule will pass. \nLinux capabilities allow granting certain privileges to a container without granting any unnecessary ones intended for the root user.", + "id": "73553de7-f2ad-4ffb-b425-c69815033530", + "name": "Pod should run containers with authorized additional capabilities (PSS Restricted)", + "remediation_instructions": "Follow the step below to ensure that each [Pod](https://kubernetes.io/docs/concepts/workloads/pods) should runs containers with allowed additional capabilities: \r\n* The following capabilities are not allowed : {{removeUnnecessaryCapabilities}} . \r\n* `securityContext.capabilities.drop` key is set to `ALL`. \r\n", + "short_id": "Pod-32" + } + } + } + }, + { + "@timestamp": "2024-08-07T12:55:52.012Z", + "cloud": { + "account": { + "id": "998231069301", + "name": "wiz-integrations" + }, + "provider": "aws", + "service": { + "name": "eks" + } + }, + "ecs": { + "version": "8.11.0" + }, + "event": { + "category": [ + "configuration" + ], + "created": "2024-08-07T12:55:52.012Z", + "id": "1243196d-a365-589a-a8aa-13817c9877b2", + "kind": "state", + "original": "{\"analyzedAt\":\"2024-08-07T12:55:52.012378Z\",\"id\":\"1243196d-a365-589a-a8aa-13817c9877b2\",\"remediation\":null,\"resource\":{\"id\":\"f0f4163d-cbd7-517c-ba9e-f96bb90ab5ea\",\"name\":\"Root user\",\"nativeType\":\"rootUser\",\"providerId\":\"arn:aws:iam::998231069301:root\",\"region\":null,\"cloudPlatform\":\"EKS\",\"subscription\":{\"cloudProvider\":\"AWS\",\"externalId\":\"998231069301\",\"id\":\"94e76baa-85fd-5928-b829-1669a2ca9660\",\"name\":\"wiz-integrations\"},\"tags\":[],\"type\":\"USER_ACCOUNT\"},\"result\":\"PASS\",\"rule\":{\"description\":\"This rule checks if the AWS Root Account has access keys. \\nThis rule fails if `AccountAccessKeysPresent` is not set to `0`. Note that it does not take into consideration the status of the keys if present. \\nThe root account should avoid using access keys. Since the root account has full permissions across the entire account, creating access keys for it increases the chance that they will be compromised. Instead, it is recommended to create IAM users with predefined roles.\\n>**Note** \\nSee Cloud Configuration Rule `IAM-207` to see if the Root account's access keys are active.\",\"id\":\"563ed717-4fb6-47fd-929e-9c794e201d0a\",\"name\":\"Root account access keys should not exist\",\"remediationInstructions\":\"Perform the following steps, while being signed in as the Root user, in order to delete the root user's access keys via AWS CLI: \\n1. Use the following command to list the Root user's access keys. \\nCopy the `AccessKeyId` from the output and paste it into the `access-key-id` value in the next step. \\n```\\naws iam list-access-keys\\n```\\n2. Use the following command to delete the access key(s). \\n```\\naws iam delete-access-key /\\n --access-key-id \\n```\\n>**Note** \\nOnce an access key is removed, any application using it will not work until a new one is configured for it.\",\"shortId\":\"IAM-006\"},\"severity\":\"MEDIUM\"}", + "outcome": "success", + "type": [ + "info" + ] + }, + "message": "This rule checks if the AWS Root Account has access keys. \nThis rule fails if `AccountAccessKeysPresent` is not set to `0`. Note that it does not take into consideration the status of the keys if present. \nThe root account should avoid using access keys. Since the root account has full permissions across the entire account, creating access keys for it increases the chance that they will be compromised. Instead, it is recommended to create IAM users with predefined roles.\n>**Note** \nSee Cloud Configuration Rule `IAM-207` to see if the Root account's access keys are active.", + "observer": { + "vendor": "Wiz" + }, + "resource": { + "id": "arn:aws:iam::998231069301:root", + "name": "Root user", + "sub_type": "rootUser", + "type": "USER_ACCOUNT" + }, + "result": { + "evaluation": "PASSED" + }, + "rule": { + "description": "This rule checks if the AWS Root Account has access keys. \nThis rule fails if `AccountAccessKeysPresent` is not set to `0`. Note that it does not take into consideration the status of the keys if present. \nThe root account should avoid using access keys. Since the root account has full permissions across the entire account, creating access keys for it increases the chance that they will be compromised. Instead, it is recommended to create IAM users with predefined roles.\n>**Note** \nSee Cloud Configuration Rule `IAM-207` to see if the Root account's access keys are active.", + "id": "IAM-006", + "name": "Root account access keys should not exist", + "remediation": "Perform the following steps, while being signed in as the Root user, in order to delete the root user's access keys via AWS CLI: \n1. Use the following command to list the Root user's access keys. \nCopy the `AccessKeyId` from the output and paste it into the `access-key-id` value in the next step. \n```\naws iam list-access-keys\n```\n2. Use the following command to delete the access key(s). \n```\naws iam delete-access-key /\n --access-key-id \n```\n>**Note** \nOnce an access key is removed, any application using it will not work until a new one is configured for it.", + "uuid": "563ed717-4fb6-47fd-929e-9c794e201d0a" + }, + "tags": [ + "preserve_original_event", + "preserve_duplicate_custom_fields" + ], + "user": { + "id": "arn:aws:iam::998231069301:root", + "name": "Root user" + }, + "wiz": { + "cloud_configuration_finding": { + "analyzed_at": "2024-08-07T12:55:52.012Z", + "id": "1243196d-a365-589a-a8aa-13817c9877b2", + "resource": { + "cloud_platform": "EKS", + "id": "f0f4163d-cbd7-517c-ba9e-f96bb90ab5ea", + "name": "Root user", + "native_type": "rootUser", + "provider_id": "arn:aws:iam::998231069301:root", + "subscription": { + "cloud_provider": "AWS", + "external_id": "998231069301", + "name": "wiz-integrations" + }, + "type": "USER_ACCOUNT" + }, + "result": "PASS", + "rule": { + "description": "This rule checks if the AWS Root Account has access keys. \nThis rule fails if `AccountAccessKeysPresent` is not set to `0`. Note that it does not take into consideration the status of the keys if present. \nThe root account should avoid using access keys. Since the root account has full permissions across the entire account, creating access keys for it increases the chance that they will be compromised. Instead, it is recommended to create IAM users with predefined roles.\n>**Note** \nSee Cloud Configuration Rule `IAM-207` to see if the Root account's access keys are active.", + "id": "563ed717-4fb6-47fd-929e-9c794e201d0a", + "name": "Root account access keys should not exist", + "remediation_instructions": "Perform the following steps, while being signed in as the Root user, in order to delete the root user's access keys via AWS CLI: \n1. Use the following command to list the Root user's access keys. \nCopy the `AccessKeyId` from the output and paste it into the `access-key-id` value in the next step. \n```\naws iam list-access-keys\n```\n2. Use the following command to delete the access key(s). \n```\naws iam delete-access-key /\n --access-key-id \n```\n>**Note** \nOnce an access key is removed, any application using it will not work until a new one is configured for it.", + "short_id": "IAM-006" + } + } + } + }, + { + "@timestamp": "2024-08-15T11:41:17.517Z", + "cloud": { + "account": { + "id": "434f3cbb-30f2-4bc0-8bba-cb080280652b", + "name": "partner integrations" + }, + "provider": "azure", + "region": "eastus" + }, + "ecs": { + "version": "8.11.0" + }, + "event": { + "category": [ + "configuration" + ], + "created": "2024-08-15T11:41:17.517Z", + "id": "6fe49e83-2f3a-5b62-99de-beae16c7bfae", + "kind": "state", + "original": "{\"analyzedAt\":\"2024-08-15T11:41:17.517926Z\",\"id\":\"6fe49e83-2f3a-5b62-99de-beae16c7bfae\",\"remediation\":null,\"resource\":{\"id\":\"8a53b2d9-f6c6-59e4-bce0-736a45e9aa3f\",\"name\":\"annam-vm\",\"nativeType\":\"Microsoft.Compute/virtualMachines\",\"providerId\":\"80045425-a0a9-4457-82c2-2c5f47419d83\",\"region\":\"eastus\",\"subscription\":{\"cloudProvider\":\"Azure\",\"externalId\":\"434f3cbb-30f2-4bc0-8bba-cb080280652b\",\"id\":\"064ecbb5-19ee-540d-b9f5-99c3a4e2d0db\",\"name\":\"partner integrations\"},\"tags\":[],\"type\":\"VIRTUAL_MACHINE\"},\"result\":\"PASS\",\"rule\":{\"description\":\"This rule checks if the Virtual Machine (VM) is stopped (and not deallocated) for at least a week. \\nThis rule fails if `code: PowerState/stopped` and the timestamp was more than 7 days ago. \\nWhen you are logged in to the operating system of an Azure VM, you can issue a command to shut down the server (or via Azure CLI). This will kick you out of the OS and stop all processes but will maintain the allocated hardware (including the IP addresses currently assigned). If you find the VM in the Azure console, you will see the state listed as `Stopped`. The biggest thing you need to know about this state is that **you are still being charged by the hour for this instance**. \\nFor cost optimization and management purposes, it is recommended to deallocate (charges no longer apply) VMs that have been stopped for more than a week.\",\"id\":\"56c8890d-ad68-4659-9414-fb0ed7258c31\",\"name\":\"Virtual Machine should not be stopped (allocated) for more than a week\",\"remediationInstructions\":\"Perform the following command to deallocate the VM via Azure CLI:\\n```\\naz vm deallocate \\\\\\n\\t--ids {{vmId}}\\n```\",\"shortId\":\"VirtualMachines-021\"},\"severity\":\"LOW\",\"evidence\":{\"cloudConfigurationLink\":\"https://learn.microsoft.com/en-us/azure/virtual-machines/states-billing\",\"configurationPath\":null,\"currentValue\":\"The VM is stopped(allocated) since 2024-08-15\",\"expectedValue\":\"The VM should be used or deallocated\"}}", + "outcome": "success", + "type": [ + "info" + ] + }, + "host": { + "name": "annam-vm" + }, + "message": "This rule checks if the Virtual Machine (VM) is stopped (and not deallocated) for at least a week. \nThis rule fails if `code: PowerState/stopped` and the timestamp was more than 7 days ago. \nWhen you are logged in to the operating system of an Azure VM, you can issue a command to shut down the server (or via Azure CLI). This will kick you out of the OS and stop all processes but will maintain the allocated hardware (including the IP addresses currently assigned). If you find the VM in the Azure console, you will see the state listed as `Stopped`. The biggest thing you need to know about this state is that **you are still being charged by the hour for this instance**. \nFor cost optimization and management purposes, it is recommended to deallocate (charges no longer apply) VMs that have been stopped for more than a week.", + "observer": { + "vendor": "Wiz" + }, + "resource": { + "id": "80045425-a0a9-4457-82c2-2c5f47419d83", + "name": "annam-vm", + "sub_type": "Microsoft.Compute/virtualMachines", + "type": "VIRTUAL_MACHINE" + }, + "result": { + "evaluation": "PASSED", + "evidence": { + "cloud_configuration_link": "https://learn.microsoft.com/en-us/azure/virtual-machines/states-billing", + "current_value": "The VM is stopped(allocated) since 2024-08-15", + "expected_value": "The VM should be used or deallocated" + } + }, + "rule": { + "description": "This rule checks if the Virtual Machine (VM) is stopped (and not deallocated) for at least a week. \nThis rule fails if `code: PowerState/stopped` and the timestamp was more than 7 days ago. \nWhen you are logged in to the operating system of an Azure VM, you can issue a command to shut down the server (or via Azure CLI). This will kick you out of the OS and stop all processes but will maintain the allocated hardware (including the IP addresses currently assigned). If you find the VM in the Azure console, you will see the state listed as `Stopped`. The biggest thing you need to know about this state is that **you are still being charged by the hour for this instance**. \nFor cost optimization and management purposes, it is recommended to deallocate (charges no longer apply) VMs that have been stopped for more than a week.", + "id": "VirtualMachines-021", + "name": "Virtual Machine should not be stopped (allocated) for more than a week", + "reference": "https://learn.microsoft.com/en-us/azure/virtual-machines/states-billing", + "references": "https://learn.microsoft.com/en-us/azure/virtual-machines/states-billing", + "remediation": "Perform the following command to deallocate the VM via Azure CLI:\n```\naz vm deallocate \\\n\t--ids {{vmId}}\n```", + "uuid": "56c8890d-ad68-4659-9414-fb0ed7258c31" + }, + "tags": [ + "preserve_original_event", + "preserve_duplicate_custom_fields" + ], + "wiz": { + "cloud_configuration_finding": { + "analyzed_at": "2024-08-15T11:41:17.517Z", + "evidence": { + "cloud_configuration_link": "https://learn.microsoft.com/en-us/azure/virtual-machines/states-billing", + "current_value": "The VM is stopped(allocated) since 2024-08-15", + "expected_value": "The VM should be used or deallocated" + }, + "id": "6fe49e83-2f3a-5b62-99de-beae16c7bfae", + "resource": { + "id": "8a53b2d9-f6c6-59e4-bce0-736a45e9aa3f", + "name": "annam-vm", + "native_type": "Microsoft.Compute/virtualMachines", + "provider_id": "80045425-a0a9-4457-82c2-2c5f47419d83", + "region": "eastus", + "subscription": { + "cloud_provider": "Azure", + "external_id": "434f3cbb-30f2-4bc0-8bba-cb080280652b", + "name": "partner integrations" + }, + "type": "VIRTUAL_MACHINE" + }, + "result": "PASS", + "rule": { + "description": "This rule checks if the Virtual Machine (VM) is stopped (and not deallocated) for at least a week. \nThis rule fails if `code: PowerState/stopped` and the timestamp was more than 7 days ago. \nWhen you are logged in to the operating system of an Azure VM, you can issue a command to shut down the server (or via Azure CLI). This will kick you out of the OS and stop all processes but will maintain the allocated hardware (including the IP addresses currently assigned). If you find the VM in the Azure console, you will see the state listed as `Stopped`. The biggest thing you need to know about this state is that **you are still being charged by the hour for this instance**. \nFor cost optimization and management purposes, it is recommended to deallocate (charges no longer apply) VMs that have been stopped for more than a week.", + "id": "56c8890d-ad68-4659-9414-fb0ed7258c31", + "name": "Virtual Machine should not be stopped (allocated) for more than a week", + "remediation_instructions": "Perform the following command to deallocate the VM via Azure CLI:\n```\naz vm deallocate \\\n\t--ids {{vmId}}\n```", + "short_id": "VirtualMachines-021" + } + } + } + }, + { + "@timestamp": "2024-08-15T11:41:17.517Z", + "cloud": { + "account": { + "id": "434f3cbb-30f2-4bc0-8bba-cb080280652b", + "name": "partner integrations" + }, + "provider": "azure", + "region": "eastus" + }, + "ecs": { + "version": "8.11.0" + }, + "event": { + "category": [ + "configuration" + ], + "created": "2024-08-15T11:41:17.517Z", + "id": "6fe49e83-2f3a-5b62-99de-beae16c7bfae", + "kind": "state", + "original": "{\"analyzedAt\":\"2024-08-15T11:41:17.517926Z\",\"id\":\"6fe49e83-2f3a-5b62-99de-beae16c7bfae\",\"remediation\":null,\"resource\":{\"id\":\"8a53b2d9-f6c6-59e4-bce0-736a45e9aa3f\",\"name\":\"annam-VM\",\"nativeType\":\"Microsoft.Compute/virtualMachines\",\"providerId\":\"80045425-a0a9-4457-82c2-2c5f47419d83\",\"region\":\"eastus\",\"subscription\":{\"cloudProvider\":\"Azure\",\"externalId\":\"434f3cbb-30f2-4bc0-8bba-cb080280652b\",\"id\":\"064ecbb5-19ee-540d-b9f5-99c3a4e2d0db\",\"name\":\"partner integrations\"},\"tags\":[],\"type\":\"VIRTUAL_MACHINE\"},\"result\":\"IN_PROGRESS\",\"rule\":{\"description\":\"This rule checks if the Virtual Machine (VM) is stopped (and not deallocated) for at least a week. \\nThis rule fails if `code: PowerState/stopped` and the timestamp was more than 7 days ago. \\nWhen you are logged in to the operating system of an Azure VM, you can issue a command to shut down the server (or via Azure CLI). This will kick you out of the OS and stop all processes but will maintain the allocated hardware (including the IP addresses currently assigned). If you find the VM in the Azure console, you will see the state listed as `Stopped`. The biggest thing you need to know about this state is that **you are still being charged by the hour for this instance**. \\nFor cost optimization and management purposes, it is recommended to deallocate (charges no longer apply) VMs that have been stopped for more than a week.\",\"id\":\"56c8890d-ad68-4659-9414-fb0ed7258c31\",\"name\":\"Virtual Machine should not be stopped (allocated) for more than a week\",\"remediationInstructions\":\"Perform the following command to deallocate the VM via Azure CLI:\\n```\\naz vm deallocate \\\\\\n\\t--ids {{vmId}}\\n```\",\"shortId\":\"VirtualMachines-021\"},\"severity\":\"LOW\"}", + "outcome": "unknown", + "type": [ + "info" + ] + }, + "host": { + "name": "annam-vm" + }, + "message": "This rule checks if the Virtual Machine (VM) is stopped (and not deallocated) for at least a week. \nThis rule fails if `code: PowerState/stopped` and the timestamp was more than 7 days ago. \nWhen you are logged in to the operating system of an Azure VM, you can issue a command to shut down the server (or via Azure CLI). This will kick you out of the OS and stop all processes but will maintain the allocated hardware (including the IP addresses currently assigned). If you find the VM in the Azure console, you will see the state listed as `Stopped`. The biggest thing you need to know about this state is that **you are still being charged by the hour for this instance**. \nFor cost optimization and management purposes, it is recommended to deallocate (charges no longer apply) VMs that have been stopped for more than a week.", + "observer": { + "vendor": "Wiz" + }, + "resource": { + "id": "80045425-a0a9-4457-82c2-2c5f47419d83", + "name": "annam-VM", + "sub_type": "Microsoft.Compute/virtualMachines", + "type": "VIRTUAL_MACHINE" + }, + "result": { + "evaluation": "UNKNOWN" + }, + "rule": { + "description": "This rule checks if the Virtual Machine (VM) is stopped (and not deallocated) for at least a week. \nThis rule fails if `code: PowerState/stopped` and the timestamp was more than 7 days ago. \nWhen you are logged in to the operating system of an Azure VM, you can issue a command to shut down the server (or via Azure CLI). This will kick you out of the OS and stop all processes but will maintain the allocated hardware (including the IP addresses currently assigned). If you find the VM in the Azure console, you will see the state listed as `Stopped`. The biggest thing you need to know about this state is that **you are still being charged by the hour for this instance**. \nFor cost optimization and management purposes, it is recommended to deallocate (charges no longer apply) VMs that have been stopped for more than a week.", + "id": "VirtualMachines-021", + "name": "Virtual Machine should not be stopped (allocated) for more than a week", + "remediation": "Perform the following command to deallocate the VM via Azure CLI:\n```\naz vm deallocate \\\n\t--ids {{vmId}}\n```", + "uuid": "56c8890d-ad68-4659-9414-fb0ed7258c31" + }, + "tags": [ + "preserve_original_event", + "preserve_duplicate_custom_fields" + ], + "wiz": { + "cloud_configuration_finding": { + "analyzed_at": "2024-08-15T11:41:17.517Z", + "id": "6fe49e83-2f3a-5b62-99de-beae16c7bfae", + "resource": { + "id": "8a53b2d9-f6c6-59e4-bce0-736a45e9aa3f", + "name": "annam-VM", + "native_type": "Microsoft.Compute/virtualMachines", + "provider_id": "80045425-a0a9-4457-82c2-2c5f47419d83", + "region": "eastus", + "subscription": { + "cloud_provider": "Azure", + "external_id": "434f3cbb-30f2-4bc0-8bba-cb080280652b", + "name": "partner integrations" + }, + "type": "VIRTUAL_MACHINE" + }, + "result": "IN_PROGRESS", + "rule": { + "description": "This rule checks if the Virtual Machine (VM) is stopped (and not deallocated) for at least a week. \nThis rule fails if `code: PowerState/stopped` and the timestamp was more than 7 days ago. \nWhen you are logged in to the operating system of an Azure VM, you can issue a command to shut down the server (or via Azure CLI). This will kick you out of the OS and stop all processes but will maintain the allocated hardware (including the IP addresses currently assigned). If you find the VM in the Azure console, you will see the state listed as `Stopped`. The biggest thing you need to know about this state is that **you are still being charged by the hour for this instance**. \nFor cost optimization and management purposes, it is recommended to deallocate (charges no longer apply) VMs that have been stopped for more than a week.", + "id": "56c8890d-ad68-4659-9414-fb0ed7258c31", + "name": "Virtual Machine should not be stopped (allocated) for more than a week", + "remediation_instructions": "Perform the following command to deallocate the VM via Azure CLI:\n```\naz vm deallocate \\\n\t--ids {{vmId}}\n```", + "short_id": "VirtualMachines-021" + } + } + } + } + ] +} \ No newline at end of file diff --git a/packages/wiz/data_stream/cloud_configuration_finding/_dev/test/pipeline/test-common-config.yml b/packages/wiz/data_stream/cloud_configuration_finding/_dev/test/pipeline/test-common-config.yml new file mode 100644 index 00000000000..be41bb0d476 --- /dev/null +++ b/packages/wiz/data_stream/cloud_configuration_finding/_dev/test/pipeline/test-common-config.yml @@ -0,0 +1,4 @@ +fields: + tags: + - preserve_original_event + - preserve_duplicate_custom_fields diff --git a/packages/wiz/data_stream/cloud_configuration_finding/_dev/test/system/test-default-config.yml b/packages/wiz/data_stream/cloud_configuration_finding/_dev/test/system/test-default-config.yml new file mode 100644 index 00000000000..ef68501c21c --- /dev/null +++ b/packages/wiz/data_stream/cloud_configuration_finding/_dev/test/system/test-default-config.yml @@ -0,0 +1,15 @@ +input: cel +service: wiz-cloud_configuration_finding +vars: + url: http://{{Hostname}}:{{Port}} + client_id: xxxx + client_secret: xxxx + token_url: http://{{Hostname}}:{{Port}}/oauth/token +data_stream: + vars: + interval: 10s + batch_size: 2 + preserve_original_event: true + preserve_duplicate_custom_fields: true +assert: + hit_count: 2 diff --git a/packages/wiz/data_stream/cloud_configuration_finding/agent/stream/cel.yml.hbs b/packages/wiz/data_stream/cloud_configuration_finding/agent/stream/cel.yml.hbs new file mode 100644 index 00000000000..c70685c6df1 --- /dev/null +++ b/packages/wiz/data_stream/cloud_configuration_finding/agent/stream/cel.yml.hbs @@ -0,0 +1,169 @@ +config_version: 2 +interval: {{interval}} +{{#if enable_request_tracer}} +resource.tracer.filename: "../../logs/cel/http-request-trace-*.ndjson" +resource.tracer.maxbackups: 5 +{{/if}} +{{#if proxy_url}} +resource.proxy_url: {{proxy_url}} +{{/if}} +{{#if ssl}} +resource.ssl: {{ssl}} +{{/if}} +{{#if http_client_timeout}} +resource.timeout: {{http_client_timeout}} +{{/if}} +resource.url: {{url}} +auth.oauth2: + client.id: {{client_id}} + client.secret: {{client_secret}} + token_url: {{token_url}} + endpoint_params: + grant_type: client_credentials + audience: wiz-api +redact: + fields: ~ +state: + initial_interval: {{initial_interval}} + want_more: false + batch_size: {{batch_size}} + query: >- + query CloudConfigurationFindingsPage($filterBy: ConfigurationFindingFilters $first: Int $after: String $orderBy: ConfigurationFindingOrder){ + configurationFindings(filterBy: $filterBy first: $first after: $after orderBy: $orderBy) { + nodes { + id + analyzedAt + severity + result + remediation + resource { + id + providerId + name + nativeType + type + region + cloudPlatform + subscription { + id + name + externalId + cloudProvider + } + tags { + key + value + } + } + rule { + id + shortId + name + description + remediationInstructions + } + evidence { + currentValue + expectedValue + configurationPath + cloudConfigurationLink + } + } + pageInfo { + hasNextPage + endCursor + } + } + } +program: | + state.with( + post_request( + state.url.trim_right("/") + "/graphql", + "application/json", + { + "query": state.query, + "variables": { + "first": state.batch_size, + "after": state.?end_cursor.value.orValue(null), + "filterBy": { + "analyzedAt": { + "after": state.want_more ? + state.?cursor.first_timestamp.orValue(null) + : + state.?cursor.last_timestamp.orValue(string(now() - duration(state.initial_interval))) + } + } + } + }.encode_json() + ).do_request().as(resp, resp.StatusCode == 200 ? + bytes(resp.Body).decode_json().as(body, has(body.?data.configurationFindings.nodes) ? + { + "events": body.data.configurationFindings.nodes.map(e, { + "message": e.encode_json(), + }), + "cursor": { + ?"last_timestamp": body.data.configurationFindings.nodes.size() > 0 ? + optional.of(body.data.configurationFindings.nodes.map(e, timestamp(e.analyzedAt)).max().as(last, + has(state.?cursor.last_timestamp) && last < timestamp(state.cursor.last_timestamp) ? + state.cursor.last_timestamp + : + string(last) + )) + : + state.?cursor.last_timestamp, + ?"first_timestamp": !has(body.data) || state.?cursor.first_timestamp.orValue(null) == null ? + optional.of(string(now() - duration(state.initial_interval))) + : body.data.configurationFindings.pageInfo.hasNextPage ? + state.?cursor.first_timestamp + : + state.?cursor.last_timestamp, + }, + "end_cursor": { + ?"value": body.?data.configurationFindings.pageInfo.hasNextPage.orValue(false) ? + body.?data.configurationFindings.pageInfo.endCursor + : + optional.none() + }, + "want_more": body.?data.configurationFindings.pageInfo.hasNextPage.orValue(false), + } + : + { + "events": [], + "want_more": false, + } + ) + : + { + "events": { + "error": { + "code": string(resp.StatusCode), + "id": string(resp.Status), + "message": "POST:"+( + size(resp.Body) != 0 ? + string(resp.Body) + : + string(resp.Status) + ' (' + string(resp.StatusCode) + ')' + ), + }, + }, + "want_more": false, + } + ) + ) +tags: +{{#if preserve_original_event}} + - preserve_original_event +{{/if}} +{{#if preserve_duplicate_custom_fields}} + - preserve_duplicate_custom_fields +{{/if}} +{{#each tags as |tag|}} + - {{tag}} +{{/each}} +{{#contains "forwarded" tags}} +publisher_pipeline.disable_host: true +{{/contains}} +{{#if processors}} +processors: +{{processors}} +{{/if}} diff --git a/packages/wiz/data_stream/cloud_configuration_finding/elasticsearch/ingest_pipeline/default.yml b/packages/wiz/data_stream/cloud_configuration_finding/elasticsearch/ingest_pipeline/default.yml new file mode 100644 index 00000000000..db1c75dfdce --- /dev/null +++ b/packages/wiz/data_stream/cloud_configuration_finding/elasticsearch/ingest_pipeline/default.yml @@ -0,0 +1,397 @@ +--- +description: Pipeline for processing Cloud Configuration Finding logs +processors: + - set: + field: ecs.version + tag: set_ecs_version + value: '8.11.0' + - rename: + field: message + tag: rename_message + target_field: event.original + ignore_missing: true + if: ctx.event?.original == null + description: 'Renames the original `message` field to `event.original` to store a copy of the original message. The `event.original` field is not touched if the document already has one; it may happen when Logstash sends the document.' + - remove: + field: message + tag: remove_message + ignore_missing: true + if: ctx.event?.original != null + description: 'The `message` field is no longer required if the document has an `event.original` field.' + - json: + field: event.original + tag: json_decoding + target_field: json + on_failure: + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - set: + field: observer.vendor + tag: set_observer_vendor + value: 'Wiz' + - rename: + field: json.resource.subscription.cloudProvider + tag: rename_cloudProvider + target_field: wiz.cloud_configuration_finding.resource.subscription.cloud_provider + ignore_missing: true + - lowercase: + field: wiz.cloud_configuration_finding.resource.subscription.cloud_provider + target_field: cloud.provider + tag: set_cloud_provider_lowercase + ignore_missing: true + - rename: + field: json.resource.subscription.externalId + tag: rename_subscription_externalId + target_field: wiz.cloud_configuration_finding.resource.subscription.external_id + ignore_missing: true + - set: + field: cloud.account.id + tag: set_cloud_account_id + copy_from: wiz.cloud_configuration_finding.resource.subscription.external_id + ignore_empty_value: true + - rename: + field: json.resource.subscription.name + tag: rename_subscription_name + target_field: wiz.cloud_configuration_finding.resource.subscription.name + ignore_missing: true + - set: + field: cloud.account.name + tag: set_cloud_account_name + copy_from: wiz.cloud_configuration_finding.resource.subscription.name + ignore_empty_value: true + - rename: + field: json.resource.region + tag: rename_region + target_field: wiz.cloud_configuration_finding.resource.region + ignore_missing: true + - set: + field: cloud.region + tag: set_cloud_region + copy_from: wiz.cloud_configuration_finding.resource.region + ignore_empty_value: true + - rename: + field: json.resource.cloudPlatform + tag: rename_cloud_plarform + target_field: wiz.cloud_configuration_finding.resource.cloud_platform + ignore_missing: true + - lowercase: + field: wiz.cloud_configuration_finding.resource.cloud_platform + target_field: cloud.service.name + tag: set_cloud_service_name_lowercase + ignore_missing: true + - append: + field: event.category + tag: append_event_category + value: configuration + - append: + field: event.type + tag: append_event_type + value: info + - date: + field: json.analyzedAt + target_field: wiz.cloud_configuration_finding.analyzed_at + tag: date_set_analyzedat + formats: + - ISO8601 + if: ctx.json?.analyzedAt != null && ctx.json.analyzedAt != '' + on_failure: + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - set: + field: event.created + tag: set_event_created + copy_from: wiz.cloud_configuration_finding.analyzed_at + ignore_empty_value: true + - rename: + field: json.id + tag: rename_id + target_field: wiz.cloud_configuration_finding.id + ignore_missing: true + - set: + field: event.id + tag: set_event_id + copy_from: wiz.cloud_configuration_finding.id + ignore_empty_value: true + - set: + field: event.kind + value: state + tag: set_event_kind + - rename: + field: json.rule.description + tag: rename_rule_description + target_field: wiz.cloud_configuration_finding.rule.description + ignore_missing: true + - set: + field: message + tag: set_message + copy_from: wiz.cloud_configuration_finding.rule.description + ignore_empty_value: true + - set: + field: rule.description + tag: set_rule_description + copy_from: wiz.cloud_configuration_finding.rule.description + ignore_empty_value: true + - date: + field: json.analyzedAt + tag: date_set_timestamp + formats: + - ISO8601 + if: ctx.json?.analyzedAt != null && ctx.json.analyzedAt != '' + on_failure: + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - rename: + field: json.rule.id + tag: rename_rule_id + target_field: wiz.cloud_configuration_finding.rule.id + ignore_missing: true + - set: + field: rule.uuid + tag: set_rule_uuid + copy_from: wiz.cloud_configuration_finding.rule.id + ignore_empty_value: true + - rename: + field: json.rule.shortId + tag: rename_rule_short_id + target_field: wiz.cloud_configuration_finding.rule.short_id + ignore_missing: true + - set: + field: rule.id + tag: set_rule_id + copy_from: wiz.cloud_configuration_finding.rule.short_id + ignore_empty_value: true + - rename: + field: json.rule.name + tag: rename_rule_name + target_field: wiz.cloud_configuration_finding.rule.name + ignore_missing: true + - set: + field: rule.name + tag: set_rule_name + copy_from: wiz.cloud_configuration_finding.rule.name + ignore_empty_value: true + - rename: + field: json.rule.remediationInstructions + tag: rename_rule_remediation_instructions + target_field: wiz.cloud_configuration_finding.rule.remediation_instructions + ignore_missing: true + - set: + field: rule.remediation + tag: set_rule_remediation + copy_from: wiz.cloud_configuration_finding.rule.remediation_instructions + ignore_empty_value: true + - rename: + field: json.resource.id + tag: rename_resource_id + target_field: wiz.cloud_configuration_finding.resource.id + ignore_missing: true + - rename: + field: json.resource.providerId + tag: rename_resource_providerId + target_field: wiz.cloud_configuration_finding.resource.provider_id + ignore_missing: true + - set: + field: resource.id + tag: set_resource_id + copy_from: wiz.cloud_configuration_finding.resource.provider_id + ignore_empty_value: true + - rename: + field: json.resource.name + tag: rename_resource_name + target_field: wiz.cloud_configuration_finding.resource.name + ignore_missing: true + - set: + field: resource.name + tag: set_resource_name + copy_from: wiz.cloud_configuration_finding.resource.name + ignore_empty_value: true + - rename: + field: json.resource.type + tag: rename_resource_type + target_field: wiz.cloud_configuration_finding.resource.type + ignore_missing: true + - set: + field: resource.type + tag: set_resource_type + copy_from: wiz.cloud_configuration_finding.resource.type + ignore_empty_value: true + - rename: + field: json.resource.nativeType + tag: rename_resource_nativeType + target_field: wiz.cloud_configuration_finding.resource.native_type + ignore_missing: true + - set: + field: resource.sub_type + tag: set_resource_sub_type + copy_from: wiz.cloud_configuration_finding.resource.native_type + ignore_empty_value: true + - set: + field: user.name + tag: set_user_name_if_user_account + copy_from: wiz.cloud_configuration_finding.resource.name + if: ctx?.resource?.type == 'USER_ACCOUNT' + ignore_empty_value: true + - set: + field: user.id + tag: set_user_id_if_user_account + copy_from: wiz.cloud_configuration_finding.resource.provider_id + if: ctx.resource?.type == 'USER_ACCOUNT' + ignore_empty_value: true + - lowercase: + field: wiz.cloud_configuration_finding.resource.name + target_field: host.name + tag: set_host_name_lowercase_if_vm + if: ctx?.resource?.type == 'VIRTUAL_MACHINE' + ignore_missing: true + - rename: + field: json.result + tag: rename_result + target_field: wiz.cloud_configuration_finding.result + ignore_missing: true + - set: + field: result.evaluation + tag: set_result_evaluation_passed + value: 'PASSED' + if: ctx?.wiz?.cloud_configuration_finding?.result == 'PASS' + ignore_empty_value: true + - set: + field: result.evaluation + tag: set_result_evaluation_failed + value: 'FAILED' + if: ctx?.wiz?.cloud_configuration_finding?.result == 'FAIL' + ignore_empty_value: true + - set: + field: result.evaluation + tag: set_result_evaluation_unknown + value: 'UNKNOWN' + if: ctx?.wiz?.cloud_configuration_finding?.result != 'PASS' && ctx?.wiz?.cloud_configuration_finding?.result != 'FAIL' + ignore_empty_value: true + - set: + field: event.outcome + tag: set_event_outcome_success + value: 'success' + if: ctx?.wiz?.cloud_configuration_finding?.result == 'PASS' + ignore_empty_value: true + - set: + field: event.outcome + tag: set_event_outcome_failure + value: 'failure' + if: ctx?.wiz?.cloud_configuration_finding?.result == 'FAIL' + ignore_empty_value: true + - set: + field: event.outcome + tag: set_event_outcome_unknown + value: 'unknown' + if: ctx?.wiz?.cloud_configuration_finding?.result != 'PASS' && ctx?.wiz?.cloud_configuration_finding?.result != 'FAIL' + ignore_empty_value: true + - rename: + field: json.evidence.currentValue + tag: rename_evidence_current_value + target_field: wiz.cloud_configuration_finding.evidence.current_value + ignore_missing: true + - set: + field: result.evidence.current_value + tag: set_result_evidence_current_value + copy_from: wiz.cloud_configuration_finding.evidence.current_value + ignore_empty_value: true + - rename: + field: json.evidence.expectedValue + tag: rename_evidence_expected_value + target_field: wiz.cloud_configuration_finding.evidence.expected_value + ignore_missing: true + - set: + field: result.evidence.expected_value + tag: set_result_evidence_expected_value + copy_from: wiz.cloud_configuration_finding.evidence.expected_value + ignore_empty_value: true + - rename: + field: json.evidence.configurationPath + tag: rename_evidence_configuration_path + target_field: wiz.cloud_configuration_finding.evidence.configuration_path + ignore_missing: true + - set: + field: result.evidence.configuration_path + tag: set_result_evidence_configuration_path + copy_from: wiz.cloud_configuration_finding.evidence.configuration_path + ignore_empty_value: true + - rename: + field: json.evidence.cloudConfigurationLink + tag: rename_evidence_cloud_configuration_link + target_field: wiz.cloud_configuration_finding.evidence.cloud_configuration_link + ignore_missing: true + - set: + field: result.evidence.cloud_configuration_link + tag: set_result_evidence_cloud_configuration_link + copy_from: wiz.cloud_configuration_finding.evidence.cloud_configuration_link + ignore_empty_value: true + - set: + field: rule.reference + tag: set_rule_reference + copy_from: wiz.cloud_configuration_finding.evidence.cloud_configuration_link + ignore_empty_value: true + - set: + field: rule.references + tag: set_rule_references + copy_from: wiz.cloud_configuration_finding.evidence.cloud_configuration_link + ignore_empty_value: true + - remove: + field: json + tag: remove_json + ignore_missing: true + - remove: + field: + - wiz.cloud_configuration_finding.analyzed_at + - wiz.cloud_configuration_finding.resource.subscription.cloud_provider + - wiz.cloud_configuration_finding.resource.subscription.external_id + - wiz.cloud_configuration_finding.resource.subscription.name + - wiz.cloud_configuration_finding.resource.region + - wiz.cloud_configuration_finding.resource.name + - wiz.cloud_configuration_finding.resource.type + - wiz.cloud_configuration_finding.resource.sub_type + - wiz.cloud_configuration_finding.resource.provider_id + - wiz.cloud_configuration_finding.id + - wiz.cloud_configuration_finding.rule.description + - wiz.cloud_configuration_finding.rule.name + - wiz.cloud_configuration_finding.rule.id + - wiz.cloud_configuration_finding.rule.short_id + - wiz.cloud_configuration_finding.rule.remediation_instructions + - wiz.cloud_configuration_finding.evidence.expected_value + - wiz.cloud_configuration_finding.evidence.current_value + - wiz.cloud_configuration_finding.evidence.configuration_path + - wiz.cloud_configuration_finding.evidence.cloud_configuration_link + tag: remove_custom_duplicate_fields + ignore_missing: true + if: ctx.tags == null || !(ctx.tags.contains('preserve_duplicate_custom_fields')) + - script: + description: Drops null/empty values recursively. + tag: script_to_drop_null_values + lang: painless + source: | + boolean drop(Object object) { + if (object == null || object == '') { + return true; + } else if (object instanceof Map) { + ((Map) object).values().removeIf(v -> drop(v)); + return (((Map) object).size() == 0); + } else if (object instanceof List) { + ((List) object).removeIf(v -> drop(v)); + return (((List) object).length == 0); + } + return false; + } + drop(ctx); + - set: + field: event.kind + tag: set_pipeline_error_to_event_kind + value: pipeline_error + if: ctx.error?.message != null +on_failure: + - set: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - set: + field: event.kind + value: pipeline_error diff --git a/packages/wiz/data_stream/cloud_configuration_finding/fields/base-fields.yml b/packages/wiz/data_stream/cloud_configuration_finding/fields/base-fields.yml new file mode 100644 index 00000000000..92b378a4c0f --- /dev/null +++ b/packages/wiz/data_stream/cloud_configuration_finding/fields/base-fields.yml @@ -0,0 +1,20 @@ +- name: data_stream.type + type: constant_keyword + description: Data stream type. +- name: data_stream.dataset + type: constant_keyword + description: Data stream dataset. +- name: data_stream.namespace + type: constant_keyword + description: Data stream namespace. +- name: event.module + type: constant_keyword + description: Event module. + value: wiz +- name: event.dataset + type: constant_keyword + description: Event dataset. + value: wiz.cloud_configuration_finding +- name: '@timestamp' + type: date + description: Event timestamp. diff --git a/packages/wiz/data_stream/cloud_configuration_finding/fields/beats.yml b/packages/wiz/data_stream/cloud_configuration_finding/fields/beats.yml new file mode 100644 index 00000000000..b3701b581cf --- /dev/null +++ b/packages/wiz/data_stream/cloud_configuration_finding/fields/beats.yml @@ -0,0 +1,9 @@ +- name: input.type + type: keyword + description: Type of filebeat input. +- name: log.offset + type: long + description: Log offset. +- name: tags + type: keyword + description: User defined tags. diff --git a/packages/wiz/data_stream/cloud_configuration_finding/fields/fields.yml b/packages/wiz/data_stream/cloud_configuration_finding/fields/fields.yml new file mode 100644 index 00000000000..eea63ef4778 --- /dev/null +++ b/packages/wiz/data_stream/cloud_configuration_finding/fields/fields.yml @@ -0,0 +1,59 @@ +- name: wiz.cloud_configuration_finding + type: group + fields: + - name: analyzed_at + type: date + - name: resource + type: group + fields: + - name: id + type: keyword + - name: provider_id + type: keyword + - name: name + type: keyword + - name: region + type: keyword + - name: type + type: keyword + - name: native_type + type: keyword + - name: cloud_platform + type: keyword + - name: subscription + type: group + fields: + - name: cloud_provider + type: keyword + - name: external_id + type: keyword + - name: name + type: keyword + - name: id + type: keyword + - name: result + type: keyword + - name: evidence + type: group + fields: + - name: current_value + type: text + - name: expected_value + type: text + - name: configuration_path + type: text + - name: cloud_configuration_link + type: text + - name: rule + type: group + fields: + - name: id + type: keyword + - name: short_id + type: keyword + - name: name + type: keyword + - name: description + type: text + - name: remediation_instructions + type: text diff --git a/packages/wiz/data_stream/cloud_configuration_finding/fields/resource.yml b/packages/wiz/data_stream/cloud_configuration_finding/fields/resource.yml new file mode 100644 index 00000000000..c093c299032 --- /dev/null +++ b/packages/wiz/data_stream/cloud_configuration_finding/fields/resource.yml @@ -0,0 +1,11 @@ +- name: resource + type: group + fields: + - name: id + type: keyword + - name: name + type: keyword + - name: type + type: keyword + - name: sub_type + type: keyword diff --git a/packages/wiz/data_stream/cloud_configuration_finding/fields/result.yml b/packages/wiz/data_stream/cloud_configuration_finding/fields/result.yml new file mode 100644 index 00000000000..c465d18bc64 --- /dev/null +++ b/packages/wiz/data_stream/cloud_configuration_finding/fields/result.yml @@ -0,0 +1,16 @@ +- name: result + type: group + fields: + - name: evaluation + type: keyword + - name: evidence + type: group + fields: + - name: current_value + type: text + - name: expected_value + type: text + - name: configuration_path + type: text + - name: cloud_configuration_link + type: text diff --git a/packages/wiz/data_stream/cloud_configuration_finding/fields/rule.yml b/packages/wiz/data_stream/cloud_configuration_finding/fields/rule.yml new file mode 100644 index 00000000000..b9d505b971f --- /dev/null +++ b/packages/wiz/data_stream/cloud_configuration_finding/fields/rule.yml @@ -0,0 +1,17 @@ +- name: rule + type: group + fields: + - name: uuid + type: keyword + - name: id + type: keyword + - name: name + type: keyword + - name: description + type: text + - name: remediation + type: text + - name: references + type: text + - name: reference + type: text diff --git a/packages/wiz/data_stream/cloud_configuration_finding/manifest.yml b/packages/wiz/data_stream/cloud_configuration_finding/manifest.yml new file mode 100644 index 00000000000..8c52e76db10 --- /dev/null +++ b/packages/wiz/data_stream/cloud_configuration_finding/manifest.yml @@ -0,0 +1,81 @@ +title: Collet Cloud Configuration Finding logs from Wiz. +type: logs +streams: + - input: cel + title: Cloud Configuration Finding logs + enabled: false + description: Collect Cloud Configuration Finding logs from Wiz. + template_path: cel.yml.hbs + vars: + - name: initial_interval + type: text + title: Initial Interval + description: How far back to pull the Cloud Configuration Finding logs from Wiz. Supported units for this parameter are h/m/s. + multi: false + required: true + show_user: true + default: 24h + - name: interval + type: text + title: Interval + description: Duration between requests to the Wiz API. Supported units for this parameter are h/m/s. + default: 5m + multi: false + required: true + show_user: true + - name: batch_size + type: integer + title: Batch Size + description: Batch size for the response of the Wiz API. The maximum supported batch size value is 500. + default: 500 + multi: false + required: true + show_user: false + - name: http_client_timeout + type: text + title: HTTP Client Timeout + description: Duration before declaring that the HTTP client connection has timed out. Valid time units are ns, us, ms, s, m, h. + multi: false + required: true + show_user: false + default: 30s + - name: enable_request_tracer + type: bool + title: Enable request tracing + multi: false + required: false + show_user: false + description: The request tracer logs requests and responses to the agent's local file-system for debugging configurations. Enabling this request tracing compromises security and should only be used for debugging. See [documentation](https://www.elastic.co/guide/en/beats/filebeat/current/filebeat-input-httpjson.html#_request_tracer_filename) for details. + - name: tags + type: text + title: Tags + multi: true + required: true + show_user: false + default: + - forwarded + - wiz-cloud_configuration_finding + - name: preserve_original_event + required: true + show_user: true + title: Preserve original event + description: Preserves a raw copy of the original event, added to the field `event.original`. + type: bool + multi: false + default: false + - name: preserve_duplicate_custom_fields + required: true + show_user: false + title: Preserve duplicate custom fields + description: Preserve wiz.cloud_configuration_finding fields that were copied to Elastic Common Schema (ECS) fields. + type: bool + multi: false + default: false + - name: processors + type: yaml + title: Processors + multi: false + required: false + show_user: false + description: >- + Processors are used to reduce the number of fields in the exported event or to enhance the event with metadata. This executes in the agent before the logs are parsed. See [Processors](https://www.elastic.co/guide/en/beats/filebeat/current/filtering-and-enhancing-data.html) for details. diff --git a/packages/wiz/data_stream/cloud_configuration_finding/sample_event.json b/packages/wiz/data_stream/cloud_configuration_finding/sample_event.json new file mode 100644 index 00000000000..3ae1ac272cb --- /dev/null +++ b/packages/wiz/data_stream/cloud_configuration_finding/sample_event.json @@ -0,0 +1,76 @@ +{ + "@timestamp": "2023-06-12T11:38:07.900Z", + "cloud": { + "account": { + "id": "cfd132be-3bc7-4f86-8efd-ed53ae498fec", + "name": "Wiz - DEV Outpost" + }, + "provider": "azure" + }, + "ecs": { + "version": "8.11.0" + }, + "event": { + "category": [ + "configuration" + ], + "created": "2023-06-12T11:38:07.900Z", + "id": "bdeba988-f41b-55e6-9b99-96b8d3dc67d4", + "kind": "state", + "original": "{\"id\":\"bdeba988-f41b-55e6-9b99-96b8d3dc67d4\",\"targetExternalId\":\"k8s/pod/da99fd668e64c2def251b1d48b7b69ad3129638787a0f9144a993fe30fd4554f/default/cluster-autoscaler-azure-cluster-autoscaler-8bc677d64-z2qfx\",\"targetObjectProviderUniqueId\":\"cd971d74-92db-495c-8244-82da9a988fd0\",\"firstSeenAt\":\"2023-06-12T11:38:07.900129Z\",\"analyzedAt\":\"2023-06-12T11:38:07.900129Z\",\"severity\":\"LOW\",\"result\":\"FAIL\",\"status\":\"OPEN\",\"remediation\":\"Follow the step below to ensure that each [Pod](https://kubernetes.io/docs/concepts/workloads/pods) should runs containers with allowed additional capabilities: \\r\\n* The following capabilities are not allowed : {{removeUnnecessaryCapabilities}} . \\r\\n* `securityContext.capabilities.drop` key is set to `ALL`. \\r\\n\",\"resource\":{\"id\":\"0e814bb7-29e8-5c15-be9c-8da42c67ee99\",\"providerId\":\"provider-id-0e814bb7-29e8-5c15-be9c-8da42c67ee99\",\"name\":\"cluster-autoscaler-azure-cluster-autoscaler-8bc677d64-z2qfx\",\"nativeType\":\"Pod\",\"type\":\"POD\",\"region\":null,\"subscription\":{\"id\":\"a3a3cc43-1dfd-50f1-882e-692840d4a891\",\"name\":\"Wiz - DEV Outpost\",\"externalId\":\"cfd132be-3bc7-4f86-8efd-ed53ae498fec\",\"cloudProvider\":\"Azure\"},\"projects\":null,\"tags\":[{\"key\":\"pod-template-hash\",\"value\":\"8bc677d64\"},{\"key\":\"app.kubernetes.io/name\",\"value\":\"azure-cluster-autoscaler\"},{\"key\":\"app.kubernetes.io/instance\",\"value\":\"cluster-autoscaler\"}]},\"rule\":{\"id\":\"73553de7-f2ad-4ffb-b425-c69815033530\",\"shortId\":\"Pod-32\",\"graphId\":\"99ffeef7-75df-5c88-9265-5ab50ffbc2b9\",\"name\":\"Pod should run containers with authorized additional capabilities (PSS Restricted)\",\"description\":\"This rule is part of the Kubernetes [Pod Security Standards (PSS) restricted policies](https://kubernetes.io/docs/concepts/security/pod-security-standards/#restricted). \\nThis rule checks whether the pod is running containers with authorized additional capabilities. \\nThis rule fails if the `securityContext.capabilities.add` contains any capability beyond `NET_BIND_SERVICE` and if `securityContext.capabilities.drop` is not set to `ALL`. \\nBy default, if the `securityContext.capabilities.add` key is not set, the pod will not run with additional capabilities, and the rule will pass. \\nLinux capabilities allow granting certain privileges to a container without granting any unnecessary ones intended for the root user.\",\"remediationInstructions\":\"Follow the step below to ensure that each [Pod](https://kubernetes.io/docs/concepts/workloads/pods) should runs containers with allowed additional capabilities: \\r\\n* The following capabilities are not allowed : {{removeUnnecessaryCapabilities}} . \\r\\n* `securityContext.capabilities.drop` key is set to `ALL`. \\r\\n\",\"functionAsControl\":false},\"securitySubCategories\":[{\"id\":\"wsct-id-5206\",\"title\":\"Container Security\",\"category\":{\"id\":\"wct-id-423\",\"name\":\"9 Container Security\",\"framework\":{\"id\":\"wf-id-1\",\"name\":\"Wiz\"}}},{\"id\":\"wsct-id-8176\",\"title\":\"5.1 Containers should not run with additional capabilities\",\"category\":{\"id\":\"wct-id-1295\",\"name\":\"5 Capabilities\",\"framework\":{\"id\":\"wf-id-57\",\"name\":\"Kubernetes Pod Security Standards (Restricted)\"}}},{\"id\":\"wsct-id-8344\",\"title\":\"Cluster misconfiguration\",\"category\":{\"id\":\"wct-id-1169\",\"name\":\"2 Container & Kubernetes Security\",\"framework\":{\"id\":\"wf-id-53\",\"name\":\"Wiz Detailed\"}}}]}", + "outcome": "failure", + "type": [ + "info" + ] + }, + "message": "This rule is part of the Kubernetes [Pod Security Standards (PSS) restricted policies](https://kubernetes.io/docs/concepts/security/pod-security-standards/#restricted). \nThis rule checks whether the pod is running containers with authorized additional capabilities. \nThis rule fails if the `securityContext.capabilities.add` contains any capability beyond `NET_BIND_SERVICE` and if `securityContext.capabilities.drop` is not set to `ALL`. \nBy default, if the `securityContext.capabilities.add` key is not set, the pod will not run with additional capabilities, and the rule will pass. \nLinux capabilities allow granting certain privileges to a container without granting any unnecessary ones intended for the root user.", + "observer": { + "vendor": "Wiz" + }, + "resource": { + "id": "provider-id-0e814bb7-29e8-5c15-be9c-8da42c67ee99", + "name": "cluster-autoscaler-azure-cluster-autoscaler-8bc677d64-z2qfx", + "sub_type": "Pod", + "type": "POD" + }, + "result": { + "evaluation": "FAILED" + }, + "rule": { + "description": "This rule is part of the Kubernetes [Pod Security Standards (PSS) restricted policies](https://kubernetes.io/docs/concepts/security/pod-security-standards/#restricted). \nThis rule checks whether the pod is running containers with authorized additional capabilities. \nThis rule fails if the `securityContext.capabilities.add` contains any capability beyond `NET_BIND_SERVICE` and if `securityContext.capabilities.drop` is not set to `ALL`. \nBy default, if the `securityContext.capabilities.add` key is not set, the pod will not run with additional capabilities, and the rule will pass. \nLinux capabilities allow granting certain privileges to a container without granting any unnecessary ones intended for the root user.", + "id": "Pod-32", + "name": "Pod should run containers with authorized additional capabilities (PSS Restricted)", + "remediation": "Follow the step below to ensure that each [Pod](https://kubernetes.io/docs/concepts/workloads/pods) should runs containers with allowed additional capabilities: \r\n* The following capabilities are not allowed : {{removeUnnecessaryCapabilities}} . \r\n* `securityContext.capabilities.drop` key is set to `ALL`. \r\n", + "uuid": "73553de7-f2ad-4ffb-b425-c69815033530" + }, + "tags": [ + "preserve_original_event", + "preserve_duplicate_custom_fields" + ], + "wiz": { + "cloud_configuration_finding": { + "analyzed_at": "2023-06-12T11:38:07.900Z", + "id": "bdeba988-f41b-55e6-9b99-96b8d3dc67d4", + "resource": { + "id": "0e814bb7-29e8-5c15-be9c-8da42c67ee99", + "name": "cluster-autoscaler-azure-cluster-autoscaler-8bc677d64-z2qfx", + "native_type": "Pod", + "provider_id": "provider-id-0e814bb7-29e8-5c15-be9c-8da42c67ee99", + "subscription": { + "cloud_provider": "Azure", + "external_id": "cfd132be-3bc7-4f86-8efd-ed53ae498fec", + "name": "Wiz - DEV Outpost" + }, + "type": "POD" + }, + "result": "FAIL", + "rule": { + "description": "This rule is part of the Kubernetes [Pod Security Standards (PSS) restricted policies](https://kubernetes.io/docs/concepts/security/pod-security-standards/#restricted). \nThis rule checks whether the pod is running containers with authorized additional capabilities. \nThis rule fails if the `securityContext.capabilities.add` contains any capability beyond `NET_BIND_SERVICE` and if `securityContext.capabilities.drop` is not set to `ALL`. \nBy default, if the `securityContext.capabilities.add` key is not set, the pod will not run with additional capabilities, and the rule will pass. \nLinux capabilities allow granting certain privileges to a container without granting any unnecessary ones intended for the root user.", + "id": "73553de7-f2ad-4ffb-b425-c69815033530", + "name": "Pod should run containers with authorized additional capabilities (PSS Restricted)", + "remediation_instructions": "Follow the step below to ensure that each [Pod](https://kubernetes.io/docs/concepts/workloads/pods) should runs containers with allowed additional capabilities: \r\n* The following capabilities are not allowed : {{removeUnnecessaryCapabilities}} . \r\n* `securityContext.capabilities.drop` key is set to `ALL`. \r\n", + "short_id": "Pod-32" + } + } + } +} \ No newline at end of file diff --git a/packages/wiz/docs/README.md b/packages/wiz/docs/README.md index 97da5fcd7eb..0c0a622d48b 100644 --- a/packages/wiz/docs/README.md +++ b/packages/wiz/docs/README.md @@ -1,6 +1,6 @@ # Wiz -Wiz continuously prioritizes critical risks based on a deep cloud analysis across misconfigurations, network exposure, secrets, vulnerabilities, malware, and identities to build a single prioritized view of risk for your cloud. This [Wiz](https://www.wiz.io/) integration enables you to consume and analyze Wiz data within Elastic Security, including issues, vulnerability data and audit events, providing you with visibility and context for your cloud environments within Elastic Security. +Wiz continuously prioritizes critical risks based on a deep cloud analysis across misconfigurations, network exposure, secrets, vulnerabilities, malware, and identities to build a single prioritized view of risk for your cloud. This [Wiz](https://www.wiz.io/) integration enables you to consume and analyze Wiz data within Elastic Security, including issues, vulnerability data, cloud configuration findings and audit events, providing you with visibility and context for your cloud environments within Elastic Security. ## Data streams @@ -48,6 +48,7 @@ This module has been tested against the **Wiz API Version v1**. | Audit | admin:audit | | Issue | read:issues | | Vulnerability | read:vulnerabilities | + | Cloud Configuration Finding | read:cloud_configuration | ### To obtain the Wiz URL 1. Navigate to your user profile and copy the API Endpoint URL. @@ -212,6 +213,146 @@ An example event for `audit` looks as following: | wiz.audit.user_agent | | keyword | +### Cloud Configuration Finding + +This is the `Cloud Configuration Finding` dataset. + +#### Example + +An example event for `cloud_configuration_finding` looks as following: + +```json +{ + "@timestamp": "2023-06-12T11:38:07.900Z", + "cloud": { + "account": { + "id": "cfd132be-3bc7-4f86-8efd-ed53ae498fec", + "name": "Wiz - DEV Outpost" + }, + "provider": "azure" + }, + "ecs": { + "version": "8.11.0" + }, + "event": { + "category": [ + "configuration" + ], + "created": "2023-06-12T11:38:07.900Z", + "id": "bdeba988-f41b-55e6-9b99-96b8d3dc67d4", + "kind": "state", + "original": "{\"id\":\"bdeba988-f41b-55e6-9b99-96b8d3dc67d4\",\"targetExternalId\":\"k8s/pod/da99fd668e64c2def251b1d48b7b69ad3129638787a0f9144a993fe30fd4554f/default/cluster-autoscaler-azure-cluster-autoscaler-8bc677d64-z2qfx\",\"targetObjectProviderUniqueId\":\"cd971d74-92db-495c-8244-82da9a988fd0\",\"firstSeenAt\":\"2023-06-12T11:38:07.900129Z\",\"analyzedAt\":\"2023-06-12T11:38:07.900129Z\",\"severity\":\"LOW\",\"result\":\"FAIL\",\"status\":\"OPEN\",\"remediation\":\"Follow the step below to ensure that each [Pod](https://kubernetes.io/docs/concepts/workloads/pods) should runs containers with allowed additional capabilities: \\r\\n* The following capabilities are not allowed : {{removeUnnecessaryCapabilities}} . \\r\\n* `securityContext.capabilities.drop` key is set to `ALL`. \\r\\n\",\"resource\":{\"id\":\"0e814bb7-29e8-5c15-be9c-8da42c67ee99\",\"providerId\":\"provider-id-0e814bb7-29e8-5c15-be9c-8da42c67ee99\",\"name\":\"cluster-autoscaler-azure-cluster-autoscaler-8bc677d64-z2qfx\",\"nativeType\":\"Pod\",\"type\":\"POD\",\"region\":null,\"subscription\":{\"id\":\"a3a3cc43-1dfd-50f1-882e-692840d4a891\",\"name\":\"Wiz - DEV Outpost\",\"externalId\":\"cfd132be-3bc7-4f86-8efd-ed53ae498fec\",\"cloudProvider\":\"Azure\"},\"projects\":null,\"tags\":[{\"key\":\"pod-template-hash\",\"value\":\"8bc677d64\"},{\"key\":\"app.kubernetes.io/name\",\"value\":\"azure-cluster-autoscaler\"},{\"key\":\"app.kubernetes.io/instance\",\"value\":\"cluster-autoscaler\"}]},\"rule\":{\"id\":\"73553de7-f2ad-4ffb-b425-c69815033530\",\"shortId\":\"Pod-32\",\"graphId\":\"99ffeef7-75df-5c88-9265-5ab50ffbc2b9\",\"name\":\"Pod should run containers with authorized additional capabilities (PSS Restricted)\",\"description\":\"This rule is part of the Kubernetes [Pod Security Standards (PSS) restricted policies](https://kubernetes.io/docs/concepts/security/pod-security-standards/#restricted). \\nThis rule checks whether the pod is running containers with authorized additional capabilities. \\nThis rule fails if the `securityContext.capabilities.add` contains any capability beyond `NET_BIND_SERVICE` and if `securityContext.capabilities.drop` is not set to `ALL`. \\nBy default, if the `securityContext.capabilities.add` key is not set, the pod will not run with additional capabilities, and the rule will pass. \\nLinux capabilities allow granting certain privileges to a container without granting any unnecessary ones intended for the root user.\",\"remediationInstructions\":\"Follow the step below to ensure that each [Pod](https://kubernetes.io/docs/concepts/workloads/pods) should runs containers with allowed additional capabilities: \\r\\n* The following capabilities are not allowed : {{removeUnnecessaryCapabilities}} . \\r\\n* `securityContext.capabilities.drop` key is set to `ALL`. \\r\\n\",\"functionAsControl\":false},\"securitySubCategories\":[{\"id\":\"wsct-id-5206\",\"title\":\"Container Security\",\"category\":{\"id\":\"wct-id-423\",\"name\":\"9 Container Security\",\"framework\":{\"id\":\"wf-id-1\",\"name\":\"Wiz\"}}},{\"id\":\"wsct-id-8176\",\"title\":\"5.1 Containers should not run with additional capabilities\",\"category\":{\"id\":\"wct-id-1295\",\"name\":\"5 Capabilities\",\"framework\":{\"id\":\"wf-id-57\",\"name\":\"Kubernetes Pod Security Standards (Restricted)\"}}},{\"id\":\"wsct-id-8344\",\"title\":\"Cluster misconfiguration\",\"category\":{\"id\":\"wct-id-1169\",\"name\":\"2 Container & Kubernetes Security\",\"framework\":{\"id\":\"wf-id-53\",\"name\":\"Wiz Detailed\"}}}]}", + "outcome": "failure", + "type": [ + "info" + ] + }, + "message": "This rule is part of the Kubernetes [Pod Security Standards (PSS) restricted policies](https://kubernetes.io/docs/concepts/security/pod-security-standards/#restricted). \nThis rule checks whether the pod is running containers with authorized additional capabilities. \nThis rule fails if the `securityContext.capabilities.add` contains any capability beyond `NET_BIND_SERVICE` and if `securityContext.capabilities.drop` is not set to `ALL`. \nBy default, if the `securityContext.capabilities.add` key is not set, the pod will not run with additional capabilities, and the rule will pass. \nLinux capabilities allow granting certain privileges to a container without granting any unnecessary ones intended for the root user.", + "observer": { + "vendor": "Wiz" + }, + "resource": { + "id": "provider-id-0e814bb7-29e8-5c15-be9c-8da42c67ee99", + "name": "cluster-autoscaler-azure-cluster-autoscaler-8bc677d64-z2qfx", + "sub_type": "Pod", + "type": "POD" + }, + "result": { + "evaluation": "FAILED" + }, + "rule": { + "description": "This rule is part of the Kubernetes [Pod Security Standards (PSS) restricted policies](https://kubernetes.io/docs/concepts/security/pod-security-standards/#restricted). \nThis rule checks whether the pod is running containers with authorized additional capabilities. \nThis rule fails if the `securityContext.capabilities.add` contains any capability beyond `NET_BIND_SERVICE` and if `securityContext.capabilities.drop` is not set to `ALL`. \nBy default, if the `securityContext.capabilities.add` key is not set, the pod will not run with additional capabilities, and the rule will pass. \nLinux capabilities allow granting certain privileges to a container without granting any unnecessary ones intended for the root user.", + "id": "Pod-32", + "name": "Pod should run containers with authorized additional capabilities (PSS Restricted)", + "remediation": "Follow the step below to ensure that each [Pod](https://kubernetes.io/docs/concepts/workloads/pods) should runs containers with allowed additional capabilities: \r\n* The following capabilities are not allowed : {{removeUnnecessaryCapabilities}} . \r\n* `securityContext.capabilities.drop` key is set to `ALL`. \r\n", + "uuid": "73553de7-f2ad-4ffb-b425-c69815033530" + }, + "tags": [ + "preserve_original_event", + "preserve_duplicate_custom_fields" + ], + "wiz": { + "cloud_configuration_finding": { + "analyzed_at": "2023-06-12T11:38:07.900Z", + "id": "bdeba988-f41b-55e6-9b99-96b8d3dc67d4", + "resource": { + "id": "0e814bb7-29e8-5c15-be9c-8da42c67ee99", + "name": "cluster-autoscaler-azure-cluster-autoscaler-8bc677d64-z2qfx", + "native_type": "Pod", + "provider_id": "provider-id-0e814bb7-29e8-5c15-be9c-8da42c67ee99", + "subscription": { + "cloud_provider": "Azure", + "external_id": "cfd132be-3bc7-4f86-8efd-ed53ae498fec", + "name": "Wiz - DEV Outpost" + }, + "type": "POD" + }, + "result": "FAIL", + "rule": { + "description": "This rule is part of the Kubernetes [Pod Security Standards (PSS) restricted policies](https://kubernetes.io/docs/concepts/security/pod-security-standards/#restricted). \nThis rule checks whether the pod is running containers with authorized additional capabilities. \nThis rule fails if the `securityContext.capabilities.add` contains any capability beyond `NET_BIND_SERVICE` and if `securityContext.capabilities.drop` is not set to `ALL`. \nBy default, if the `securityContext.capabilities.add` key is not set, the pod will not run with additional capabilities, and the rule will pass. \nLinux capabilities allow granting certain privileges to a container without granting any unnecessary ones intended for the root user.", + "id": "73553de7-f2ad-4ffb-b425-c69815033530", + "name": "Pod should run containers with authorized additional capabilities (PSS Restricted)", + "remediation_instructions": "Follow the step below to ensure that each [Pod](https://kubernetes.io/docs/concepts/workloads/pods) should runs containers with allowed additional capabilities: \r\n* The following capabilities are not allowed : {{removeUnnecessaryCapabilities}} . \r\n* `securityContext.capabilities.drop` key is set to `ALL`. \r\n", + "short_id": "Pod-32" + } + } + } +} +``` + +**Exported fields** + +| Field | Description | Type | +|---|---|---| +| @timestamp | Event timestamp. | date | +| data_stream.dataset | Data stream dataset. | constant_keyword | +| data_stream.namespace | Data stream namespace. | constant_keyword | +| data_stream.type | Data stream type. | constant_keyword | +| event.dataset | Event dataset. | constant_keyword | +| event.module | Event module. | constant_keyword | +| input.type | Type of filebeat input. | keyword | +| log.offset | Log offset. | long | +| resource.id | | keyword | +| resource.name | | keyword | +| resource.sub_type | | keyword | +| resource.type | | keyword | +| result.evaluation | | keyword | +| result.evidence.cloud_configuration_link | | text | +| result.evidence.configuration_path | | text | +| result.evidence.current_value | | text | +| result.evidence.expected_value | | text | +| rule.description | | text | +| rule.id | | keyword | +| rule.name | | keyword | +| rule.reference | | text | +| rule.references | | text | +| rule.remediation | | text | +| rule.uuid | | keyword | +| tags | User defined tags. | keyword | +| wiz.cloud_configuration_finding.analyzed_at | | date | +| wiz.cloud_configuration_finding.evidence.cloud_configuration_link | | text | +| wiz.cloud_configuration_finding.evidence.configuration_path | | text | +| wiz.cloud_configuration_finding.evidence.current_value | | text | +| wiz.cloud_configuration_finding.evidence.expected_value | | text | +| wiz.cloud_configuration_finding.id | | keyword | +| wiz.cloud_configuration_finding.resource.cloud_platform | | keyword | +| wiz.cloud_configuration_finding.resource.id | | keyword | +| wiz.cloud_configuration_finding.resource.name | | keyword | +| wiz.cloud_configuration_finding.resource.native_type | | keyword | +| wiz.cloud_configuration_finding.resource.provider_id | | keyword | +| wiz.cloud_configuration_finding.resource.region | | keyword | +| wiz.cloud_configuration_finding.resource.subscription.cloud_provider | | keyword | +| wiz.cloud_configuration_finding.resource.subscription.external_id | | keyword | +| wiz.cloud_configuration_finding.resource.subscription.name | | keyword | +| wiz.cloud_configuration_finding.resource.type | | keyword | +| wiz.cloud_configuration_finding.result | | keyword | +| wiz.cloud_configuration_finding.rule.description | | text | +| wiz.cloud_configuration_finding.rule.id | | keyword | +| wiz.cloud_configuration_finding.rule.name | | keyword | +| wiz.cloud_configuration_finding.rule.remediation_instructions | | text | +| wiz.cloud_configuration_finding.rule.short_id | | keyword | + + ### Issue This is the `Issue` dataset. diff --git a/packages/wiz/img/wiz-cloud_configuration_finding-dashboard.png b/packages/wiz/img/wiz-cloud_configuration_finding-dashboard.png new file mode 100644 index 0000000000000000000000000000000000000000..ca117fe6063ca2f65443131ec27fccc176e1bcd6 GIT binary patch literal 548344 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 z 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%0Aw(=Hn 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%0DGffET^&V?jJdX)w{ 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²S`3*8IbeNw<-Pw?r+f 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�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%0A!dX>pF>R66bWv<;24)gis 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∓Fb;Gfd3i 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%0D1MsHj|&XG*cl{@lllI-0+l`A`Q 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 z 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

>^Mhtfw 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 literal 0 HcmV?d00001 diff --git a/packages/wiz/kibana/dashboard/wiz-726802c0-4007-48b9-bae5-09daa69d4368.json b/packages/wiz/kibana/dashboard/wiz-726802c0-4007-48b9-bae5-09daa69d4368.json new file mode 100644 index 00000000000..3d93a40f417 --- /dev/null +++ b/packages/wiz/kibana/dashboard/wiz-726802c0-4007-48b9-bae5-09daa69d4368.json @@ -0,0 +1,907 @@ +{ + "attributes": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": { + "filter": [], + "query": { + "language": "kuery", + "query": "" + } + } + }, + "optionsJSON": { + "hidePanelTitles": false, + "syncColors": false, + "syncCursor": true, + "syncTooltips": false, + "useMargins": true + }, + "panelsJSON": [ + { + "embeddableConfig": { + "enhancements": {}, + "hidePanelTitles": false, + "savedVis": { + "data": { + "aggs": [], + "searchSource": { + "filter": [], + "query": { + "language": "kuery", + "query": "" + } + } + }, + "description": "", + "id": "", + "params": { + "fontSize": 12, + "markdown": "Navigation\n\n[Wiz Cloud Configuration Finding (This page)](#/dashboard/wiz-726802c0-4007-48b9-bae5-09daa69d4368)\n\n[Wiz Vulnerability](#/dashboard/wiz-927c36f0-6358-11ee-a265-c3569aa0cebf)\n\n[Wiz Issue](#/dashboard/wiz-d8f91a20-6363-11ee-a265-c3569aa0cebf)\n\n[Wiz Audit](#/dashboard/wiz-be3fd3f0-6358-11ee-9db4-21f79f2e6273)\n\n[Integration Page](/app/integrations/detail/wiz/overview)\n\nOverview\n\nThis dashboard shows the Cloud Configuration Findings overview related to the Wiz Integration.\n\nThis dashboard provides general statistics and shows the detection of ingested cloud configuration findings.\n\nIt provides information about findings and assets. It also displays the distribution of findings according to evaluation results and contains details regarding the count of findings over time.", + "openLinksInNewTab": false + }, + "title": "", + "type": "markdown", + "uiState": {} + } + }, + "gridData": { + "h": 23, + "i": "94a743d5-faba-431e-b382-1fc7315b7e3e", + "w": 14, + "x": 0, + "y": 0 + }, + "panelIndex": "94a743d5-faba-431e-b382-1fc7315b7e3e", + "title": "Table of Contents", + "type": "visualization" + }, + { + "embeddableConfig": { + "attributes": { + "description": "", + "references": [ + { + "id": "logs-*", + "name": "indexpattern-datasource-layer-8ff07557-c729-44e8-a680-dde18deb6b15", + "type": "index-pattern" + }, + { + "id": "logs-*", + "name": "d5578bce-ec1a-4e71-b7b2-8dd69b024ffa", + "type": "index-pattern" + }, + { + "id": "logs-*", + "name": "993be04b-915b-4bb0-a147-1528ac280e99", + "type": "index-pattern" + } + ], + "state": { + "adHocDataViews": {}, + "datasourceStates": { + "formBased": { + "layers": { + "8ff07557-c729-44e8-a680-dde18deb6b15": { + "columnOrder": [ + "d5d2b36c-383e-42d2-a349-32e4d0fb2a9d", + "03bb962b-f00f-4b62-8fcd-2bf2d4c09c84", + "e58922b5-6f6c-4962-994e-065d3a3dfefc" + ], + "columns": { + "03bb962b-f00f-4b62-8fcd-2bf2d4c09c84": { + "customLabel": true, + "dataType": "string", + "isBucketed": true, + "label": "Name", + "operationType": "terms", + "params": { + "exclude": [], + "excludeIsRegex": false, + "include": [], + "includeIsRegex": false, + "missingBucket": false, + "orderBy": { + "columnId": "e58922b5-6f6c-4962-994e-065d3a3dfefc", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": false, + "parentFormat": { + "id": "terms" + }, + "secondaryFields": [], + "size": 10 + }, + "scale": "ordinal", + "sourceField": "rule.name" + }, + "d5d2b36c-383e-42d2-a349-32e4d0fb2a9d": { + "customLabel": true, + "dataType": "string", + "isBucketed": true, + "label": "ID", + "operationType": "terms", + "params": { + "exclude": [], + "excludeIsRegex": false, + "include": [], + "includeIsRegex": false, + "missingBucket": false, + "orderBy": { + "columnId": "e58922b5-6f6c-4962-994e-065d3a3dfefc", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": false, + "parentFormat": { + "id": "terms" + }, + "secondaryFields": [], + "size": 10 + }, + "scale": "ordinal", + "sourceField": "rule.id" + }, + "e58922b5-6f6c-4962-994e-065d3a3dfefc": { + "customLabel": true, + "dataType": "number", + "isBucketed": false, + "label": "Count", + "operationType": "count", + "params": { + "emptyAsNull": false + }, + "scale": "ratio", + "sourceField": "___records___" + } + }, + "ignoreGlobalFilters": false, + "incompleteColumns": {}, + "sampling": 1 + } + } + }, + "indexpattern": { + "layers": {} + }, + "textBased": { + "layers": {} + } + }, + "filters": [ + { + "$state": { + "store": "appState" + }, + "meta": { + "alias": null, + "disabled": false, + "field": "data_stream.dataset", + "index": "d5578bce-ec1a-4e71-b7b2-8dd69b024ffa", + "key": "data_stream.dataset", + "negate": false, + "params": { + "query": "wiz.cloud_configuration_finding" + }, + "type": "phrase" + }, + "query": { + "match_phrase": { + "data_stream.dataset": "wiz.cloud_configuration_finding" + } + } + }, + { + "$state": { + "store": "appState" + }, + "meta": { + "alias": null, + "disabled": false, + "field": "result.evaluation", + "index": "993be04b-915b-4bb0-a147-1528ac280e99", + "key": "result.evaluation", + "negate": false, + "params": { + "query": "FAILED" + }, + "type": "phrase" + }, + "query": { + "match_phrase": { + "result.evaluation": "FAILED" + } + } + } + ], + "internalReferences": [], + "query": { + "language": "kuery", + "query": "" + }, + "visualization": { + "columns": [ + { + "columnId": "d5d2b36c-383e-42d2-a349-32e4d0fb2a9d", + "isTransposed": false + }, + { + "columnId": "03bb962b-f00f-4b62-8fcd-2bf2d4c09c84", + "isTransposed": false, + "width": 407.75 + }, + { + "columnId": "e58922b5-6f6c-4962-994e-065d3a3dfefc", + "isTransposed": false + } + ], + "layerId": "8ff07557-c729-44e8-a680-dde18deb6b15", + "layerType": "data" + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsDatatable" + }, + "enhancements": {}, + "hidePanelTitles": false + }, + "gridData": { + "h": 12, + "i": "044ff952-a6d8-4fc2-a49f-8013448a5b2d", + "w": 34, + "x": 14, + "y": 0 + }, + "panelIndex": "044ff952-a6d8-4fc2-a49f-8013448a5b2d", + "title": "Top 10 Cloud Configuration Findings [Logs Wiz]", + "type": "lens" + }, + { + "embeddableConfig": { + "attributes": { + "description": "", + "references": [ + { + "id": "logs-*", + "name": "indexpattern-datasource-layer-0d257928-266c-4ccd-8810-bf6605fc84aa", + "type": "index-pattern" + } + ], + "state": { + "adHocDataViews": {}, + "datasourceStates": { + "formBased": { + "currentIndexPatternId": "logs-*", + "layers": { + "0d257928-266c-4ccd-8810-bf6605fc84aa": { + "columnOrder": [ + "1ef3121f-8913-43b1-8e27-fee4a9634085", + "c8d1ce7a-94a8-4c18-aa1e-73750fb11057", + "4647b17f-6e03-4e46-bfc4-32cd50852d2e", + "771f27cd-7061-4c0c-8961-a45321ba1bb5" + ], + "columns": { + "1ef3121f-8913-43b1-8e27-fee4a9634085": { + "customLabel": true, + "dataType": "string", + "isBucketed": true, + "label": "Resource ID", + "operationType": "terms", + "params": { + "exclude": [], + "excludeIsRegex": false, + "include": [], + "includeIsRegex": false, + "missingBucket": false, + "orderBy": { + "columnId": "771f27cd-7061-4c0c-8961-a45321ba1bb5", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": false, + "parentFormat": { + "id": "terms" + }, + "secondaryFields": [], + "size": 10 + }, + "scale": "ordinal", + "sourceField": "resource.id" + }, + "4647b17f-6e03-4e46-bfc4-32cd50852d2e": { + "customLabel": true, + "dataType": "string", + "isBucketed": true, + "label": "Resource Type", + "operationType": "terms", + "params": { + "exclude": [], + "excludeIsRegex": false, + "include": [], + "includeIsRegex": false, + "missingBucket": false, + "orderBy": { + "columnId": "771f27cd-7061-4c0c-8961-a45321ba1bb5", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": true, + "parentFormat": { + "id": "terms" + }, + "size": 3 + }, + "scale": "ordinal", + "sourceField": "resource.sub_type" + }, + "771f27cd-7061-4c0c-8961-a45321ba1bb5": { + "customLabel": true, + "dataType": "number", + "isBucketed": false, + "label": "Count", + "operationType": "count", + "params": { + "emptyAsNull": false + }, + "scale": "ratio", + "sourceField": "___records___" + }, + "c8d1ce7a-94a8-4c18-aa1e-73750fb11057": { + "customLabel": true, + "dataType": "string", + "isBucketed": true, + "label": "Resource Name", + "operationType": "terms", + "params": { + "exclude": [], + "excludeIsRegex": false, + "include": [], + "includeIsRegex": false, + "missingBucket": false, + "orderBy": { + "columnId": "771f27cd-7061-4c0c-8961-a45321ba1bb5", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": false, + "parentFormat": { + "id": "terms" + }, + "secondaryFields": [], + "size": 10 + }, + "scale": "ordinal", + "sourceField": "resource.name" + } + }, + "ignoreGlobalFilters": false, + "incompleteColumns": {}, + "indexPatternId": "logs-*", + "sampling": 1 + } + } + }, + "indexpattern": { + "layers": {} + }, + "textBased": { + "layers": {} + } + }, + "filters": [ + { + "$state": { + "store": "appState" + }, + "meta": { + "alias": null, + "disabled": false, + "field": "data_stream.dataset", + "index": "29515003-dffb-45b7-b127-e0cbcaa5ef40", + "key": "data_stream.dataset", + "negate": false, + "params": { + "query": "wiz.cloud_configuration_finding" + }, + "type": "phrase" + }, + "query": { + "match_phrase": { + "data_stream.dataset": "wiz.cloud_configuration_finding" + } + } + }, + { + "$state": { + "store": "appState" + }, + "meta": { + "alias": null, + "disabled": false, + "field": "result.evaluation", + "index": "a2545123-be3e-4cdd-bdea-be45d26270cc", + "key": "result.evaluation", + "negate": false, + "params": { + "query": "FAILED" + }, + "type": "phrase" + }, + "query": { + "match_phrase": { + "result.evaluation": "FAILED" + } + } + } + ], + "internalReferences": [], + "query": { + "language": "kuery", + "query": "" + }, + "visualization": { + "columns": [ + { + "columnId": "1ef3121f-8913-43b1-8e27-fee4a9634085", + "isTransposed": false + }, + { + "columnId": "c8d1ce7a-94a8-4c18-aa1e-73750fb11057", + "isTransposed": false + }, + { + "columnId": "771f27cd-7061-4c0c-8961-a45321ba1bb5", + "isTransposed": false + }, + { + "columnId": "4647b17f-6e03-4e46-bfc4-32cd50852d2e", + "isMetric": false, + "isTransposed": false + } + ], + "layerId": "0d257928-266c-4ccd-8810-bf6605fc84aa", + "layerType": "data" + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsDatatable" + }, + "enhancements": {}, + "hidePanelTitles": false + }, + "gridData": { + "h": 11, + "i": "42f119fc-4f83-48fa-964d-2ba1255bdd3b", + "w": 34, + "x": 14, + "y": 12 + }, + "panelIndex": "42f119fc-4f83-48fa-964d-2ba1255bdd3b", + "title": "Top 10 resources with Cloud Configuration Findings [Logs Wiz]", + "type": "lens" + }, + { + "embeddableConfig": { + "attributes": { + "description": "", + "references": [ + { + "id": "logs-*", + "name": "indexpattern-datasource-layer-b4711c80-3ee1-4b9c-bb16-1bd36f38ee4a", + "type": "index-pattern" + }, + { + "id": "logs-*", + "name": "157110fc-0ae9-411f-ab5b-3c0a0e5a4951", + "type": "index-pattern" + }, + { + "id": "logs-*", + "name": "b88673ee-a440-499f-a1e3-f1677aece4a2", + "type": "index-pattern" + } + ], + "state": { + "adHocDataViews": {}, + "datasourceStates": { + "formBased": { + "layers": { + "b4711c80-3ee1-4b9c-bb16-1bd36f38ee4a": { + "columnOrder": [ + "9f796f7c-2b91-4c20-97a2-9b0e6e3a9c62", + "480eceb0-2157-4a5e-a38c-257f35ef7e3d", + "90be0c4f-6e2a-4156-b839-d03501ad7d69" + ], + "columns": { + "480eceb0-2157-4a5e-a38c-257f35ef7e3d": { + "customLabel": true, + "dataType": "date", + "isBucketed": true, + "label": "Timestamp", + "operationType": "date_histogram", + "params": { + "dropPartials": false, + "includeEmptyRows": true, + "interval": "auto" + }, + "scale": "interval", + "sourceField": "@timestamp" + }, + "90be0c4f-6e2a-4156-b839-d03501ad7d69": { + "customLabel": true, + "dataType": "number", + "isBucketed": false, + "label": "Count", + "operationType": "count", + "params": { + "emptyAsNull": false + }, + "scale": "ratio", + "sourceField": "event.id" + }, + "9f796f7c-2b91-4c20-97a2-9b0e6e3a9c62": { + "customLabel": true, + "dataType": "string", + "isBucketed": true, + "label": "Top 10 Failed rules", + "operationType": "terms", + "params": { + "exclude": [], + "excludeIsRegex": false, + "include": [], + "includeIsRegex": false, + "missingBucket": false, + "orderBy": { + "columnId": "90be0c4f-6e2a-4156-b839-d03501ad7d69", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": true, + "parentFormat": { + "id": "terms" + }, + "secondaryFields": [], + "size": 10 + }, + "scale": "ordinal", + "sourceField": "rule.name" + } + }, + "ignoreGlobalFilters": false, + "incompleteColumns": {}, + "sampling": 1 + } + } + }, + "indexpattern": { + "layers": {} + }, + "textBased": { + "layers": {} + } + }, + "filters": [ + { + "$state": { + "store": "appState" + }, + "meta": { + "alias": null, + "disabled": false, + "field": "data_stream.dataset", + "index": "157110fc-0ae9-411f-ab5b-3c0a0e5a4951", + "key": "data_stream.dataset", + "negate": false, + "params": { + "query": "wiz.cloud_configuration_finding" + }, + "type": "phrase" + }, + "query": { + "match_phrase": { + "data_stream.dataset": "wiz.cloud_configuration_finding" + } + } + }, + { + "$state": { + "store": "appState" + }, + "meta": { + "alias": null, + "disabled": false, + "field": "result.evaluation", + "index": "b88673ee-a440-499f-a1e3-f1677aece4a2", + "key": "result.evaluation", + "negate": false, + "params": { + "query": "FAILED" + }, + "type": "phrase" + }, + "query": { + "match_phrase": { + "result.evaluation": "FAILED" + } + } + } + ], + "internalReferences": [], + "query": { + "language": "kuery", + "query": "" + }, + "visualization": { + "axisTitlesVisibilitySettings": { + "x": true, + "yLeft": true, + "yRight": true + }, + "fittingFunction": "None", + "gridlinesVisibilitySettings": { + "x": true, + "yLeft": true, + "yRight": true + }, + "labelsOrientation": { + "x": 0, + "yLeft": 0, + "yRight": 0 + }, + "layers": [ + { + "accessors": [ + "90be0c4f-6e2a-4156-b839-d03501ad7d69" + ], + "layerId": "b4711c80-3ee1-4b9c-bb16-1bd36f38ee4a", + "layerType": "data", + "seriesType": "line", + "splitAccessor": "9f796f7c-2b91-4c20-97a2-9b0e6e3a9c62", + "xAccessor": "480eceb0-2157-4a5e-a38c-257f35ef7e3d" + } + ], + "legend": { + "isVisible": true, + "legendSize": "large", + "position": "right", + "shouldTruncate": false, + "showSingleSeries": true + }, + "preferredSeriesType": "line", + "tickLabelsVisibilitySettings": { + "x": true, + "yLeft": true, + "yRight": true + }, + "valueLabels": "hide" + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsXY" + }, + "enhancements": {}, + "hidePanelTitles": false + }, + "gridData": { + "h": 15, + "i": "083792d4-85c6-436b-ab41-60c74996826c", + "w": 24, + "x": 24, + "y": 23 + }, + "panelIndex": "083792d4-85c6-436b-ab41-60c74996826c", + "title": "Findings over Time [Logs Wiz]", + "type": "lens" + }, + { + "embeddableConfig": { + "attributes": { + "description": "", + "references": [ + { + "id": "logs-*", + "name": "indexpattern-datasource-layer-09219279-ad53-4df1-b814-895c09802b98", + "type": "index-pattern" + }, + { + "id": "logs-*", + "name": "9582928b-35f7-49a2-90cd-aab0dc84b52a", + "type": "index-pattern" + } + ], + "state": { + "adHocDataViews": {}, + "datasourceStates": { + "formBased": { + "layers": { + "09219279-ad53-4df1-b814-895c09802b98": { + "columnOrder": [ + "b82ad425-99a4-4121-b7bb-40db21bb254e", + "26015d52-9d21-4d9a-b3af-ae34e4e24e29" + ], + "columns": { + "26015d52-9d21-4d9a-b3af-ae34e4e24e29": { + "customLabel": true, + "dataType": "number", + "isBucketed": false, + "label": "Wiz Cloud Configuration Finding ID", + "operationType": "count", + "params": { + "emptyAsNull": false + }, + "scale": "ratio", + "sourceField": "event.id" + }, + "b82ad425-99a4-4121-b7bb-40db21bb254e": { + "customLabel": true, + "dataType": "string", + "isBucketed": true, + "label": "Top 5 Wiz Cloud Configuration Finding Result Evaluation", + "operationType": "terms", + "params": { + "exclude": [], + "excludeIsRegex": false, + "include": [], + "includeIsRegex": false, + "missingBucket": false, + "orderBy": { + "columnId": "26015d52-9d21-4d9a-b3af-ae34e4e24e29", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": true, + "parentFormat": { + "id": "terms" + }, + "secondaryFields": [], + "size": 5 + }, + "scale": "ordinal", + "sourceField": "result.evaluation" + } + }, + "ignoreGlobalFilters": false, + "incompleteColumns": {}, + "sampling": 1 + } + } + }, + "indexpattern": { + "layers": {} + }, + "textBased": { + "layers": {} + } + }, + "filters": [ + { + "$state": { + "store": "appState" + }, + "meta": { + "alias": null, + "disabled": false, + "field": "data_stream.dataset", + "index": "9582928b-35f7-49a2-90cd-aab0dc84b52a", + "key": "data_stream.dataset", + "negate": false, + "params": { + "query": "wiz.cloud_configuration_finding" + }, + "type": "phrase" + }, + "query": { + "match_phrase": { + "data_stream.dataset": "wiz.cloud_configuration_finding" + } + } + } + ], + "internalReferences": [], + "query": { + "language": "kuery", + "query": "" + }, + "visualization": { + "layers": [ + { + "categoryDisplay": "default", + "layerId": "09219279-ad53-4df1-b814-895c09802b98", + "layerType": "data", + "legendDisplay": "show", + "legendSize": "large", + "metrics": [ + "26015d52-9d21-4d9a-b3af-ae34e4e24e29" + ], + "nestedLegend": false, + "numberDisplay": "percent", + "primaryGroups": [ + "b82ad425-99a4-4121-b7bb-40db21bb254e" + ], + "truncateLegend": false + } + ], + "shape": "pie" + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsPie" + }, + "enhancements": {}, + "hidePanelTitles": false + }, + "gridData": { + "h": 15, + "i": "e684aa2c-8963-4cae-a04e-74b00b662a33", + "w": 24, + "x": 0, + "y": 23 + }, + "panelIndex": "e684aa2c-8963-4cae-a04e-74b00b662a33", + "title": "Vulnerability by Status [Logs Wiz]", + "type": "lens" + } + ], + "timeRestore": false, + "title": "[Logs Wiz] Cloud Configuration Finding", + "version": 1 + }, + "coreMigrationVersion": "8.8.0", + "created_at": "2024-08-23T14:46:23.733Z", + "id": "wiz-726802c0-4007-48b9-bae5-09daa69d4368", + "managed": false, + "references": [ + { + "id": "logs-*", + "name": "044ff952-a6d8-4fc2-a49f-8013448a5b2d:indexpattern-datasource-layer-8ff07557-c729-44e8-a680-dde18deb6b15", + "type": "index-pattern" + }, + { + "id": "logs-*", + "name": "044ff952-a6d8-4fc2-a49f-8013448a5b2d:d5578bce-ec1a-4e71-b7b2-8dd69b024ffa", + "type": "index-pattern" + }, + { + "id": "logs-*", + "name": "044ff952-a6d8-4fc2-a49f-8013448a5b2d:993be04b-915b-4bb0-a147-1528ac280e99", + "type": "index-pattern" + }, + { + "id": "logs-*", + "name": "42f119fc-4f83-48fa-964d-2ba1255bdd3b:indexpattern-datasource-layer-0d257928-266c-4ccd-8810-bf6605fc84aa", + "type": "index-pattern" + }, + { + "id": "logs-*", + "name": "083792d4-85c6-436b-ab41-60c74996826c:indexpattern-datasource-layer-b4711c80-3ee1-4b9c-bb16-1bd36f38ee4a", + "type": "index-pattern" + }, + { + "id": "logs-*", + "name": "083792d4-85c6-436b-ab41-60c74996826c:157110fc-0ae9-411f-ab5b-3c0a0e5a4951", + "type": "index-pattern" + }, + { + "id": "logs-*", + "name": "083792d4-85c6-436b-ab41-60c74996826c:b88673ee-a440-499f-a1e3-f1677aece4a2", + "type": "index-pattern" + }, + { + "id": "logs-*", + "name": "e684aa2c-8963-4cae-a04e-74b00b662a33:indexpattern-datasource-layer-09219279-ad53-4df1-b814-895c09802b98", + "type": "index-pattern" + }, + { + "id": "logs-*", + "name": "e684aa2c-8963-4cae-a04e-74b00b662a33:9582928b-35f7-49a2-90cd-aab0dc84b52a", + "type": "index-pattern" + } + ], + "type": "dashboard", + "typeMigrationVersion": "8.9.0" +} \ No newline at end of file diff --git a/packages/wiz/manifest.yml b/packages/wiz/manifest.yml index 7112027f6d0..739c6a2e67d 100644 --- a/packages/wiz/manifest.yml +++ b/packages/wiz/manifest.yml @@ -1,7 +1,7 @@ format_version: 3.0.2 name: wiz title: Wiz -version: "1.5.0" +version: "1.6.0" description: Collect logs from Wiz with Elastic Agent. type: integration categories: From 32fc06feb0223689a23afa0ecf05deab329ccd68 Mon Sep 17 00:00:00 2001 From: Aleksandr Maus Date: Mon, 26 Aug 2024 09:29:44 -0400 Subject: [PATCH 22/33] [cisco_asa] Fix changelog PR number (#10880) --- packages/cisco_asa/changelog.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/cisco_asa/changelog.yml b/packages/cisco_asa/changelog.yml index 19582f312b7..30fdef55a60 100644 --- a/packages/cisco_asa/changelog.yml +++ b/packages/cisco_asa/changelog.yml @@ -3,7 +3,7 @@ changes: - description: Handle "Account has been locked out" reason parsing type: bugfix - link: https://github.com/elastic/integrations/pull/666666 + link: https://github.com/elastic/integrations/pull/10864 - version: "2.36.3" changes: - description: Parse empty user names in message IDs 113005, 716002, 713049 From ddbe733e203839952bdb66aa72452f6958673807 Mon Sep 17 00:00:00 2001 From: Andrew Gizas Date: Tue, 27 Aug 2024 09:59:37 +0300 Subject: [PATCH 23/33] [aws custom logs] Updating file selector field to receive mutline configurations (#10789) * udpating file selector field to be mutliline * udpating cahngelog --- packages/aws_logs/changelog.yml | 5 +++++ .../aws_logs/data_stream/generic/manifest.yml | 15 ++++++++++++++- packages/aws_logs/manifest.yml | 2 +- 3 files changed, 20 insertions(+), 2 deletions(-) diff --git a/packages/aws_logs/changelog.yml b/packages/aws_logs/changelog.yml index 88c182368de..562e3f41583 100644 --- a/packages/aws_logs/changelog.yml +++ b/packages/aws_logs/changelog.yml @@ -1,3 +1,8 @@ +- version: "1.4.0" + changes: + - description: Update file_selectors field to be able to receive multiline configuration + type: enhancement + link: https://github.com/elastic/integrations/pull/10789 - version: "1.3.1" changes: - description: Update max_number_of_messages parameter description diff --git a/packages/aws_logs/data_stream/generic/manifest.yml b/packages/aws_logs/data_stream/generic/manifest.yml index 8072fedc906..f78f0845f2e 100644 --- a/packages/aws_logs/data_stream/generic/manifest.yml +++ b/packages/aws_logs/data_stream/generic/manifest.yml @@ -221,11 +221,24 @@ streams: - name: file_selectors type: yaml title: File Selectors - multi: true + multi: false required: false show_user: false description: > If the SQS queue will have events that correspond to files that this integration shouldn’t process file_selectors can be used to limit the files that are downloaded. This is a list of selectors which are made up of regex and expand_event_list_from_field options. The regex should match the S3 object key in the SQS message, and the optional expand_event_list_from_field is the same as the global setting. If file_selectors is given, then any global expand_event_list_from_field value is ignored in favor of the ones specified in the file_selectors. Regex syntax is the same as the Go language. Files that don’t match one of the regexes won’t be processed. content_type, parsers, include_s3_metadata,max_bytes, buffer_size, and encoding may also be set for each file selector. + default: | + #- regex: /CloudTrail/ + # parsers: + # - multiline: + # pattern: ^ Date: Tue, 27 Aug 2024 10:25:23 +0200 Subject: [PATCH 24/33] Bump updatecli/updatecli-action from 2.65.0 to 2.66.0 (#10884) Bumps [updatecli/updatecli-action](https://github.com/updatecli/updatecli-action) from 2.65.0 to 2.66.0. - [Release notes](https://github.com/updatecli/updatecli-action/releases) - [Commits](https://github.com/updatecli/updatecli-action/compare/a0c478c868a71d3e239a65714de69450aa1ee2c6...d0950ebbe80f4f80c3392b288d6a218fae872f69) --- updated-dependencies: - dependency-name: updatecli/updatecli-action dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/bump-elastic-stack-version.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/bump-elastic-stack-version.yml b/.github/workflows/bump-elastic-stack-version.yml index 2eb1217a55a..778b6f5ce01 100644 --- a/.github/workflows/bump-elastic-stack-version.yml +++ b/.github/workflows/bump-elastic-stack-version.yml @@ -25,7 +25,7 @@ jobs: - uses: actions/checkout@v4 - name: Install Updatecli in the runner - uses: updatecli/updatecli-action@a0c478c868a71d3e239a65714de69450aa1ee2c6 #v2.65.0 + uses: updatecli/updatecli-action@d0950ebbe80f4f80c3392b288d6a218fae872f69 #v2.66.0 - name: Select diff action if: ${{ github.event_name == 'pull_request' }} From db5288a5b00772c1750fb7482d434cf30e7be803 Mon Sep 17 00:00:00 2001 From: Carol Valencia <8355621+krol3@users.noreply.github.com> Date: Tue, 27 Aug 2024 05:57:43 -0300 Subject: [PATCH 25/33] chore: group to keyword (#10713) * chore: group to keyboard Signed-off-by: carolina valencia * chore: update changelog Signed-off-by: carolina valencia * chore: running elastic-package build Signed-off-by: carolina valencia * Update packages/kubernetes/changelog.yml Co-authored-by: Tetiana Kravchenko --------- Signed-off-by: carolina valencia Co-authored-by: carolina valencia Co-authored-by: Tetiana Kravchenko --- packages/kubernetes/changelog.yml | 5 +++++ packages/kubernetes/data_stream/audit_logs/fields/fields.yml | 4 ++-- packages/kubernetes/docs/audit-logs.md | 4 ++-- packages/kubernetes/manifest.yml | 2 +- 4 files changed, 10 insertions(+), 5 deletions(-) diff --git a/packages/kubernetes/changelog.yml b/packages/kubernetes/changelog.yml index 4001212e6a3..9bc5701c68f 100644 --- a/packages/kubernetes/changelog.yml +++ b/packages/kubernetes/changelog.yml @@ -1,4 +1,9 @@ # newer versions go on top +- version: 1.66.3 + changes: + - description: Updating mapping of the field groups to keyword in kubernetes.audit_logs + type: enhancement + link: https://github.com/elastic/integrations/pull/10713 - version: 1.66.2 changes: - description: Fixing missing processor block in kubernetes.audit_logs diff --git a/packages/kubernetes/data_stream/audit_logs/fields/fields.yml b/packages/kubernetes/data_stream/audit_logs/fields/fields.yml index 58cace88bef..7890759a0a5 100644 --- a/packages/kubernetes/data_stream/audit_logs/fields/fields.yml +++ b/packages/kubernetes/data_stream/audit_logs/fields/fields.yml @@ -27,7 +27,7 @@ description: Authenticated user information fields: - name: groups - type: text + type: keyword description: The names of groups this user is a part of - name: username type: keyword @@ -47,7 +47,7 @@ description: Impersonated user information fields: - name: groups - type: text + type: keyword description: The names of groups this user is a part of - name: username type: keyword diff --git a/packages/kubernetes/docs/audit-logs.md b/packages/kubernetes/docs/audit-logs.md index a6b002f644d..9796abb2ac0 100644 --- a/packages/kubernetes/docs/audit-logs.md +++ b/packages/kubernetes/docs/audit-logs.md @@ -132,7 +132,7 @@ An example event for `audit` looks as following: | kubernetes.audit.apiVersion | Audit event api version | keyword | | kubernetes.audit.auditID | Unique audit ID, generated for each request | keyword | | kubernetes.audit.impersonatedUser.extra.\* | Any additional information provided by the authenticator | object | -| kubernetes.audit.impersonatedUser.groups | The names of groups this user is a part of | text | +| kubernetes.audit.impersonatedUser.groups | The names of groups this user is a part of | keyword | | kubernetes.audit.impersonatedUser.uid | A unique value that identifies this user across time. If this user is deleted and another user by the same name is added, they will have different UIDs | keyword | | kubernetes.audit.impersonatedUser.username | The name that uniquely identifies this user among all active users | keyword | | kubernetes.audit.kind | Kind of the audit event | keyword | @@ -190,7 +190,7 @@ An example event for `audit` looks as following: | kubernetes.audit.stage | Stage of the request handling when this event instance was generated | keyword | | kubernetes.audit.stageTimestamp | Time the request reached current audit stage | date | | kubernetes.audit.user.extra.\* | Any additional information provided by the authenticator | object | -| kubernetes.audit.user.groups | The names of groups this user is a part of | text | +| kubernetes.audit.user.groups | The names of groups this user is a part of | keyword | | kubernetes.audit.user.uid | A unique value that identifies this user across time. If this user is deleted and another user by the same name is added, they will have different UIDs | keyword | | kubernetes.audit.user.username | The name that uniquely identifies this user among all active users | keyword | | kubernetes.audit.userAgent | UserAgent records the user agent string reported by the client. Note that the UserAgent is provided by the client, and must not be trusted | text | diff --git a/packages/kubernetes/manifest.yml b/packages/kubernetes/manifest.yml index 93b45b14a10..e23022f8c9e 100644 --- a/packages/kubernetes/manifest.yml +++ b/packages/kubernetes/manifest.yml @@ -1,7 +1,7 @@ format_version: 3.1.2 name: kubernetes title: Kubernetes -version: 1.66.2 +version: 1.66.3 description: Collect logs and metrics from Kubernetes clusters with Elastic Agent. type: integration categories: From c577fbb322688fba85f5aae160174d065784c67b Mon Sep 17 00:00:00 2001 From: Brijesh Khunt <123942796+brijesh-elastic@users.noreply.github.com> Date: Tue, 27 Aug 2024 17:41:51 +0530 Subject: [PATCH 26/33] [abnormal_security] Update pagination termination condition (#10860) Update the pagination termination condition for the threat data stream so that pagination stops whenever nextPageNumber is not found in the response body. This should apply to both the /v1/threats and /v1/threats/:id endpoints. --- .../_dev/deploy/docker/files/config.yml | 56 +------------------ packages/abnormal_security/changelog.yml | 5 ++ .../threat/agent/stream/cel.yml.hbs | 29 ++++------ .../elasticsearch/ingest_pipeline/default.yml | 3 - .../data_stream/threat/sample_event.json | 12 ++-- packages/abnormal_security/docs/README.md | 12 ++-- packages/abnormal_security/manifest.yml | 2 +- 7 files changed, 33 insertions(+), 86 deletions(-) diff --git a/packages/abnormal_security/_dev/deploy/docker/files/config.yml b/packages/abnormal_security/_dev/deploy/docker/files/config.yml index 0a4fa2adf7e..bb36aba3448 100644 --- a/packages/abnormal_security/_dev/deploy/docker/files/config.yml +++ b/packages/abnormal_security/_dev/deploy/docker/files/config.yml @@ -323,23 +323,7 @@ rules: Content-Type: - 'application/json' body: |- - {"threats":[{"threatId":"284712ab-6d8b-47b3-89d3-a314efef79e2"}],"pageNumber":2,"nextPageNumber":3} - - path: /v1/threats - methods: ['GET'] - query_params: - filter: "{filter:.*}" - pageNumber: 3 - pageSize: 1 - request_headers: - Authorization: - - "Bearer xxxx" - responses: - - status_code: 200 - headers: - Content-Type: - - 'application/json' - body: |- - {"threats":[],"pageNumber":3,"nextPageNumber":4} + {"threats":[{"threatId":"284712ab-6d8b-47b3-89d3-a314efef79e2"}]} - path: /v1/threats/184712ab-6d8b-47b3-89d3-a314efef79e2 methods: ['GET'] query_params: @@ -402,26 +386,9 @@ rules: "https://www.example.com/" ] } - ], - "pageNumber": 1, - "nextPageNumber": 2 + ] } `}} - - path: /v1/threats/184712ab-6d8b-47b3-89d3-a314efef79e2 - methods: ['GET'] - query_params: - pageNumber: 2 - pageSize: 1 - request_headers: - Authorization: - - "Bearer xxxx" - responses: - - status_code: 200 - headers: - Content-Type: - - 'application/json' - body: |- - {"threatId":"184712ab-6d8b-47b3-89d3-a314efef79e2","messages":[],"pageNumber":2,"nextPageNumber":3} - path: /v1/threats/284712ab-6d8b-47b3-89d3-a314efef79e2 methods: ['GET'] query_params: @@ -483,23 +450,6 @@ rules: "https://www.example.com/" ] } - ], - "pageNumber": 1, - "nextPageNumber": 2 + ] } `}} - - path: /v1/threats/284712ab-6d8b-47b3-89d3-a314efef79e2 - methods: ['GET'] - query_params: - pageNumber: 2 - pageSize: 1 - request_headers: - Authorization: - - "Bearer xxxx" - responses: - - status_code: 200 - headers: - Content-Type: - - 'application/json' - body: |- - {"threatId":"284712ab-6d8b-47b3-89d3-a314efef79e2","messages":[],"pageNumber":2,"nextPageNumber":3} diff --git a/packages/abnormal_security/changelog.yml b/packages/abnormal_security/changelog.yml index 69dce3904e5..81f78d39d0f 100644 --- a/packages/abnormal_security/changelog.yml +++ b/packages/abnormal_security/changelog.yml @@ -1,4 +1,9 @@ # newer versions go on top +- version: "0.1.1" + changes: + - description: Update pagination termination condition in threat data stream. + type: enhancement + link: https://github.com/elastic/integrations/pull/10860 - version: "0.1.0" changes: - description: Initial release. diff --git a/packages/abnormal_security/data_stream/threat/agent/stream/cel.yml.hbs b/packages/abnormal_security/data_stream/threat/agent/stream/cel.yml.hbs index 26ca269a94a..874368bfe1f 100644 --- a/packages/abnormal_security/data_stream/threat/agent/stream/cel.yml.hbs +++ b/packages/abnormal_security/data_stream/threat/agent/stream/cel.yml.hbs @@ -50,7 +50,7 @@ program: | } }).do_request().as(resp, resp.StatusCode == 200 ? bytes(resp.Body).decode_json().as(body, { - "worklist": body.threats.map(e, e.threatId), + "worklist": body, "next": 0, }) : @@ -73,9 +73,9 @@ program: | )) ).as(state, state.with( !has(state.worklist) ? state : // Exit early due to GET failure. - state.next < size(state.worklist) ? + has(state.worklist.threats) && size(state.worklist.threats) > 0 ? request("GET", - state.url.trim_right("/") + "/v1/threats/" + string(state.worklist[state.next]) + "?" + { + state.url.trim_right("/") + "/v1/threats/" + string(state.worklist.threats[state.next].threatId) + "?" + { "pageSize": [string(state.page_size)], "pageNumber": [string(state.child_next_page)] }.format_query() @@ -85,30 +85,25 @@ program: | } }).do_request().as(resp, resp.StatusCode == 200 ? bytes(resp.Body).decode_json().as(body,{ - "events": ( - size(body.messages) > 0 ? - body.messages.map(e,{ - "message": e.encode_json(), - }) - : - [{"message":"retry"}] - ), + "events": body.messages.map(e,{ + "message": e.encode_json(), + }), "cursor": { "last_timestamp": state.end_time }, - "worklist": int(state.next) + 1 < size(state.worklist) || size(body.messages) > 0 ? state.worklist : [], - "child_next_page": size(body.messages) > 0 ? int(state.child_next_page) + 1 : 1, + "worklist": int(state.next) + 1 < size(state.worklist.threats) || has(body.nextPageNumber) ? state.worklist : {}, + "child_next_page": has(body.nextPageNumber) ? body.nextPageNumber : 1, "next": ( - size(body.messages) > 0 ? + has(body.nextPageNumber) ? state.next : - int(state.next) + 1 < size(state.worklist) ? + int(state.next) + 1 < size(state.worklist.threats) ? int(state.next) + 1 : 0 ), - "next_page": int(state.next) + 1 < size(state.worklist) || size(body.messages) > 0 ? state.next_page : int(state.next_page) + 1, - "want_more": true, + "next_page": int(state.next) + 1 < size(state.worklist.threats) || has(body.nextPageNumber) ? state.next_page : has(state.worklist.nextPageNumber) ? state.worklist.nextPageNumber : 1, + "want_more": int(state.next) + 1 < size(state.worklist.threats) || has(body.nextPageNumber) || has(state.worklist.nextPageNumber), }) : { diff --git a/packages/abnormal_security/data_stream/threat/elasticsearch/ingest_pipeline/default.yml b/packages/abnormal_security/data_stream/threat/elasticsearch/ingest_pipeline/default.yml index 97f21605a99..6c8ed420791 100644 --- a/packages/abnormal_security/data_stream/threat/elasticsearch/ingest_pipeline/default.yml +++ b/packages/abnormal_security/data_stream/threat/elasticsearch/ingest_pipeline/default.yml @@ -9,9 +9,6 @@ processors: tag: data_collection_error if: ctx.error?.message != null && ctx.message == null && ctx.event?.original == null message: error message set and no data to process. - - drop: - if: ctx.message == 'retry' - tag: drop_retry_events - rename: field: message tag: rename_message_to_event_original diff --git a/packages/abnormal_security/data_stream/threat/sample_event.json b/packages/abnormal_security/data_stream/threat/sample_event.json index ef29cc09849..92afae71478 100644 --- a/packages/abnormal_security/data_stream/threat/sample_event.json +++ b/packages/abnormal_security/data_stream/threat/sample_event.json @@ -45,22 +45,22 @@ } }, "agent": { - "ephemeral_id": "3cfaa9dc-bca8-4e29-a807-77b68709b731", - "id": "7aaba523-565c-4597-bc42-59135436336b", - "name": "docker-fleet-agent", + "ephemeral_id": "b66f399f-ba1c-4fe5-af82-9ca7a0204545", + "id": "e2eadaf0-613d-41d9-913c-96125e06487a", + "name": "elastic-agent-55334", "type": "filebeat", "version": "8.13.0" }, "data_stream": { "dataset": "abnormal_security.threat", - "namespace": "37330", + "namespace": "45319", "type": "logs" }, "ecs": { "version": "8.11.0" }, "elastic_agent": { - "id": "7aaba523-565c-4597-bc42-59135436336b", + "id": "e2eadaf0-613d-41d9-913c-96125e06487a", "snapshot": false, "version": "8.13.0" }, @@ -88,7 +88,7 @@ ], "dataset": "abnormal_security.threat", "id": "2260288475997441000", - "ingested": "2024-08-08T06:53:48Z", + "ingested": "2024-08-23T05:40:07Z", "kind": "enrichment", "original": "{\"abxMessageId\":2260288475997441000,\"abxPortalUrl\":\"https://portal.abnormalsecurity.com/home/threat-center/remediation-history/3456765434567654\",\"attachmentCount\":0,\"attachmentNames\":[],\"attackStrategy\":\"Unknown Sender\",\"attackType\":\"Spam\",\"attackVector\":\"Link\",\"attackedParty\":\"Employee (Other)\",\"autoRemediated\":true,\"ccEmails\":[],\"fromAddress\":\"john@example.com\",\"fromName\":\"john\",\"impersonatedParty\":\"None / Others\",\"internetMessageId\":\"\\u003cAZz8NUMEST-qmuz77_koic@example\\u003e\",\"isRead\":false,\"postRemediated\":false,\"receivedTime\":\"2024-07-17T23:25:38Z\",\"recipientAddress\":\"bob@example.com\",\"remediationStatus\":\"Auto-Remediated\",\"remediationTimestamp\":\"2024-07-17T23:25:45.73564Z\",\"replyToEmails\":[],\"returnPath\":\"bounce-bob_H181S7GUCF@example.com\",\"senderDomain\":\"example.com\",\"senderIpAddress\":\"81.2.69.142\",\"sentTime\":\"2024-07-17T23:25:29Z\",\"subject\":\"YoU.have.𝗪𝟬0𝗡𝗡 a K0baIt 215-piece_ToooI_Set_Noo0wW..#GBOB\",\"summaryInsights\":[\"Abnormal Email Body HTML\",\"Invisible characters found in Email\",\"Suspicious Link\",\"Unusual Sender\",\"Unusual Sender Domain\"],\"threatId\":\"bf255f2d-a2ad-3f50-5075-fdcc24308bbd\",\"toAddresses\":[\"bob@example.com\"],\"urlCount\":1,\"urls\":[\"https://www.example.com/\"]}", "reference": "https://portal.abnormalsecurity.com/home/threat-center/remediation-history/3456765434567654", diff --git a/packages/abnormal_security/docs/README.md b/packages/abnormal_security/docs/README.md index 05bf7e52517..fe115e96cc6 100644 --- a/packages/abnormal_security/docs/README.md +++ b/packages/abnormal_security/docs/README.md @@ -498,22 +498,22 @@ An example event for `threat` looks as following: } }, "agent": { - "ephemeral_id": "3cfaa9dc-bca8-4e29-a807-77b68709b731", - "id": "7aaba523-565c-4597-bc42-59135436336b", - "name": "docker-fleet-agent", + "ephemeral_id": "b66f399f-ba1c-4fe5-af82-9ca7a0204545", + "id": "e2eadaf0-613d-41d9-913c-96125e06487a", + "name": "elastic-agent-55334", "type": "filebeat", "version": "8.13.0" }, "data_stream": { "dataset": "abnormal_security.threat", - "namespace": "37330", + "namespace": "45319", "type": "logs" }, "ecs": { "version": "8.11.0" }, "elastic_agent": { - "id": "7aaba523-565c-4597-bc42-59135436336b", + "id": "e2eadaf0-613d-41d9-913c-96125e06487a", "snapshot": false, "version": "8.13.0" }, @@ -541,7 +541,7 @@ An example event for `threat` looks as following: ], "dataset": "abnormal_security.threat", "id": "2260288475997441000", - "ingested": "2024-08-08T06:53:48Z", + "ingested": "2024-08-23T05:40:07Z", "kind": "enrichment", "original": "{\"abxMessageId\":2260288475997441000,\"abxPortalUrl\":\"https://portal.abnormalsecurity.com/home/threat-center/remediation-history/3456765434567654\",\"attachmentCount\":0,\"attachmentNames\":[],\"attackStrategy\":\"Unknown Sender\",\"attackType\":\"Spam\",\"attackVector\":\"Link\",\"attackedParty\":\"Employee (Other)\",\"autoRemediated\":true,\"ccEmails\":[],\"fromAddress\":\"john@example.com\",\"fromName\":\"john\",\"impersonatedParty\":\"None / Others\",\"internetMessageId\":\"\\u003cAZz8NUMEST-qmuz77_koic@example\\u003e\",\"isRead\":false,\"postRemediated\":false,\"receivedTime\":\"2024-07-17T23:25:38Z\",\"recipientAddress\":\"bob@example.com\",\"remediationStatus\":\"Auto-Remediated\",\"remediationTimestamp\":\"2024-07-17T23:25:45.73564Z\",\"replyToEmails\":[],\"returnPath\":\"bounce-bob_H181S7GUCF@example.com\",\"senderDomain\":\"example.com\",\"senderIpAddress\":\"81.2.69.142\",\"sentTime\":\"2024-07-17T23:25:29Z\",\"subject\":\"YoU.have.𝗪𝟬0𝗡𝗡 a K0baIt 215-piece_ToooI_Set_Noo0wW..#GBOB\",\"summaryInsights\":[\"Abnormal Email Body HTML\",\"Invisible characters found in Email\",\"Suspicious Link\",\"Unusual Sender\",\"Unusual Sender Domain\"],\"threatId\":\"bf255f2d-a2ad-3f50-5075-fdcc24308bbd\",\"toAddresses\":[\"bob@example.com\"],\"urlCount\":1,\"urls\":[\"https://www.example.com/\"]}", "reference": "https://portal.abnormalsecurity.com/home/threat-center/remediation-history/3456765434567654", diff --git a/packages/abnormal_security/manifest.yml b/packages/abnormal_security/manifest.yml index bb86b81cabb..a6fd42b66b5 100644 --- a/packages/abnormal_security/manifest.yml +++ b/packages/abnormal_security/manifest.yml @@ -1,7 +1,7 @@ format_version: 3.2.1 name: abnormal_security title: Abnormal Security -version: 0.1.0 +version: 0.1.1 description: Collect logs from Abnormal Security with Elastic Agent. type: integration categories: From dee2db8899836ef53d69d7fac50401bdfcff468b Mon Sep 17 00:00:00 2001 From: Taylor Swanson <90622908+taylor-swanson@users.noreply.github.com> Date: Tue, 27 Aug 2024 07:16:05 -0500 Subject: [PATCH 27/33] [fortinet_fortiproxy] Fix udp_options in UDP agent file (#10771) - Fix udp_options in UDP agent file having incorrect variable --- packages/fortinet_fortiproxy/changelog.yml | 5 +++++ .../data_stream/log/agent/stream/udp.yml.hbs | 4 ++-- packages/fortinet_fortiproxy/manifest.yml | 2 +- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/packages/fortinet_fortiproxy/changelog.yml b/packages/fortinet_fortiproxy/changelog.yml index 5cd61e64a2f..10d9c4e3033 100644 --- a/packages/fortinet_fortiproxy/changelog.yml +++ b/packages/fortinet_fortiproxy/changelog.yml @@ -1,4 +1,9 @@ # newer versions go on top +- version: "0.3.1" + changes: + - description: Fix udp_options in UDP agent file. + type: bugfix + link: https://github.com/elastic/integrations/pull/10771 - version: "0.3.0" changes: - description: Remap devname to observer.name and process url field. diff --git a/packages/fortinet_fortiproxy/data_stream/log/agent/stream/udp.yml.hbs b/packages/fortinet_fortiproxy/data_stream/log/agent/stream/udp.yml.hbs index b01c5bed53e..4e16f1c08a1 100644 --- a/packages/fortinet_fortiproxy/data_stream/log/agent/stream/udp.yml.hbs +++ b/packages/fortinet_fortiproxy/data_stream/log/agent/stream/udp.yml.hbs @@ -16,6 +16,6 @@ ssl: {{ssl}} processors: {{processors}} {{/if}} -{{#if tcp_options}} -{{tcp_options}} +{{#if udp_options}} +{{udp_options}} {{/if}} diff --git a/packages/fortinet_fortiproxy/manifest.yml b/packages/fortinet_fortiproxy/manifest.yml index 0e307236d54..cb73bd78410 100644 --- a/packages/fortinet_fortiproxy/manifest.yml +++ b/packages/fortinet_fortiproxy/manifest.yml @@ -1,7 +1,7 @@ format_version: 3.1.3 name: fortinet_fortiproxy title: "Fortinet FortiProxy" -version: 0.3.0 +version: 0.3.1 description: "Collect logs from Fortinet FortiProxy with Elastic Agent." type: integration categories: From 44c242ecdd24205e971a1f3ae0df81ff7344396f Mon Sep 17 00:00:00 2001 From: Mauri de Souza Meneguzzo Date: Tue, 27 Aug 2024 13:56:12 -0300 Subject: [PATCH 28/33] [Kubernetes] Add support for Kubernetes v1.31 (#10804) Co-authored-by: Andrew Gizas --- .buildkite/pipeline.serverless.yml | 2 +- .buildkite/pipeline.yml | 2 +- packages/kubernetes/_dev/build/docs/README.md | 2 +- packages/kubernetes/docs/README.md | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.buildkite/pipeline.serverless.yml b/.buildkite/pipeline.serverless.yml index f824c894ff4..bb5e56c6f88 100644 --- a/.buildkite/pipeline.serverless.yml +++ b/.buildkite/pipeline.serverless.yml @@ -6,7 +6,7 @@ env: DOCKER_COMPOSE_VERSION: "v2.24.1" DOCKER_VERSION: "false" # not required to set since system tests are not running yet KIND_VERSION: 'v0.20.0' - K8S_VERSION: 'v1.30.0' + K8S_VERSION: 'v1.31.0' YQ_VERSION: 'v4.35.2' IMAGE_UBUNTU_X86_64: "family/core-ubuntu-2204" GH_CLI_VERSION: "2.29.0" diff --git a/.buildkite/pipeline.yml b/.buildkite/pipeline.yml index c78cebe476d..5966c463c09 100644 --- a/.buildkite/pipeline.yml +++ b/.buildkite/pipeline.yml @@ -5,7 +5,7 @@ env: DOCKER_COMPOSE_VERSION: "v2.24.1" DOCKER_VERSION: "26.1.2" KIND_VERSION: 'v0.20.0' - K8S_VERSION: 'v1.30.0' + K8S_VERSION: 'v1.31.0' YQ_VERSION: 'v4.35.2' JQ_VERSION: '1.7' GH_CLI_VERSION: "2.29.0" diff --git a/packages/kubernetes/_dev/build/docs/README.md b/packages/kubernetes/_dev/build/docs/README.md index b86aa71ec92..9b98e7932e6 100644 --- a/packages/kubernetes/_dev/build/docs/README.md +++ b/packages/kubernetes/_dev/build/docs/README.md @@ -108,7 +108,7 @@ This defaults to `/var/log/kubernetes/kube-apiserver-audit.log`. ## Compatibility -The Kubernetes package is tested with Kubernetes [1.27.x - 1.30.x] versions +The Kubernetes package is tested with Kubernetes [1.28.x - 1.31.x] versions ## Dashboard diff --git a/packages/kubernetes/docs/README.md b/packages/kubernetes/docs/README.md index ffaef3f0c80..bc4a2351779 100644 --- a/packages/kubernetes/docs/README.md +++ b/packages/kubernetes/docs/README.md @@ -108,7 +108,7 @@ This defaults to `/var/log/kubernetes/kube-apiserver-audit.log`. ## Compatibility -The Kubernetes package is tested with Kubernetes [1.27.x - 1.30.x] versions +The Kubernetes package is tested with Kubernetes [1.28.x - 1.31.x] versions ## Dashboard From 1fb5746488bfcc1e7f63889ecfd4811d72bdd121 Mon Sep 17 00:00:00 2001 From: Krishna Chaitanya Reddy Burri Date: Wed, 28 Aug 2024 08:32:46 +0530 Subject: [PATCH 29/33] zscaler_zia: Remove department field and fix parsing errors in web logs (#10874) Remove `department` field and fix parsing errors in web logs. The `department` value is already being ingested from `dept` field. This PR removes the hex-encoded `department` field in favour of `dept` due to noticed improper hex-encoding in fields prefixed with `e` [here](https://github.com/elastic/integrations/pull/10855#issue-2481310988). Remove `urldecode` processor on parsing urls causing parsing errors. The `b64url` field is already being decoded by `script` processor. Also adds `on_failure` clause on `urldecode` processors to continue pipeline execution to prevent parsing errors on hex-encoded values to stop running rest of the pipeline. --- .../zscaler_zia/_dev/build/docs/README.md | 6 +- packages/zscaler_zia/changelog.yml | 5 + .../test/pipeline/test-web-http-endpoint.log | 4 +- .../test-web-http-endpoint.log-expected.json | 4 +- .../web/_dev/test/pipeline/test-web.log | 12 +- .../test/pipeline/test-web.log-expected.json | 852 +++++++++++++++++- .../elasticsearch/ingest_pipeline/default.yml | 62 +- packages/zscaler_zia/docs/README.md | 6 +- packages/zscaler_zia/manifest.yml | 2 +- 9 files changed, 917 insertions(+), 36 deletions(-) diff --git a/packages/zscaler_zia/_dev/build/docs/README.md b/packages/zscaler_zia/_dev/build/docs/README.md index 63df6c548b2..8e2ce7ba447 100644 --- a/packages/zscaler_zia/_dev/build/docs/README.md +++ b/packages/zscaler_zia/_dev/build/docs/README.md @@ -214,14 +214,14 @@ Sample Response: ![Escape feed setup image](../img/escape_feed.png?raw=true) See: [Zscaler Vendor documentation](https://help.zscaler.com/zia/nss-feed-output-format-web-logs) -Zscaler Web Log response format (v8): +Zscaler Web Log response format (v9): ``` -\{"version":"v8","sourcetype":"zscalernss-web","event":\{"time":"%s{time}","cloudname":"%s{cloudname}","host":"%s{ehost}","serverip":"%s{sip}","external_devid":"%s{external_devid}","devicemodel":"%s{devicemodel}","action":"%s{action}","recordid":"%d{recordid}","reason":"%s{reason}","threatseverity":"%s{threatseverity}","tz":"%s{tz}","filesubtype":"%s{filesubtype}","upload_filesubtype":"%s{upload_filesubtype}","sha256":"%s{sha256}","bamd5":"%s{bamd5}","filename":"%s{efilename}","upload_filename":"%s{eupload_filename}","filetype":"%s{filetype}","devicename":"%s{edevicename}","devicehostname":"%s{devicehostname}","deviceostype":"%s{deviceostype}","deviceosversion":"%s{deviceosversion}","devicetype":"%s{devicetype}","reqsize":"%d{reqsize}","reqmethod":"%s{reqmethod}","b64referer":"%s{b64referer}","respsize":"%d{respsize}","respcode":"%s{respcode}","reqversion":"%s{reqversion}","respversion":"%s{respversion}","proto":"%s{proto}","company":"%s{company}","dlpmd5":"%s{dlpmd5}","apprulelabel":"%s{eapprulelabel}","dlprulename":"%s{dlprulename}","rulelabel":"%s{erulelabel}","urlfilterrulelabel":"%s{eurlfilterrulelabel}","cltip":"%s{cip}","cltintip":"%s{cintip}","cltsourceport":"%d{clt_sport}","threatname":"%s{threatname}","cltsslcipher":"%s{clientsslcipher}","clttlsversion":"%s{clienttlsversion}","b64url":"%s{b64url}","useragent":"%s{eua}","login":"%s{elogin}","applayerprotocol":"%s{alpnprotocol}","appclass":"%s{appclass}","appname":"%s{appname}","appriskscore":"%s{app_risk_score}","bandwidthclassname":"%s{bwclassname}","bandwidthrulename":"%s{bwrulename}","bwthrottle":"%s{bwthrottle}","bypassedtime":"%s{bypassed_etime}","bypassedtraffic":"%d{bypassed_traffic}","cltsslsessreuse":"%s{clientsslsessreuse}","cltpubip":"%s{cpubip}","cltsslfailcount":"%d{cltsslfailcount}","cltsslfailreason":"%s{cltsslfailreason}","contenttype":"%s{contenttype}","datacentercity":"%s{datacentercity}","datacentercountry":"%s{datacentercountry}","datacenter":"%s{datacenter}","day":"%s{day}","day_of_month":"%02d{dd}","dept":"%s{dept}","deviceappversion":"%s{deviceappversion}","deviceowner":"%s{deviceowner}","df_hosthead":"%s{df_hosthead}","df_hostname":"%s{df_hostname}","dlpdicthitcount":"%s{dlpdicthitcount}","dlpdict":"%s{dlpdict}","dlpeng":"%s{dlpeng}","dlpidentifier":"%d{dlpidentifier}","eedone":"%s{eedone}","epochtime":"%d{epochtime}","fileclass":"%s{fileclass}","flow_type":"%s{flow_type}","forward_gateway_ip":"%s{fwd_gw_ip}","forward_gateway_name":"%s{fwd_gw_name}","forward_type":"%s{fwd_type}","hour":"%02d{hh}","is_sslexpiredca":"%s{is_sslexpiredca}","is_sslselfsigned":"%s{is_sslselfsigned}","is_ssluntrustedca":"%s{is_ssluntrustedca}","keyprotectiontype":"%s{keyprotectiontype}","location":"%s{elocation}","department":"%s{edepartment}","malwarecategory":"%s{malwarecat}","malwareclass":"%s{malwareclass}","minute":"%02d{mm}","mobappcategory":"%s{mobappcat}","mobappname":"%s{emobappname}","mobdevtype":"%s{mobdevtype}","module":"%s{module}","month":"%s{mon}","month_of_year":"%02d{mth}","nssserviceip":"%s{nsssvcip}","oapprulelabel":"%s{oapprulelabel}","obwclassname":"%s{obwclassname}","ocip":"%d{ocip}","ocpubip":"%d{ocpubip}","odevicehostname":"%s{odevicehostname}","odevicename":"%s{odevicename}","odeviceowner":"%s{odeviceowner}","odlpdict":"%s{odlpdict}","odlpeng":"%s{odlpeng}","odlprulename":"%s{odlprulename}","ofwd_gw_name":"%s{ofwd_gw_name}","ologin":"%s{ologin}","ordr_rulename":"%s{ordr_rulename}","ourlcat":"%s{ourlcat}","ourlfilterrulelabel":"%s{ourlfilterrulelabel}","ozpa_app_seg_name":"%s{ozpa_app_seg_name}","externalsslpolicyreason":"%s{externalspr}","productversion":"%s{productversion}","rdr_rulename":"%s{rdr_rulename}","refererhost":"%s{erefererhost}","reqheadersize":"%d{reqhdrsize}","reqdatasize":"%d{reqdatasize}","respheadersize":"%d{resphdrsize}","respdatasize":"%d{respdatasize}","riskscore":"%d{riskscore}","ruletype":"%s{ruletype}","second":"%02d{ss}","srvcertchainvalpass":"%s{srvcertchainvalpass}","srvcertvalidationtype":"%s{srvcertvalidationtype}","srvcertvalidityperiod":"%s{srvcertvalidityperiod}","srvsslcipher":"%s{srvsslcipher}","serversslsessreuse":"%s{serversslsessreuse}","srvocspresult":"%s{srvocspresult}","srvtlsversion":"%s{srvtlsversion}","srvwildcardcert":"%s{srvwildcardcert}","ssldecrypted":"%s{ssldecrypted}","throttlereqsize":"%d{throttlereqsize}","throttlerespsize":"%d{throttlerespsize}","totalsize":"%d{totalsize}","trafficredirectmethod":"%s{trafficredirectmethod}","unscannabletype":"%s{unscannabletype}","upload_doctypename":"%s{upload_doctypename}","upload_fileclass":"%s{upload_fileclass}","upload_filetype":"%s{upload_filetype}","urlcatmethod":"%s{urlcatmethod}","urlsubcat":"%s{urlcat}","urlsupercat":"%s{urlsupercat}","urlclass":"%s{urlclass}","useragentclass":"%s{uaclass}","useragenttoken":"%s{ua_token}","userlocationname":"%s{euserlocationname}","year":"%04d{yyyy}","ztunnelversion":"%s{ztunnelversion}","zpa_app_seg_name":"%s{zpa_app_seg_name}"\}\} +\{"version":"v9","sourcetype":"zscalernss-web","event":\{"time":"%s{time}","cloudname":"%s{cloudname}","host":"%s{ehost}","serverip":"%s{sip}","external_devid":"%s{external_devid}","devicemodel":"%s{devicemodel}","action":"%s{action}","recordid":"%d{recordid}","reason":"%s{reason}","threatseverity":"%s{threatseverity}","tz":"%s{tz}","filesubtype":"%s{filesubtype}","upload_filesubtype":"%s{upload_filesubtype}","sha256":"%s{sha256}","bamd5":"%s{bamd5}","filename":"%s{efilename}","upload_filename":"%s{eupload_filename}","filetype":"%s{filetype}","devicename":"%s{edevicename}","devicehostname":"%s{devicehostname}","deviceostype":"%s{deviceostype}","deviceosversion":"%s{deviceosversion}","devicetype":"%s{devicetype}","reqsize":"%d{reqsize}","reqmethod":"%s{reqmethod}","b64referer":"%s{b64referer}","respsize":"%d{respsize}","respcode":"%s{respcode}","reqversion":"%s{reqversion}","respversion":"%s{respversion}","proto":"%s{proto}","company":"%s{company}","dlpmd5":"%s{dlpmd5}","apprulelabel":"%s{eapprulelabel}","dlprulename":"%s{dlprulename}","rulelabel":"%s{erulelabel}","urlfilterrulelabel":"%s{eurlfilterrulelabel}","cltip":"%s{cip}","cltintip":"%s{cintip}","cltsourceport":"%d{clt_sport}","threatname":"%s{threatname}","cltsslcipher":"%s{clientsslcipher}","clttlsversion":"%s{clienttlsversion}","b64url":"%s{b64url}","useragent":"%s{eua}","login":"%s{elogin}","applayerprotocol":"%s{alpnprotocol}","appclass":"%s{appclass}","appname":"%s{appname}","appriskscore":"%s{app_risk_score}","bandwidthclassname":"%s{bwclassname}","bandwidthrulename":"%s{bwrulename}","bwthrottle":"%s{bwthrottle}","bypassedtime":"%s{bypassed_etime}","bypassedtraffic":"%d{bypassed_traffic}","cltsslsessreuse":"%s{clientsslsessreuse}","cltpubip":"%s{cpubip}","cltsslfailcount":"%d{cltsslfailcount}","cltsslfailreason":"%s{cltsslfailreason}","contenttype":"%s{contenttype}","datacentercity":"%s{datacentercity}","datacentercountry":"%s{datacentercountry}","datacenter":"%s{datacenter}","day":"%s{day}","day_of_month":"%02d{dd}","dept":"%s{dept}","deviceappversion":"%s{deviceappversion}","deviceowner":"%s{deviceowner}","df_hosthead":"%s{df_hosthead}","df_hostname":"%s{df_hostname}","dlpdicthitcount":"%s{dlpdicthitcount}","dlpdict":"%s{dlpdict}","dlpeng":"%s{dlpeng}","dlpidentifier":"%d{dlpidentifier}","eedone":"%s{eedone}","epochtime":"%d{epochtime}","fileclass":"%s{fileclass}","flow_type":"%s{flow_type}","forward_gateway_ip":"%s{fwd_gw_ip}","forward_gateway_name":"%s{fwd_gw_name}","forward_type":"%s{fwd_type}","hour":"%02d{hh}","is_sslexpiredca":"%s{is_sslexpiredca}","is_sslselfsigned":"%s{is_sslselfsigned}","is_ssluntrustedca":"%s{is_ssluntrustedca}","keyprotectiontype":"%s{keyprotectiontype}","location":"%s{elocation}","malwarecategory":"%s{malwarecat}","malwareclass":"%s{malwareclass}","minute":"%02d{mm}","mobappcategory":"%s{mobappcat}","mobappname":"%s{emobappname}","mobdevtype":"%s{mobdevtype}","module":"%s{module}","month":"%s{mon}","month_of_year":"%02d{mth}","nssserviceip":"%s{nsssvcip}","oapprulelabel":"%s{oapprulelabel}","obwclassname":"%s{obwclassname}","ocip":"%d{ocip}","ocpubip":"%d{ocpubip}","odevicehostname":"%s{odevicehostname}","odevicename":"%s{odevicename}","odeviceowner":"%s{odeviceowner}","odlpdict":"%s{odlpdict}","odlpeng":"%s{odlpeng}","odlprulename":"%s{odlprulename}","ofwd_gw_name":"%s{ofwd_gw_name}","ologin":"%s{ologin}","ordr_rulename":"%s{ordr_rulename}","ourlcat":"%s{ourlcat}","ourlfilterrulelabel":"%s{ourlfilterrulelabel}","ozpa_app_seg_name":"%s{ozpa_app_seg_name}","externalsslpolicyreason":"%s{externalspr}","productversion":"%s{productversion}","rdr_rulename":"%s{rdr_rulename}","refererhost":"%s{erefererhost}","reqheadersize":"%d{reqhdrsize}","reqdatasize":"%d{reqdatasize}","respheadersize":"%d{resphdrsize}","respdatasize":"%d{respdatasize}","riskscore":"%d{riskscore}","ruletype":"%s{ruletype}","second":"%02d{ss}","srvcertchainvalpass":"%s{srvcertchainvalpass}","srvcertvalidationtype":"%s{srvcertvalidationtype}","srvcertvalidityperiod":"%s{srvcertvalidityperiod}","srvsslcipher":"%s{srvsslcipher}","serversslsessreuse":"%s{serversslsessreuse}","srvocspresult":"%s{srvocspresult}","srvtlsversion":"%s{srvtlsversion}","srvwildcardcert":"%s{srvwildcardcert}","ssldecrypted":"%s{ssldecrypted}","throttlereqsize":"%d{throttlereqsize}","throttlerespsize":"%d{throttlerespsize}","totalsize":"%d{totalsize}","trafficredirectmethod":"%s{trafficredirectmethod}","unscannabletype":"%s{unscannabletype}","upload_doctypename":"%s{upload_doctypename}","upload_fileclass":"%s{upload_fileclass}","upload_filetype":"%s{upload_filetype}","urlcatmethod":"%s{urlcatmethod}","urlsubcat":"%s{urlcat}","urlsupercat":"%s{urlsupercat}","urlclass":"%s{urlclass}","useragentclass":"%s{uaclass}","useragenttoken":"%s{ua_token}","userlocationname":"%s{euserlocationname}","year":"%04d{yyyy}","ztunnelversion":"%s{ztunnelversion}","zpa_app_seg_name":"%s{zpa_app_seg_name}"\}\} ``` Sample Response: ```json -{"version":"v8","sourcetype":"zscalernss-web","event":{"time":"Mon Oct 16 22:55:48 2023","cloudname":"zscaler.net","host":"mail.google.com","serverip":"1.128.0.0","external_devid":"1234","devicemodel":"20L8S7WC08","action":"Allowed","recordid":123456789,"reason":"File Attachment Cautioned","threatseverity":"Critical (90–100)","tz":"GMT","filesubtype":"exe","upload_filesubtype":"rar","sha256":"81ec78bc8298568bb5ea66d3c2972b670d0f7459b6cdbbcaacce90ab417ab15c","bamd5":"196a3d797bfee07fe4596b69f4ce1141","filename":"nssfeed.txt","upload_filename":"nssfeed.exe","filetype":"RAR Files","devicename":"PC11NLPA%3A5F08D97BBF43257A8FB4BBF4061A38AE324EF734","devicehostname":"THINKPADSMITH","deviceostype":"iOS","deviceosversion":"Version 10.14.2 (Build 18C54)","devicetype":"Zscaler Client Connector","reqsize":1300,"reqmethod":"invalid","b64referer":"d3d3LmV4YW1wbGUuY29tL3NlYXJjaD9maWx0ZXJzPWd1aWQ6IjQwLWVuLWRpYSIgbGFuZzoiZW4iJmZvcm09UzAwJnE9aG93IHRvIHVzZSByZW1vdGUgZGVza3RvcCB0byBjb25uZWN0IHRvIGEgd2luZG93cyAxMCBwYw==","respsize":10500,"respcode":"100","reqversion":"1.1","respversion":"1","proto":"HTTP","company":"Zscaler","dlpmd5":"154f149b1443fbfa8c121d13e5c019a1","apprulelabel":"File_Sharing_1","dlprulename":"DLP_Rule_1","rulelabel":"URL_Filtering_1","urlfilterrulelabel":"URL_Filtering_2","cltip":"81.2.69.144","cltintip":"89.160.20.128","cltsourceport":12345,"threatname":"EICAR Test File","cltsslcipher":"SSL3_CK_RSA_NULL_MD5","clttlsversion":"SSL2","b64url":"d3d3LnRyeXRoaXNlbmNvZGV1cmwuY29tL3BhcmFtcz9JZD0xJnRzPTIwMDYtMDEtMDJUMTU6MDQ6MDVaMDc6MDAmdXNlcj02NTc5MiZ2ZXJzaW9uPTEwLjAuMTkwNDEuMTI2Ng==","useragent":"Mozilla/5.0","login":"jdoe@safemarch.com","applayerprotocol":"FTP","appclass":"Administration","appname":"Adobe Connect","appriskscore":"1","bandwidthclassname":"Entertainment","bandwidthrulename":"Office 365","bwthrottle":"Yes","bypassedtime":"Mon Oct 16 22:55:48 2023","bypassedtraffic":"1","cltsslsessreuse":"Unknown","cltpubip":"175.16.199.0","cltsslfailcount":100,"cltsslfailreason":"Bad Record Mac","contenttype":"application/vnd_apple_keynote","datacentercity":"Sa","datacentercountry":"US","datacenter":"CA Client Node DC","day":"Mon","day_of_month":16,"dept":"Sales","deviceappversion":"1.128.0.0","deviceowner":"jsmith","df_hosthead":"df_hosthead","df_hostname":"df_hostname","dlpdicthitcount":"4","dlpdict":"Credit Cards","dlpeng":"HIPAA","dlpidentifier":6646484838839026000,"eedone":"Yes","epochtime":1578128400,"fileclass":"Active Web Contents","flow_type":"Direct","forward_gateway_ip":"10.1.1.1","forward_gateway_name":"FWD_1","forward_type":"Direct","hour":22,"is_sslexpiredca":"Yes","is_sslselfsigned":"Yes","is_ssluntrustedca":"Pass","keyprotectiontype":"HSM Protection","location":"Headquarters","department":"Department%5CrN%40me","malwarecategory":"Adware","malwareclass":"Sandbox","minute":55,"mobappcategory":"Communication","mobappname":"Amazon","mobdevtype":"Google Android","module":"Administration","month":"Oct","month_of_year":10,"nssserviceip":"192.168.2.200","oapprulelabel":"5300295980","obwclassname":"10831489","ocip":6200694987,"ocpubip":624054738,"odevicehostname":"2168890624","odevicename":"2175092224","odeviceowner":"10831489","odlpdict":"10831489","odlpeng":"4094304256","odlprulename":"6857275752","ofwd_gw_name":"8794487099","ologin":"4094304256","ordr_rulename":"3399565100","ourlcat":"7956407282","ourlfilterrulelabel":"4951704103","ozpa_app_seg_name":"7648246731","externalsslpolicyreason":"Blocked","productversion":"5.0.902.95524_04","rdr_rulename":"FWD_Rule_1","refererhost":"www.example.com for http://www.example.com/index.html","reqheadersize":300,"reqdatasize":1000,"respheadersize":500,"respdatasize":10000,"riskscore":10,"ruletype":"File Type Control","second":48,"srvcertchainvalpass":"Unknown","srvcertvalidationtype":"EV (Extended Validation)","srvcertvalidityperiod":"Short","srvsslcipher":"SSL3_CK_RSA_NULL_MD5","serversslsessreuse":"Unknown","srvocspresult":"Good","srvtlsversion":"SSL2","srvwildcardcert":"Unknown","ssldecrypted":"Yes","throttlereqsize":5,"throttlerespsize":7,"totalsize":11800,"trafficredirectmethod":"DNAT (Destination Translation)","unscannabletype":"Encrypted File","upload_doctypename":"Corporate Finance","upload_fileclass":"upload_fileclass","upload_filetype":"RAR Files","urlcatmethod":"Database A","urlsubcat":"Entertainment","urlsupercat":"Travel","urlclass":"Bandwidth Loss","useragentclass":"Firefox","useragenttoken":"Google Chrome (0.x)","userlocationname":"userlocationname","year":2023,"ztunnelversion":"ZTUNNEL_1_0","zpa_app_seg_name":"ZPA_test_app_segment"}} +{"version":"v9","sourcetype":"zscalernss-web","event":{"time":"Mon Oct 16 22:55:48 2023","cloudname":"zscaler.net","host":"mail.google.com","serverip":"1.128.0.0","external_devid":"1234","devicemodel":"20L8S7WC08","action":"Allowed","recordid":123456789,"reason":"File Attachment Cautioned","threatseverity":"Critical (90–100)","tz":"GMT","filesubtype":"exe","upload_filesubtype":"rar","sha256":"81ec78bc8298568bb5ea66d3c2972b670d0f7459b6cdbbcaacce90ab417ab15c","bamd5":"196a3d797bfee07fe4596b69f4ce1141","filename":"nssfeed.txt","upload_filename":"nssfeed.exe","filetype":"RAR Files","devicename":"PC11NLPA%3A5F08D97BBF43257A8FB4BBF4061A38AE324EF734","devicehostname":"THINKPADSMITH","deviceostype":"iOS","deviceosversion":"Version 10.14.2 (Build 18C54)","devicetype":"Zscaler Client Connector","reqsize":1300,"reqmethod":"invalid","b64referer":"d3d3LmV4YW1wbGUuY29tL3NlYXJjaD9maWx0ZXJzPWd1aWQ6IjQwLWVuLWRpYSIgbGFuZzoiZW4iJmZvcm09UzAwJnE9aG93IHRvIHVzZSByZW1vdGUgZGVza3RvcCB0byBjb25uZWN0IHRvIGEgd2luZG93cyAxMCBwYw==","respsize":10500,"respcode":"100","reqversion":"1.1","respversion":"1","proto":"HTTP","company":"Zscaler","dlpmd5":"154f149b1443fbfa8c121d13e5c019a1","apprulelabel":"File_Sharing_1","dlprulename":"DLP_Rule_1","rulelabel":"URL_Filtering_1","urlfilterrulelabel":"URL_Filtering_2","cltip":"81.2.69.144","cltintip":"89.160.20.128","cltsourceport":12345,"threatname":"EICAR Test File","cltsslcipher":"SSL3_CK_RSA_NULL_MD5","clttlsversion":"SSL2","b64url":"d3d3LnRyeXRoaXNlbmNvZGV1cmwuY29tL3BhcmFtcz9JZD0xJnRzPTIwMDYtMDEtMDJUMTU6MDQ6MDVaMDc6MDAmdXNlcj02NTc5MiZ2ZXJzaW9uPTEwLjAuMTkwNDEuMTI2Ng==","useragent":"Mozilla/5.0","login":"jdoe@safemarch.com","applayerprotocol":"FTP","appclass":"Administration","appname":"Adobe Connect","appriskscore":"1","bandwidthclassname":"Entertainment","bandwidthrulename":"Office 365","bwthrottle":"Yes","bypassedtime":"Mon Oct 16 22:55:48 2023","bypassedtraffic":"1","cltsslsessreuse":"Unknown","cltpubip":"175.16.199.0","cltsslfailcount":100,"cltsslfailreason":"Bad Record Mac","contenttype":"application/vnd_apple_keynote","datacentercity":"Sa","datacentercountry":"US","datacenter":"CA Client Node DC","day":"Mon","day_of_month":16,"dept":"Sales","deviceappversion":"1.128.0.0","deviceowner":"jsmith","df_hosthead":"df_hosthead","df_hostname":"df_hostname","dlpdicthitcount":"4","dlpdict":"Credit Cards","dlpeng":"HIPAA","dlpidentifier":6646484838839026000,"eedone":"Yes","epochtime":1578128400,"fileclass":"Active Web Contents","flow_type":"Direct","forward_gateway_ip":"10.1.1.1","forward_gateway_name":"FWD_1","forward_type":"Direct","hour":22,"is_sslexpiredca":"Yes","is_sslselfsigned":"Yes","is_ssluntrustedca":"Pass","keyprotectiontype":"HSM Protection","location":"Headquarters","malwarecategory":"Adware","malwareclass":"Sandbox","minute":55,"mobappcategory":"Communication","mobappname":"Amazon","mobdevtype":"Google Android","module":"Administration","month":"Oct","month_of_year":10,"nssserviceip":"192.168.2.200","oapprulelabel":"5300295980","obwclassname":"10831489","ocip":6200694987,"ocpubip":624054738,"odevicehostname":"2168890624","odevicename":"2175092224","odeviceowner":"10831489","odlpdict":"10831489","odlpeng":"4094304256","odlprulename":"6857275752","ofwd_gw_name":"8794487099","ologin":"4094304256","ordr_rulename":"3399565100","ourlcat":"7956407282","ourlfilterrulelabel":"4951704103","ozpa_app_seg_name":"7648246731","externalsslpolicyreason":"Blocked","productversion":"5.0.902.95524_04","rdr_rulename":"FWD_Rule_1","refererhost":"www.example.com for http://www.example.com/index.html","reqheadersize":300,"reqdatasize":1000,"respheadersize":500,"respdatasize":10000,"riskscore":10,"ruletype":"File Type Control","second":48,"srvcertchainvalpass":"Unknown","srvcertvalidationtype":"EV (Extended Validation)","srvcertvalidityperiod":"Short","srvsslcipher":"SSL3_CK_RSA_NULL_MD5","serversslsessreuse":"Unknown","srvocspresult":"Good","srvtlsversion":"SSL2","srvwildcardcert":"Unknown","ssldecrypted":"Yes","throttlereqsize":5,"throttlerespsize":7,"totalsize":11800,"trafficredirectmethod":"DNAT (Destination Translation)","unscannabletype":"Encrypted File","upload_doctypename":"Corporate Finance","upload_fileclass":"upload_fileclass","upload_filetype":"RAR Files","urlcatmethod":"Database A","urlsubcat":"Entertainment","urlsupercat":"Travel","urlclass":"Bandwidth Loss","useragentclass":"Firefox","useragenttoken":"Google Chrome (0.x)","userlocationname":"userlocationname","year":2023,"ztunnelversion":"ZTUNNEL_1_0","zpa_app_seg_name":"ZPA_test_app_segment"}} ``` ### Enabling the integration in Elastic: diff --git a/packages/zscaler_zia/changelog.yml b/packages/zscaler_zia/changelog.yml index 62fd136766c..b8783670bf3 100644 --- a/packages/zscaler_zia/changelog.yml +++ b/packages/zscaler_zia/changelog.yml @@ -1,4 +1,9 @@ # newer versions go on top +- version: "3.2.3" + changes: + - description: Remove department field and add on_failure clauses. + type: bugfix + link: https://github.com/elastic/integrations/pull/10874 - version: "3.2.2" changes: - description: Sanitize unwanted characters in firewall. diff --git a/packages/zscaler_zia/data_stream/web/_dev/test/pipeline/test-web-http-endpoint.log b/packages/zscaler_zia/data_stream/web/_dev/test/pipeline/test-web-http-endpoint.log index 98f0cb09878..c40d5717740 100644 --- a/packages/zscaler_zia/data_stream/web/_dev/test/pipeline/test-web-http-endpoint.log +++ b/packages/zscaler_zia/data_stream/web/_dev/test/pipeline/test-web-http-endpoint.log @@ -1,2 +1,2 @@ -{"version":"v8","sourcetype":"zscalernss-web","event":{"time":"Mon Oct 16 22:55:48 2023","cloudname":"zscaler.net","host":"mail.google.com","serverip":"81.2.69.142","external_devid":"1234","devicemodel":"20L8S7WC08","action":"Allowed","recordid":"123456789","reason":"File Attachment Cautioned","threatseverity":"Critical (90–100)","tz":"GMT","filesubtype":"rar","upload_filesubtype":"rar","sha256":"81ec78bc8298568bb5ea66d3c2972b670d0f7459b6cdbbcaacce90ab417ab15c","bamd5":"196a3d797bfee07fe4596b69f4ce1141","filename":"nssfeed.txt","upload_filename":"nssfeed.exe","filetype":"RAR Files","devicename":"PC11NLPA:5F08D97BBF43257A8FB4BBF4061A38AE324EF734","devicehostname":"THINKPADSMITH","deviceostype":"iOS","deviceosversion":"Version 10.14.2 (Build 18C54)","devicetype":"Zscaler Client Connector","reqsize":"1300","reqmethod":"invalid","b64referer":"d3d3LmV4YW1wbGUuY29t","respsize":"10500","respcode":"100","reqversion":"1.1","respversion":"1","proto":"HTTP","company":"Zscaler","dlpmd5":"154f149b1443fbfa8c121d13e5c019a1","apprulelabel":"File_Sharing_1","dlprulename":"DLP_Rule_1","rulelabel":"URL_Filtering_1","urlfilterrulelabel":"URL_Filtering_1","cltip":"81.2.69.142","cltintip":"81.2.69.142","cltsourceport":"1235","threatname":"EICAR Test File","cltsslcipher":"SSL3_CK_RSA_NULL_MD5","clttlsversion":"SSL2","b64url":"d3d3LnRyeXRoaXNlbmNvZGV1cmwuY29tL2luZGV4","useragent":"Mozilla/5.0","login":"jdoe@safemarch.com","applayerprotocol":"FTP","appclass":"Administration","appname":"Adobe Connect","appriskscore":"None","bandwidthclassname":"Entertainment","bandwidthrulename":"Office 365","bwthrottle":"Yes","bypassedtime":"Mon Oct 16 22:55:48 2023","bypassedtraffic":"0","cltsslsessreuse":"Unknown","cltpubip":"81.2.69.142","cltsslfailcount":"100","cltsslfailreason":"Bad Record Mac","contenttype":"application/vnd_apple_keynote","datacentercity":"Sa","datacentercountry":"US","datacenter":"CA Client Node DC","day":"Mon","day_of_month":"16","dept":"Sales","deviceappversion":"81.2.69.142","deviceowner":"jsmith","df_hosthead":"df_hosthead","df_hostname":"df_hostname","dlpdicthitcount":"4","dlpdict":"Credit Cards","dlpeng":"HIPAA","dlpidentifier":"6646484838839026000","eedone":"Yes","epochtime":"1578128400","fileclass":"Active Web Contents","flow_type":"Direct","forward_gateway_ip":"10.1.1.1","forward_gateway_name":"FWD_1","forward_type":"Direct","hour":"22","is_sslexpiredca":"Yes","is_sslselfsigned":"Yes","is_ssluntrustedca":"Pass","keyprotectiontype":"HSM Protection","location":"Headquarters","malwarecategory":"Adware","malwareclass":"Sandbox","minute":"55","mobappcategory":"Communication","mobappname":"Amazon","mobdevtype":"Google Android","module":"Administration","month":"Oct","month_of_year":"10","nssserviceip":"192.168.2.200","oapprulelabel":"5300295980","obwclassname":"10831489","ocip":"6200694987","ocpubip":"624054738","odevicehostname":"2168890624","odevicename":"2175092224","odeviceowner":"10831489","odlpdict":"10831489","odlpeng":"4094304256","odlprulename":"6857275752","ofwd_gw_name":"8794487099","ologin":"4094304256","ordr_rulename":"3399565100","ourlcat":"7956407282","ourlfilterrulelabel":"4951704103","ozpa_app_seg_name":"7648246731","externalsslpolicyreason":"Blocked","productversion":"5.0.902.95524_04","rdr_rulename":"FWD_Rule_1","refererhost":"www.example.com for http://www.example.com/index.html","reqheadersize":"300","reqdatasize":"1000","respheadersize":"500","respdatasize":"10000","riskscore":"10","ruletype":"File Type Control","second":"48","srvcertchainvalpass":"Unknown","srvcertvalidationtype":"EV (Extended Validation)","srvcertvalidityperiod":"Short","srvsslcipher":"SSL3_CK_RSA_NULL_MD5","serversslsessreuse":"Unknown","srvocspresult":"Good","srvtlsversion":"SSL2","srvwildcardcert":"Unknown","ssldecrypted":"Yes","throttlereqsize":"5","throttlerespsize":"7","totalsize":"11800","trafficredirectmethod":"DNAT (Destination Translation)","unscannabletype":"Encrypted File","upload_doctypename":"Corporate Finance","upload_fileclass":"upload_fileclass","upload_filetype":"RAR Files","urlcatmethod":"Database A","urlsubcat":"Entertainment","urlsupercat":"Travel","urlclass":"Bandwidth Loss","useragentclass":"Firefox","useragenttoken":"Google Chrome (0.x)","userlocationname":"userlocationname","year":"2023","ztunnelversion":"ZTUNNEL_1_0","zpa_app_seg_name":"ZPA_test_app_segment"}} -{"version":"v8","sourcetype":"zscalernss-web","event":{"time":"Mon Oct 16 22:55:48 2023","cloudname":"zscaler.net","host":"mail.google.com","serverip":"81.2.69.142","external_devid":"1234","devicemodel":"20L8S7WC08","action":"Blocked","recordid":"123456789","reason":"File Attachment Cautioned","threatseverity":"Critical (90–100)","tz":"GMT","filesubtype":"rar","upload_filesubtype":"rar","sha256":"81ec78bc8298568bb5ea66d3c2972b670d0f7459b6cdbbcaacce90ab417ab15c","bamd5":"196a3d797bfee07fe4596b69f4ce1141","filename":"nssfeed.txt","upload_filename":"nssfeed.exe","filetype":"RAR Files","devicename":"PC11NLPA:5F08D97BBF43257A8FB4BBF4061A38AE324EF734","devicehostname":"THINKPADSMITH","deviceostype":"iOS","deviceosversion":"Version 10.14.2 (Build 18C54)","devicetype":"Zscaler Client Connector","reqsize":"1300","reqmethod":"invalid","b64referer":"d3d3LmV4YW1wbGUuY29t","respsize":"10500","respcode":"100","reqversion":"1.1","respversion":"1","proto":"HTTP","company":"Zscaler","dlpmd5":"154f149b1443fbfa8c121d13e5c019a1","apprulelabel":"File_Sharing_1","dlprulename":"DLP_Rule_1","rulelabel":"URL_Filtering_1","urlfilterrulelabel":"URL_Filtering_1","cltip":"81.2.69.142","cltintip":"81.2.69.142","cltsourceport":"1235","threatname":"EICAR Test File","cltsslcipher":"SSL3_CK_RSA_NULL_MD5","clttlsversion":"SSL2","b64url":"d3d3LnRyeXRoaXNlbmNvZGV1cmwuY29tL2luZGV4","useragent":"Mozilla/5.0","login":"jdoe@safemarch.com","applayerprotocol":"FTP","appclass":"Administration","appname":"Adobe Connect","appriskscore":"None","bandwidthclassname":"Entertainment","bandwidthrulename":"Office 365","bwthrottle":"Yes","bypassedtime":"Mon Oct 16 22:55:48 2023","bypassedtraffic":"1","cltsslsessreuse":"Unknown","cltpubip":"81.2.69.142","cltsslfailcount":"100","cltsslfailreason":"Bad Record Mac","contenttype":"application/vnd_apple_keynote","datacentercity":"Sa","datacentercountry":"US","datacenter":"CA Client Node DC","day":"Mon","day_of_month":"16","dept":"Sales","deviceappversion":"81.2.69.142","deviceowner":"jsmith","df_hosthead":"df_hosthead","df_hostname":"df_hostname","dlpdicthitcount":"4","dlpdict":"Credit Cards","dlpeng":"HIPAA","dlpidentifier":"6646484838839026000","eedone":"Yes","epochtime":"1578128400","fileclass":"Active Web Contents","flow_type":"Direct","forward_gateway_ip":"10.1.1.1","forward_gateway_name":"FWD_1","forward_type":"Direct","hour":"22","is_sslexpiredca":"Yes","is_sslselfsigned":"Yes","is_ssluntrustedca":"Pass","keyprotectiontype":"HSM Protection","location":"Headquarters","malwarecategory":"Adware","malwareclass":"Sandbox","minute":"55","mobappcategory":"Communication","mobappname":"Amazon","mobdevtype":"Google Android","module":"Administration","month":"Oct","month_of_year":"10","nssserviceip":"192.168.2.200","oapprulelabel":"5300295980","obwclassname":"10831489","ocip":"6200694987","ocpubip":"624054738","odevicehostname":"2168890624","odevicename":"2175092224","odeviceowner":"10831489","odlpdict":"10831489","odlpeng":"4094304256","odlprulename":"6857275752","ofwd_gw_name":"8794487099","ologin":"4094304256","ordr_rulename":"3399565100","ourlcat":"7956407282","ourlfilterrulelabel":"4951704103","ozpa_app_seg_name":"7648246731","externalsslpolicyreason":"Blocked","productversion":"5.0.902.95524_04","rdr_rulename":"FWD_Rule_1","refererhost":"www.example.com for http://www.example.com/index.html","reqheadersize":"300","reqdatasize":"1000","respheadersize":"500","respdatasize":"10000","riskscore":"10","ruletype":"File Type Control","second":"48","srvcertchainvalpass":"Unknown","srvcertvalidationtype":"EV (Extended Validation)","srvcertvalidityperiod":"Short","srvsslcipher":"SSL3_CK_RSA_NULL_MD5","serversslsessreuse":"Unknown","srvocspresult":"Good","srvtlsversion":"SSL2","srvwildcardcert":"Unknown","ssldecrypted":"Yes","throttlereqsize":"5","throttlerespsize":"7","totalsize":"11800","trafficredirectmethod":"DNAT (Destination Translation)","unscannabletype":"Encrypted File","upload_doctypename":"Corporate Finance","upload_fileclass":"upload_fileclass","upload_filetype":"RAR Files","urlcatmethod":"Database A","urlsubcat":"Entertainment","urlsupercat":"Travel","urlclass":"Bandwidth Loss","useragentclass":"Firefox","useragenttoken":"Google Chrome (0.x)","userlocationname":"userlocationname","year":"2023","ztunnelversion":"ZTUNNEL_1_0","zpa_app_seg_name":"ZPA_test_app_segment"}} +{"version":"v9","sourcetype":"zscalernss-web","event":{"time":"Mon Oct 16 22:55:48 2023","cloudname":"zscaler.net","host":"mail.google.com","serverip":"81.2.69.142","external_devid":"1234","devicemodel":"20L8S7WC08","action":"Allowed","recordid":"123456789","reason":"File Attachment Cautioned","threatseverity":"Critical (90–100)","tz":"GMT","filesubtype":"rar","upload_filesubtype":"rar","sha256":"81ec78bc8298568bb5ea66d3c2972b670d0f7459b6cdbbcaacce90ab417ab15c","bamd5":"196a3d797bfee07fe4596b69f4ce1141","filename":"nssfeed.txt","upload_filename":"nssfeed.exe","filetype":"RAR Files","devicename":"PC11NLPA:5F08D97BBF43257A8FB4BBF4061A38AE324EF734","devicehostname":"THINKPADSMITH","deviceostype":"iOS","deviceosversion":"Version 10.14.2 (Build 18C54)","devicetype":"Zscaler Client Connector","reqsize":"1300","reqmethod":"invalid","b64referer":"d3d3LmV4YW1wbGUuY29t","respsize":"10500","respcode":"100","reqversion":"1.1","respversion":"1","proto":"HTTP","company":"Zscaler","dlpmd5":"154f149b1443fbfa8c121d13e5c019a1","apprulelabel":"File_Sharing_1","dlprulename":"DLP_Rule_1","rulelabel":"URL_Filtering_1","urlfilterrulelabel":"URL_Filtering_1","cltip":"81.2.69.142","cltintip":"81.2.69.142","cltsourceport":"1235","threatname":"EICAR Test File","cltsslcipher":"SSL3_CK_RSA_NULL_MD5","clttlsversion":"SSL2","b64url":"d3d3LnRyeXRoaXNlbmNvZGV1cmwuY29tL2luZGV4","useragent":"Mozilla/5.0","login":"jdoe@safemarch.com","applayerprotocol":"FTP","appclass":"Administration","appname":"Adobe Connect","appriskscore":"None","bandwidthclassname":"Entertainment","bandwidthrulename":"Office 365","bwthrottle":"Yes","bypassedtime":"Mon Oct 16 22:55:48 2023","bypassedtraffic":"0","cltsslsessreuse":"Unknown","cltpubip":"81.2.69.142","cltsslfailcount":"100","cltsslfailreason":"Bad Record Mac","contenttype":"application/vnd_apple_keynote","datacentercity":"Sa","datacentercountry":"US","datacenter":"CA Client Node DC","day":"Mon","day_of_month":"16","dept":"Sales","deviceappversion":"81.2.69.142","deviceowner":"jsmith","df_hosthead":"df_hosthead","df_hostname":"df_hostname","dlpdicthitcount":"4","dlpdict":"Credit Cards","dlpeng":"HIPAA","dlpidentifier":"6646484838839026000","eedone":"Yes","epochtime":"1578128400","fileclass":"Active Web Contents","flow_type":"Direct","forward_gateway_ip":"10.1.1.1","forward_gateway_name":"FWD_1","forward_type":"Direct","hour":"22","is_sslexpiredca":"Yes","is_sslselfsigned":"Yes","is_ssluntrustedca":"Pass","keyprotectiontype":"HSM Protection","location":"Headquarters","malwarecategory":"Adware","malwareclass":"Sandbox","minute":"55","mobappcategory":"Communication","mobappname":"Amazon","mobdevtype":"Google Android","module":"Administration","month":"Oct","month_of_year":"10","nssserviceip":"192.168.2.200","oapprulelabel":"5300295980","obwclassname":"10831489","ocip":"6200694987","ocpubip":"624054738","odevicehostname":"2168890624","odevicename":"2175092224","odeviceowner":"10831489","odlpdict":"10831489","odlpeng":"4094304256","odlprulename":"6857275752","ofwd_gw_name":"8794487099","ologin":"4094304256","ordr_rulename":"3399565100","ourlcat":"7956407282","ourlfilterrulelabel":"4951704103","ozpa_app_seg_name":"7648246731","externalsslpolicyreason":"Blocked","productversion":"5.0.902.95524_04","rdr_rulename":"FWD_Rule_1","refererhost":"www.example.com for http://www.example.com/index.html","reqheadersize":"300","reqdatasize":"1000","respheadersize":"500","respdatasize":"10000","riskscore":"10","ruletype":"File Type Control","second":"48","srvcertchainvalpass":"Unknown","srvcertvalidationtype":"EV (Extended Validation)","srvcertvalidityperiod":"Short","srvsslcipher":"SSL3_CK_RSA_NULL_MD5","serversslsessreuse":"Unknown","srvocspresult":"Good","srvtlsversion":"SSL2","srvwildcardcert":"Unknown","ssldecrypted":"Yes","throttlereqsize":"5","throttlerespsize":"7","totalsize":"11800","trafficredirectmethod":"DNAT (Destination Translation)","unscannabletype":"Encrypted File","upload_doctypename":"Corporate Finance","upload_fileclass":"upload_fileclass","upload_filetype":"RAR Files","urlcatmethod":"Database A","urlsubcat":"Entertainment","urlsupercat":"Travel","urlclass":"Bandwidth Loss","useragentclass":"Firefox","useragenttoken":"Google Chrome (0.x)","userlocationname":"userlocationname","year":"2023","ztunnelversion":"ZTUNNEL_1_0","zpa_app_seg_name":"ZPA_test_app_segment"}} +{"version":"v9","sourcetype":"zscalernss-web","event":{"time":"Mon Oct 16 22:55:48 2023","cloudname":"zscaler.net","host":"mail.google.com","serverip":"81.2.69.142","external_devid":"1234","devicemodel":"20L8S7WC08","action":"Blocked","recordid":"123456789","reason":"File Attachment Cautioned","threatseverity":"Critical (90–100)","tz":"GMT","filesubtype":"rar","upload_filesubtype":"rar","sha256":"81ec78bc8298568bb5ea66d3c2972b670d0f7459b6cdbbcaacce90ab417ab15c","bamd5":"196a3d797bfee07fe4596b69f4ce1141","filename":"nssfeed.txt","upload_filename":"nssfeed.exe","filetype":"RAR Files","devicename":"PC11NLPA:5F08D97BBF43257A8FB4BBF4061A38AE324EF734","devicehostname":"THINKPADSMITH","deviceostype":"iOS","deviceosversion":"Version 10.14.2 (Build 18C54)","devicetype":"Zscaler Client Connector","reqsize":"1300","reqmethod":"invalid","b64referer":"d3d3LmV4YW1wbGUuY29t","respsize":"10500","respcode":"100","reqversion":"1.1","respversion":"1","proto":"HTTP","company":"Zscaler","dlpmd5":"154f149b1443fbfa8c121d13e5c019a1","apprulelabel":"File_Sharing_1","dlprulename":"DLP_Rule_1","rulelabel":"URL_Filtering_1","urlfilterrulelabel":"URL_Filtering_1","cltip":"81.2.69.142","cltintip":"81.2.69.142","cltsourceport":"1235","threatname":"EICAR Test File","cltsslcipher":"SSL3_CK_RSA_NULL_MD5","clttlsversion":"SSL2","b64url":"d3d3LnRyeXRoaXNlbmNvZGV1cmwuY29tL2luZGV4","useragent":"Mozilla/5.0","login":"jdoe@safemarch.com","applayerprotocol":"FTP","appclass":"Administration","appname":"Adobe Connect","appriskscore":"None","bandwidthclassname":"Entertainment","bandwidthrulename":"Office 365","bwthrottle":"Yes","bypassedtime":"Mon Oct 16 22:55:48 2023","bypassedtraffic":"1","cltsslsessreuse":"Unknown","cltpubip":"81.2.69.142","cltsslfailcount":"100","cltsslfailreason":"Bad Record Mac","contenttype":"application/vnd_apple_keynote","datacentercity":"Sa","datacentercountry":"US","datacenter":"CA Client Node DC","day":"Mon","day_of_month":"16","dept":"Sales","deviceappversion":"81.2.69.142","deviceowner":"jsmith","df_hosthead":"df_hosthead","df_hostname":"df_hostname","dlpdicthitcount":"4","dlpdict":"Credit Cards","dlpeng":"HIPAA","dlpidentifier":"6646484838839026000","eedone":"Yes","epochtime":"1578128400","fileclass":"Active Web Contents","flow_type":"Direct","forward_gateway_ip":"10.1.1.1","forward_gateway_name":"FWD_1","forward_type":"Direct","hour":"22","is_sslexpiredca":"Yes","is_sslselfsigned":"Yes","is_ssluntrustedca":"Pass","keyprotectiontype":"HSM Protection","location":"Headquarters","malwarecategory":"Adware","malwareclass":"Sandbox","minute":"55","mobappcategory":"Communication","mobappname":"Amazon","mobdevtype":"Google Android","module":"Administration","month":"Oct","month_of_year":"10","nssserviceip":"192.168.2.200","oapprulelabel":"5300295980","obwclassname":"10831489","ocip":"6200694987","ocpubip":"624054738","odevicehostname":"2168890624","odevicename":"2175092224","odeviceowner":"10831489","odlpdict":"10831489","odlpeng":"4094304256","odlprulename":"6857275752","ofwd_gw_name":"8794487099","ologin":"4094304256","ordr_rulename":"3399565100","ourlcat":"7956407282","ourlfilterrulelabel":"4951704103","ozpa_app_seg_name":"7648246731","externalsslpolicyreason":"Blocked","productversion":"5.0.902.95524_04","rdr_rulename":"FWD_Rule_1","refererhost":"www.example.com for http://www.example.com/index.html","reqheadersize":"300","reqdatasize":"1000","respheadersize":"500","respdatasize":"10000","riskscore":"10","ruletype":"File Type Control","second":"48","srvcertchainvalpass":"Unknown","srvcertvalidationtype":"EV (Extended Validation)","srvcertvalidityperiod":"Short","srvsslcipher":"SSL3_CK_RSA_NULL_MD5","serversslsessreuse":"Unknown","srvocspresult":"Good","srvtlsversion":"SSL2","srvwildcardcert":"Unknown","ssldecrypted":"Yes","throttlereqsize":"5","throttlerespsize":"7","totalsize":"11800","trafficredirectmethod":"DNAT (Destination Translation)","unscannabletype":"Encrypted File","upload_doctypename":"Corporate Finance","upload_fileclass":"upload_fileclass","upload_filetype":"RAR Files","urlcatmethod":"Database A","urlsubcat":"Entertainment","urlsupercat":"Travel","urlclass":"Bandwidth Loss","useragentclass":"Firefox","useragenttoken":"Google Chrome (0.x)","userlocationname":"userlocationname","year":"2023","ztunnelversion":"ZTUNNEL_1_0","zpa_app_seg_name":"ZPA_test_app_segment"}} diff --git a/packages/zscaler_zia/data_stream/web/_dev/test/pipeline/test-web-http-endpoint.log-expected.json b/packages/zscaler_zia/data_stream/web/_dev/test/pipeline/test-web-http-endpoint.log-expected.json index 3b9b1db3871..a4fb864cebe 100644 --- a/packages/zscaler_zia/data_stream/web/_dev/test/pipeline/test-web-http-endpoint.log-expected.json +++ b/packages/zscaler_zia/data_stream/web/_dev/test/pipeline/test-web-http-endpoint.log-expected.json @@ -37,7 +37,7 @@ ], "id": "123456789", "kind": "event", - "original": "{\"version\":\"v8\",\"sourcetype\":\"zscalernss-web\",\"event\":{\"time\":\"Mon Oct 16 22:55:48 2023\",\"cloudname\":\"zscaler.net\",\"host\":\"mail.google.com\",\"serverip\":\"81.2.69.142\",\"external_devid\":\"1234\",\"devicemodel\":\"20L8S7WC08\",\"action\":\"Allowed\",\"recordid\":\"123456789\",\"reason\":\"File Attachment Cautioned\",\"threatseverity\":\"Critical (90–100)\",\"tz\":\"GMT\",\"filesubtype\":\"rar\",\"upload_filesubtype\":\"rar\",\"sha256\":\"81ec78bc8298568bb5ea66d3c2972b670d0f7459b6cdbbcaacce90ab417ab15c\",\"bamd5\":\"196a3d797bfee07fe4596b69f4ce1141\",\"filename\":\"nssfeed.txt\",\"upload_filename\":\"nssfeed.exe\",\"filetype\":\"RAR Files\",\"devicename\":\"PC11NLPA:5F08D97BBF43257A8FB4BBF4061A38AE324EF734\",\"devicehostname\":\"THINKPADSMITH\",\"deviceostype\":\"iOS\",\"deviceosversion\":\"Version 10.14.2 (Build 18C54)\",\"devicetype\":\"Zscaler Client Connector\",\"reqsize\":\"1300\",\"reqmethod\":\"invalid\",\"b64referer\":\"d3d3LmV4YW1wbGUuY29t\",\"respsize\":\"10500\",\"respcode\":\"100\",\"reqversion\":\"1.1\",\"respversion\":\"1\",\"proto\":\"HTTP\",\"company\":\"Zscaler\",\"dlpmd5\":\"154f149b1443fbfa8c121d13e5c019a1\",\"apprulelabel\":\"File_Sharing_1\",\"dlprulename\":\"DLP_Rule_1\",\"rulelabel\":\"URL_Filtering_1\",\"urlfilterrulelabel\":\"URL_Filtering_1\",\"cltip\":\"81.2.69.142\",\"cltintip\":\"81.2.69.142\",\"cltsourceport\":\"1235\",\"threatname\":\"EICAR Test File\",\"cltsslcipher\":\"SSL3_CK_RSA_NULL_MD5\",\"clttlsversion\":\"SSL2\",\"b64url\":\"d3d3LnRyeXRoaXNlbmNvZGV1cmwuY29tL2luZGV4\",\"useragent\":\"Mozilla/5.0\",\"login\":\"jdoe@safemarch.com\",\"applayerprotocol\":\"FTP\",\"appclass\":\"Administration\",\"appname\":\"Adobe Connect\",\"appriskscore\":\"None\",\"bandwidthclassname\":\"Entertainment\",\"bandwidthrulename\":\"Office 365\",\"bwthrottle\":\"Yes\",\"bypassedtime\":\"Mon Oct 16 22:55:48 2023\",\"bypassedtraffic\":\"0\",\"cltsslsessreuse\":\"Unknown\",\"cltpubip\":\"81.2.69.142\",\"cltsslfailcount\":\"100\",\"cltsslfailreason\":\"Bad Record Mac\",\"contenttype\":\"application/vnd_apple_keynote\",\"datacentercity\":\"Sa\",\"datacentercountry\":\"US\",\"datacenter\":\"CA Client Node DC\",\"day\":\"Mon\",\"day_of_month\":\"16\",\"dept\":\"Sales\",\"deviceappversion\":\"81.2.69.142\",\"deviceowner\":\"jsmith\",\"df_hosthead\":\"df_hosthead\",\"df_hostname\":\"df_hostname\",\"dlpdicthitcount\":\"4\",\"dlpdict\":\"Credit Cards\",\"dlpeng\":\"HIPAA\",\"dlpidentifier\":\"6646484838839026000\",\"eedone\":\"Yes\",\"epochtime\":\"1578128400\",\"fileclass\":\"Active Web Contents\",\"flow_type\":\"Direct\",\"forward_gateway_ip\":\"10.1.1.1\",\"forward_gateway_name\":\"FWD_1\",\"forward_type\":\"Direct\",\"hour\":\"22\",\"is_sslexpiredca\":\"Yes\",\"is_sslselfsigned\":\"Yes\",\"is_ssluntrustedca\":\"Pass\",\"keyprotectiontype\":\"HSM Protection\",\"location\":\"Headquarters\",\"malwarecategory\":\"Adware\",\"malwareclass\":\"Sandbox\",\"minute\":\"55\",\"mobappcategory\":\"Communication\",\"mobappname\":\"Amazon\",\"mobdevtype\":\"Google Android\",\"module\":\"Administration\",\"month\":\"Oct\",\"month_of_year\":\"10\",\"nssserviceip\":\"192.168.2.200\",\"oapprulelabel\":\"5300295980\",\"obwclassname\":\"10831489\",\"ocip\":\"6200694987\",\"ocpubip\":\"624054738\",\"odevicehostname\":\"2168890624\",\"odevicename\":\"2175092224\",\"odeviceowner\":\"10831489\",\"odlpdict\":\"10831489\",\"odlpeng\":\"4094304256\",\"odlprulename\":\"6857275752\",\"ofwd_gw_name\":\"8794487099\",\"ologin\":\"4094304256\",\"ordr_rulename\":\"3399565100\",\"ourlcat\":\"7956407282\",\"ourlfilterrulelabel\":\"4951704103\",\"ozpa_app_seg_name\":\"7648246731\",\"externalsslpolicyreason\":\"Blocked\",\"productversion\":\"5.0.902.95524_04\",\"rdr_rulename\":\"FWD_Rule_1\",\"refererhost\":\"www.example.com for http://www.example.com/index.html\",\"reqheadersize\":\"300\",\"reqdatasize\":\"1000\",\"respheadersize\":\"500\",\"respdatasize\":\"10000\",\"riskscore\":\"10\",\"ruletype\":\"File Type Control\",\"second\":\"48\",\"srvcertchainvalpass\":\"Unknown\",\"srvcertvalidationtype\":\"EV (Extended Validation)\",\"srvcertvalidityperiod\":\"Short\",\"srvsslcipher\":\"SSL3_CK_RSA_NULL_MD5\",\"serversslsessreuse\":\"Unknown\",\"srvocspresult\":\"Good\",\"srvtlsversion\":\"SSL2\",\"srvwildcardcert\":\"Unknown\",\"ssldecrypted\":\"Yes\",\"throttlereqsize\":\"5\",\"throttlerespsize\":\"7\",\"totalsize\":\"11800\",\"trafficredirectmethod\":\"DNAT (Destination Translation)\",\"unscannabletype\":\"Encrypted File\",\"upload_doctypename\":\"Corporate Finance\",\"upload_fileclass\":\"upload_fileclass\",\"upload_filetype\":\"RAR Files\",\"urlcatmethod\":\"Database A\",\"urlsubcat\":\"Entertainment\",\"urlsupercat\":\"Travel\",\"urlclass\":\"Bandwidth Loss\",\"useragentclass\":\"Firefox\",\"useragenttoken\":\"Google Chrome (0.x)\",\"userlocationname\":\"userlocationname\",\"year\":\"2023\",\"ztunnelversion\":\"ZTUNNEL_1_0\",\"zpa_app_seg_name\":\"ZPA_test_app_segment\"}}", + "original": "{\"version\":\"v9\",\"sourcetype\":\"zscalernss-web\",\"event\":{\"time\":\"Mon Oct 16 22:55:48 2023\",\"cloudname\":\"zscaler.net\",\"host\":\"mail.google.com\",\"serverip\":\"81.2.69.142\",\"external_devid\":\"1234\",\"devicemodel\":\"20L8S7WC08\",\"action\":\"Allowed\",\"recordid\":\"123456789\",\"reason\":\"File Attachment Cautioned\",\"threatseverity\":\"Critical (90–100)\",\"tz\":\"GMT\",\"filesubtype\":\"rar\",\"upload_filesubtype\":\"rar\",\"sha256\":\"81ec78bc8298568bb5ea66d3c2972b670d0f7459b6cdbbcaacce90ab417ab15c\",\"bamd5\":\"196a3d797bfee07fe4596b69f4ce1141\",\"filename\":\"nssfeed.txt\",\"upload_filename\":\"nssfeed.exe\",\"filetype\":\"RAR Files\",\"devicename\":\"PC11NLPA:5F08D97BBF43257A8FB4BBF4061A38AE324EF734\",\"devicehostname\":\"THINKPADSMITH\",\"deviceostype\":\"iOS\",\"deviceosversion\":\"Version 10.14.2 (Build 18C54)\",\"devicetype\":\"Zscaler Client Connector\",\"reqsize\":\"1300\",\"reqmethod\":\"invalid\",\"b64referer\":\"d3d3LmV4YW1wbGUuY29t\",\"respsize\":\"10500\",\"respcode\":\"100\",\"reqversion\":\"1.1\",\"respversion\":\"1\",\"proto\":\"HTTP\",\"company\":\"Zscaler\",\"dlpmd5\":\"154f149b1443fbfa8c121d13e5c019a1\",\"apprulelabel\":\"File_Sharing_1\",\"dlprulename\":\"DLP_Rule_1\",\"rulelabel\":\"URL_Filtering_1\",\"urlfilterrulelabel\":\"URL_Filtering_1\",\"cltip\":\"81.2.69.142\",\"cltintip\":\"81.2.69.142\",\"cltsourceport\":\"1235\",\"threatname\":\"EICAR Test File\",\"cltsslcipher\":\"SSL3_CK_RSA_NULL_MD5\",\"clttlsversion\":\"SSL2\",\"b64url\":\"d3d3LnRyeXRoaXNlbmNvZGV1cmwuY29tL2luZGV4\",\"useragent\":\"Mozilla/5.0\",\"login\":\"jdoe@safemarch.com\",\"applayerprotocol\":\"FTP\",\"appclass\":\"Administration\",\"appname\":\"Adobe Connect\",\"appriskscore\":\"None\",\"bandwidthclassname\":\"Entertainment\",\"bandwidthrulename\":\"Office 365\",\"bwthrottle\":\"Yes\",\"bypassedtime\":\"Mon Oct 16 22:55:48 2023\",\"bypassedtraffic\":\"0\",\"cltsslsessreuse\":\"Unknown\",\"cltpubip\":\"81.2.69.142\",\"cltsslfailcount\":\"100\",\"cltsslfailreason\":\"Bad Record Mac\",\"contenttype\":\"application/vnd_apple_keynote\",\"datacentercity\":\"Sa\",\"datacentercountry\":\"US\",\"datacenter\":\"CA Client Node DC\",\"day\":\"Mon\",\"day_of_month\":\"16\",\"dept\":\"Sales\",\"deviceappversion\":\"81.2.69.142\",\"deviceowner\":\"jsmith\",\"df_hosthead\":\"df_hosthead\",\"df_hostname\":\"df_hostname\",\"dlpdicthitcount\":\"4\",\"dlpdict\":\"Credit Cards\",\"dlpeng\":\"HIPAA\",\"dlpidentifier\":\"6646484838839026000\",\"eedone\":\"Yes\",\"epochtime\":\"1578128400\",\"fileclass\":\"Active Web Contents\",\"flow_type\":\"Direct\",\"forward_gateway_ip\":\"10.1.1.1\",\"forward_gateway_name\":\"FWD_1\",\"forward_type\":\"Direct\",\"hour\":\"22\",\"is_sslexpiredca\":\"Yes\",\"is_sslselfsigned\":\"Yes\",\"is_ssluntrustedca\":\"Pass\",\"keyprotectiontype\":\"HSM Protection\",\"location\":\"Headquarters\",\"malwarecategory\":\"Adware\",\"malwareclass\":\"Sandbox\",\"minute\":\"55\",\"mobappcategory\":\"Communication\",\"mobappname\":\"Amazon\",\"mobdevtype\":\"Google Android\",\"module\":\"Administration\",\"month\":\"Oct\",\"month_of_year\":\"10\",\"nssserviceip\":\"192.168.2.200\",\"oapprulelabel\":\"5300295980\",\"obwclassname\":\"10831489\",\"ocip\":\"6200694987\",\"ocpubip\":\"624054738\",\"odevicehostname\":\"2168890624\",\"odevicename\":\"2175092224\",\"odeviceowner\":\"10831489\",\"odlpdict\":\"10831489\",\"odlpeng\":\"4094304256\",\"odlprulename\":\"6857275752\",\"ofwd_gw_name\":\"8794487099\",\"ologin\":\"4094304256\",\"ordr_rulename\":\"3399565100\",\"ourlcat\":\"7956407282\",\"ourlfilterrulelabel\":\"4951704103\",\"ozpa_app_seg_name\":\"7648246731\",\"externalsslpolicyreason\":\"Blocked\",\"productversion\":\"5.0.902.95524_04\",\"rdr_rulename\":\"FWD_Rule_1\",\"refererhost\":\"www.example.com for http://www.example.com/index.html\",\"reqheadersize\":\"300\",\"reqdatasize\":\"1000\",\"respheadersize\":\"500\",\"respdatasize\":\"10000\",\"riskscore\":\"10\",\"ruletype\":\"File Type Control\",\"second\":\"48\",\"srvcertchainvalpass\":\"Unknown\",\"srvcertvalidationtype\":\"EV (Extended Validation)\",\"srvcertvalidityperiod\":\"Short\",\"srvsslcipher\":\"SSL3_CK_RSA_NULL_MD5\",\"serversslsessreuse\":\"Unknown\",\"srvocspresult\":\"Good\",\"srvtlsversion\":\"SSL2\",\"srvwildcardcert\":\"Unknown\",\"ssldecrypted\":\"Yes\",\"throttlereqsize\":\"5\",\"throttlerespsize\":\"7\",\"totalsize\":\"11800\",\"trafficredirectmethod\":\"DNAT (Destination Translation)\",\"unscannabletype\":\"Encrypted File\",\"upload_doctypename\":\"Corporate Finance\",\"upload_fileclass\":\"upload_fileclass\",\"upload_filetype\":\"RAR Files\",\"urlcatmethod\":\"Database A\",\"urlsubcat\":\"Entertainment\",\"urlsupercat\":\"Travel\",\"urlclass\":\"Bandwidth Loss\",\"useragentclass\":\"Firefox\",\"useragenttoken\":\"Google Chrome (0.x)\",\"userlocationname\":\"userlocationname\",\"year\":\"2023\",\"ztunnelversion\":\"ZTUNNEL_1_0\",\"zpa_app_seg_name\":\"ZPA_test_app_segment\"}}", "reason": "File Attachment Cautioned", "timezone": "GMT", "type": [ @@ -461,7 +461,7 @@ ], "id": "123456789", "kind": "event", - "original": "{\"version\":\"v8\",\"sourcetype\":\"zscalernss-web\",\"event\":{\"time\":\"Mon Oct 16 22:55:48 2023\",\"cloudname\":\"zscaler.net\",\"host\":\"mail.google.com\",\"serverip\":\"81.2.69.142\",\"external_devid\":\"1234\",\"devicemodel\":\"20L8S7WC08\",\"action\":\"Blocked\",\"recordid\":\"123456789\",\"reason\":\"File Attachment Cautioned\",\"threatseverity\":\"Critical (90–100)\",\"tz\":\"GMT\",\"filesubtype\":\"rar\",\"upload_filesubtype\":\"rar\",\"sha256\":\"81ec78bc8298568bb5ea66d3c2972b670d0f7459b6cdbbcaacce90ab417ab15c\",\"bamd5\":\"196a3d797bfee07fe4596b69f4ce1141\",\"filename\":\"nssfeed.txt\",\"upload_filename\":\"nssfeed.exe\",\"filetype\":\"RAR Files\",\"devicename\":\"PC11NLPA:5F08D97BBF43257A8FB4BBF4061A38AE324EF734\",\"devicehostname\":\"THINKPADSMITH\",\"deviceostype\":\"iOS\",\"deviceosversion\":\"Version 10.14.2 (Build 18C54)\",\"devicetype\":\"Zscaler Client Connector\",\"reqsize\":\"1300\",\"reqmethod\":\"invalid\",\"b64referer\":\"d3d3LmV4YW1wbGUuY29t\",\"respsize\":\"10500\",\"respcode\":\"100\",\"reqversion\":\"1.1\",\"respversion\":\"1\",\"proto\":\"HTTP\",\"company\":\"Zscaler\",\"dlpmd5\":\"154f149b1443fbfa8c121d13e5c019a1\",\"apprulelabel\":\"File_Sharing_1\",\"dlprulename\":\"DLP_Rule_1\",\"rulelabel\":\"URL_Filtering_1\",\"urlfilterrulelabel\":\"URL_Filtering_1\",\"cltip\":\"81.2.69.142\",\"cltintip\":\"81.2.69.142\",\"cltsourceport\":\"1235\",\"threatname\":\"EICAR Test File\",\"cltsslcipher\":\"SSL3_CK_RSA_NULL_MD5\",\"clttlsversion\":\"SSL2\",\"b64url\":\"d3d3LnRyeXRoaXNlbmNvZGV1cmwuY29tL2luZGV4\",\"useragent\":\"Mozilla/5.0\",\"login\":\"jdoe@safemarch.com\",\"applayerprotocol\":\"FTP\",\"appclass\":\"Administration\",\"appname\":\"Adobe Connect\",\"appriskscore\":\"None\",\"bandwidthclassname\":\"Entertainment\",\"bandwidthrulename\":\"Office 365\",\"bwthrottle\":\"Yes\",\"bypassedtime\":\"Mon Oct 16 22:55:48 2023\",\"bypassedtraffic\":\"1\",\"cltsslsessreuse\":\"Unknown\",\"cltpubip\":\"81.2.69.142\",\"cltsslfailcount\":\"100\",\"cltsslfailreason\":\"Bad Record Mac\",\"contenttype\":\"application/vnd_apple_keynote\",\"datacentercity\":\"Sa\",\"datacentercountry\":\"US\",\"datacenter\":\"CA Client Node DC\",\"day\":\"Mon\",\"day_of_month\":\"16\",\"dept\":\"Sales\",\"deviceappversion\":\"81.2.69.142\",\"deviceowner\":\"jsmith\",\"df_hosthead\":\"df_hosthead\",\"df_hostname\":\"df_hostname\",\"dlpdicthitcount\":\"4\",\"dlpdict\":\"Credit Cards\",\"dlpeng\":\"HIPAA\",\"dlpidentifier\":\"6646484838839026000\",\"eedone\":\"Yes\",\"epochtime\":\"1578128400\",\"fileclass\":\"Active Web Contents\",\"flow_type\":\"Direct\",\"forward_gateway_ip\":\"10.1.1.1\",\"forward_gateway_name\":\"FWD_1\",\"forward_type\":\"Direct\",\"hour\":\"22\",\"is_sslexpiredca\":\"Yes\",\"is_sslselfsigned\":\"Yes\",\"is_ssluntrustedca\":\"Pass\",\"keyprotectiontype\":\"HSM Protection\",\"location\":\"Headquarters\",\"malwarecategory\":\"Adware\",\"malwareclass\":\"Sandbox\",\"minute\":\"55\",\"mobappcategory\":\"Communication\",\"mobappname\":\"Amazon\",\"mobdevtype\":\"Google Android\",\"module\":\"Administration\",\"month\":\"Oct\",\"month_of_year\":\"10\",\"nssserviceip\":\"192.168.2.200\",\"oapprulelabel\":\"5300295980\",\"obwclassname\":\"10831489\",\"ocip\":\"6200694987\",\"ocpubip\":\"624054738\",\"odevicehostname\":\"2168890624\",\"odevicename\":\"2175092224\",\"odeviceowner\":\"10831489\",\"odlpdict\":\"10831489\",\"odlpeng\":\"4094304256\",\"odlprulename\":\"6857275752\",\"ofwd_gw_name\":\"8794487099\",\"ologin\":\"4094304256\",\"ordr_rulename\":\"3399565100\",\"ourlcat\":\"7956407282\",\"ourlfilterrulelabel\":\"4951704103\",\"ozpa_app_seg_name\":\"7648246731\",\"externalsslpolicyreason\":\"Blocked\",\"productversion\":\"5.0.902.95524_04\",\"rdr_rulename\":\"FWD_Rule_1\",\"refererhost\":\"www.example.com for http://www.example.com/index.html\",\"reqheadersize\":\"300\",\"reqdatasize\":\"1000\",\"respheadersize\":\"500\",\"respdatasize\":\"10000\",\"riskscore\":\"10\",\"ruletype\":\"File Type Control\",\"second\":\"48\",\"srvcertchainvalpass\":\"Unknown\",\"srvcertvalidationtype\":\"EV (Extended Validation)\",\"srvcertvalidityperiod\":\"Short\",\"srvsslcipher\":\"SSL3_CK_RSA_NULL_MD5\",\"serversslsessreuse\":\"Unknown\",\"srvocspresult\":\"Good\",\"srvtlsversion\":\"SSL2\",\"srvwildcardcert\":\"Unknown\",\"ssldecrypted\":\"Yes\",\"throttlereqsize\":\"5\",\"throttlerespsize\":\"7\",\"totalsize\":\"11800\",\"trafficredirectmethod\":\"DNAT (Destination Translation)\",\"unscannabletype\":\"Encrypted File\",\"upload_doctypename\":\"Corporate Finance\",\"upload_fileclass\":\"upload_fileclass\",\"upload_filetype\":\"RAR Files\",\"urlcatmethod\":\"Database A\",\"urlsubcat\":\"Entertainment\",\"urlsupercat\":\"Travel\",\"urlclass\":\"Bandwidth Loss\",\"useragentclass\":\"Firefox\",\"useragenttoken\":\"Google Chrome (0.x)\",\"userlocationname\":\"userlocationname\",\"year\":\"2023\",\"ztunnelversion\":\"ZTUNNEL_1_0\",\"zpa_app_seg_name\":\"ZPA_test_app_segment\"}}", + "original": "{\"version\":\"v9\",\"sourcetype\":\"zscalernss-web\",\"event\":{\"time\":\"Mon Oct 16 22:55:48 2023\",\"cloudname\":\"zscaler.net\",\"host\":\"mail.google.com\",\"serverip\":\"81.2.69.142\",\"external_devid\":\"1234\",\"devicemodel\":\"20L8S7WC08\",\"action\":\"Blocked\",\"recordid\":\"123456789\",\"reason\":\"File Attachment Cautioned\",\"threatseverity\":\"Critical (90–100)\",\"tz\":\"GMT\",\"filesubtype\":\"rar\",\"upload_filesubtype\":\"rar\",\"sha256\":\"81ec78bc8298568bb5ea66d3c2972b670d0f7459b6cdbbcaacce90ab417ab15c\",\"bamd5\":\"196a3d797bfee07fe4596b69f4ce1141\",\"filename\":\"nssfeed.txt\",\"upload_filename\":\"nssfeed.exe\",\"filetype\":\"RAR Files\",\"devicename\":\"PC11NLPA:5F08D97BBF43257A8FB4BBF4061A38AE324EF734\",\"devicehostname\":\"THINKPADSMITH\",\"deviceostype\":\"iOS\",\"deviceosversion\":\"Version 10.14.2 (Build 18C54)\",\"devicetype\":\"Zscaler Client Connector\",\"reqsize\":\"1300\",\"reqmethod\":\"invalid\",\"b64referer\":\"d3d3LmV4YW1wbGUuY29t\",\"respsize\":\"10500\",\"respcode\":\"100\",\"reqversion\":\"1.1\",\"respversion\":\"1\",\"proto\":\"HTTP\",\"company\":\"Zscaler\",\"dlpmd5\":\"154f149b1443fbfa8c121d13e5c019a1\",\"apprulelabel\":\"File_Sharing_1\",\"dlprulename\":\"DLP_Rule_1\",\"rulelabel\":\"URL_Filtering_1\",\"urlfilterrulelabel\":\"URL_Filtering_1\",\"cltip\":\"81.2.69.142\",\"cltintip\":\"81.2.69.142\",\"cltsourceport\":\"1235\",\"threatname\":\"EICAR Test File\",\"cltsslcipher\":\"SSL3_CK_RSA_NULL_MD5\",\"clttlsversion\":\"SSL2\",\"b64url\":\"d3d3LnRyeXRoaXNlbmNvZGV1cmwuY29tL2luZGV4\",\"useragent\":\"Mozilla/5.0\",\"login\":\"jdoe@safemarch.com\",\"applayerprotocol\":\"FTP\",\"appclass\":\"Administration\",\"appname\":\"Adobe Connect\",\"appriskscore\":\"None\",\"bandwidthclassname\":\"Entertainment\",\"bandwidthrulename\":\"Office 365\",\"bwthrottle\":\"Yes\",\"bypassedtime\":\"Mon Oct 16 22:55:48 2023\",\"bypassedtraffic\":\"1\",\"cltsslsessreuse\":\"Unknown\",\"cltpubip\":\"81.2.69.142\",\"cltsslfailcount\":\"100\",\"cltsslfailreason\":\"Bad Record Mac\",\"contenttype\":\"application/vnd_apple_keynote\",\"datacentercity\":\"Sa\",\"datacentercountry\":\"US\",\"datacenter\":\"CA Client Node DC\",\"day\":\"Mon\",\"day_of_month\":\"16\",\"dept\":\"Sales\",\"deviceappversion\":\"81.2.69.142\",\"deviceowner\":\"jsmith\",\"df_hosthead\":\"df_hosthead\",\"df_hostname\":\"df_hostname\",\"dlpdicthitcount\":\"4\",\"dlpdict\":\"Credit Cards\",\"dlpeng\":\"HIPAA\",\"dlpidentifier\":\"6646484838839026000\",\"eedone\":\"Yes\",\"epochtime\":\"1578128400\",\"fileclass\":\"Active Web Contents\",\"flow_type\":\"Direct\",\"forward_gateway_ip\":\"10.1.1.1\",\"forward_gateway_name\":\"FWD_1\",\"forward_type\":\"Direct\",\"hour\":\"22\",\"is_sslexpiredca\":\"Yes\",\"is_sslselfsigned\":\"Yes\",\"is_ssluntrustedca\":\"Pass\",\"keyprotectiontype\":\"HSM Protection\",\"location\":\"Headquarters\",\"malwarecategory\":\"Adware\",\"malwareclass\":\"Sandbox\",\"minute\":\"55\",\"mobappcategory\":\"Communication\",\"mobappname\":\"Amazon\",\"mobdevtype\":\"Google Android\",\"module\":\"Administration\",\"month\":\"Oct\",\"month_of_year\":\"10\",\"nssserviceip\":\"192.168.2.200\",\"oapprulelabel\":\"5300295980\",\"obwclassname\":\"10831489\",\"ocip\":\"6200694987\",\"ocpubip\":\"624054738\",\"odevicehostname\":\"2168890624\",\"odevicename\":\"2175092224\",\"odeviceowner\":\"10831489\",\"odlpdict\":\"10831489\",\"odlpeng\":\"4094304256\",\"odlprulename\":\"6857275752\",\"ofwd_gw_name\":\"8794487099\",\"ologin\":\"4094304256\",\"ordr_rulename\":\"3399565100\",\"ourlcat\":\"7956407282\",\"ourlfilterrulelabel\":\"4951704103\",\"ozpa_app_seg_name\":\"7648246731\",\"externalsslpolicyreason\":\"Blocked\",\"productversion\":\"5.0.902.95524_04\",\"rdr_rulename\":\"FWD_Rule_1\",\"refererhost\":\"www.example.com for http://www.example.com/index.html\",\"reqheadersize\":\"300\",\"reqdatasize\":\"1000\",\"respheadersize\":\"500\",\"respdatasize\":\"10000\",\"riskscore\":\"10\",\"ruletype\":\"File Type Control\",\"second\":\"48\",\"srvcertchainvalpass\":\"Unknown\",\"srvcertvalidationtype\":\"EV (Extended Validation)\",\"srvcertvalidityperiod\":\"Short\",\"srvsslcipher\":\"SSL3_CK_RSA_NULL_MD5\",\"serversslsessreuse\":\"Unknown\",\"srvocspresult\":\"Good\",\"srvtlsversion\":\"SSL2\",\"srvwildcardcert\":\"Unknown\",\"ssldecrypted\":\"Yes\",\"throttlereqsize\":\"5\",\"throttlerespsize\":\"7\",\"totalsize\":\"11800\",\"trafficredirectmethod\":\"DNAT (Destination Translation)\",\"unscannabletype\":\"Encrypted File\",\"upload_doctypename\":\"Corporate Finance\",\"upload_fileclass\":\"upload_fileclass\",\"upload_filetype\":\"RAR Files\",\"urlcatmethod\":\"Database A\",\"urlsubcat\":\"Entertainment\",\"urlsupercat\":\"Travel\",\"urlclass\":\"Bandwidth Loss\",\"useragentclass\":\"Firefox\",\"useragenttoken\":\"Google Chrome (0.x)\",\"userlocationname\":\"userlocationname\",\"year\":\"2023\",\"ztunnelversion\":\"ZTUNNEL_1_0\",\"zpa_app_seg_name\":\"ZPA_test_app_segment\"}}", "reason": "File Attachment Cautioned", "timezone": "GMT", "type": [ diff --git a/packages/zscaler_zia/data_stream/web/_dev/test/pipeline/test-web.log b/packages/zscaler_zia/data_stream/web/_dev/test/pipeline/test-web.log index b3f89a9c703..877e9728c6c 100644 --- a/packages/zscaler_zia/data_stream/web/_dev/test/pipeline/test-web.log +++ b/packages/zscaler_zia/data_stream/web/_dev/test/pipeline/test-web.log @@ -1,5 +1,7 @@ -{"version":"v8","sourcetype":"zscalernss-web","event":{"time":"Mon Oct 16 22:55:48 2023","cloudname":"zscaler.net","host":"mail.google.com","serverip":"1.128.0.0","external_devid":"1234","devicemodel":"20L8S7WC08","action":"Allowed","recordid":123456789,"reason":"File Attachment Cautioned","threatseverity":"Critical (90–100)","tz":"GMT","filesubtype":"exe","upload_filesubtype":"rar","sha256":"81ec78bc8298568bb5ea66d3c2972b670d0f7459b6cdbbcaacce90ab417ab15c","bamd5":"196a3d797bfee07fe4596b69f4ce1141","filename":"nssfeed.txt","upload_filename":"nssfeed.exe","filetype":"RAR Files","devicename":"PC11NLPA%3A5F08D97BBF43257A8FB4BBF4061A38AE324EF734","devicehostname":"THINKPADSMITH","deviceostype":"iOS","deviceosversion":"Version 10.14.2 (Build 18C54)","devicetype":"Zscaler Client Connector","reqsize":1300,"reqmethod":"invalid","b64referer":"d3d3LmV4YW1wbGUuY29t","respsize":10500,"respcode":"100","reqversion":"1.1","respversion":"1","proto":"HTTP","company":"Zscaler","dlpmd5":"154f149b1443fbfa8c121d13e5c019a1","apprulelabel":"File_Sharing_1","dlprulename":"DLP_Rule_1","rulelabel":"URL_Filtering_1","urlfilterrulelabel":"URL_Filtering_2","cltip":"81.2.69.144","cltintip":"89.160.20.128","cltsourceport":12345,"threatname":"EICAR Test File","cltsslcipher":"SSL3_CK_RSA_NULL_MD5","clttlsversion":"SSL2","b64url":"d3d3LnRyeXRoaXNlbmNvZGV1cmwuY29tOjQ0My9pbmRleD9xdGltZT0yMDIzLTA0LTEyVDIzOjIwOjUwLjUyWg==","useragent":"Mozilla/5.0","login":"jdoe@safemarch.com","applayerprotocol":"FTP","appclass":"Administration","appname":"Adobe Connect","appriskscore":"1","bandwidthclassname":"Entertainment","bandwidthrulename":"Office 365","bwthrottle":"Yes","bypassedtime":"Mon Oct 16 22:55:48 2023","bypassedtraffic":"1","cltsslsessreuse":"Unknown","cltpubip":"175.16.199.0","cltsslfailcount":100,"cltsslfailreason":"Bad Record Mac","contenttype":"application/vnd_apple_keynote","datacentercity":"Sa","datacentercountry":"US","datacenter":"CA Client Node DC","day":"Mon","day_of_month":16,"dept":"Sales","deviceappversion":"1.128.0.0","deviceowner":"jsmith","df_hosthead":"df_hosthead","df_hostname":"df_hostname","dlpdicthitcount":"4","dlpdict":"Credit Cards","dlpeng":"HIPAA","dlpidentifier":6646484838839026000,"eedone":"Yes","epochtime":1578128400,"fileclass":"Active Web Contents","flow_type":"Direct","forward_gateway_ip":"10.1.1.1","forward_gateway_name":"FWD_1","forward_type":"Direct","hour":22,"is_sslexpiredca":"Yes","is_sslselfsigned":"Yes","is_ssluntrustedca":"Pass","keyprotectiontype":"HSM Protection","location":"Headquarters","malwarecategory":"Adware","malwareclass":"Sandbox","minute":55,"mobappcategory":"Communication","mobappname":"Amazon","mobdevtype":"Google Android","module":"Administration","month":"Oct","month_of_year":10,"nssserviceip":"192.168.2.200","oapprulelabel":"5300295980","obwclassname":"10831489","ocip":6200694987,"ocpubip":624054738,"odevicehostname":"2168890624","odevicename":"2175092224","odeviceowner":"10831489","odlpdict":"10831489","odlpeng":"4094304256","odlprulename":"6857275752","ofwd_gw_name":"8794487099","ologin":"4094304256","ordr_rulename":"3399565100","ourlcat":"7956407282","ourlfilterrulelabel":"4951704103","ozpa_app_seg_name":"7648246731","externalsslpolicyreason":"Blocked","productversion":"5.0.902.95524_04","rdr_rulename":"FWD_Rule_1","refererhost":"www.example.com for http://www.example.com/index.html","reqheadersize":300,"reqdatasize":1000,"respheadersize":500,"respdatasize":10000,"riskscore":10,"ruletype":"File Type Control","second":48,"srvcertchainvalpass":"Unknown","srvcertvalidationtype":"EV (Extended Validation)","srvcertvalidityperiod":"Short","srvsslcipher":"SSL3_CK_RSA_NULL_MD5","serversslsessreuse":"Unknown","srvocspresult":"Good","srvtlsversion":"SSL2","srvwildcardcert":"Unknown","ssldecrypted":"Yes","throttlereqsize":5,"throttlerespsize":7,"totalsize":11800,"trafficredirectmethod":"DNAT (Destination Translation)","unscannabletype":"Encrypted File","upload_doctypename":"Corporate Finance","upload_fileclass":"upload_fileclass","upload_filetype":"RAR Files","urlcatmethod":"Database A","urlsubcat":"Entertainment","urlsupercat":"Travel","urlclass":"Bandwidth Loss","useragentclass":"Firefox","useragenttoken":"Google Chrome (0.x)","userlocationname":"userlocationname","year":2023,"ztunnelversion":"ZTUNNEL_1_0","zpa_app_seg_name":"ZPA_test_app_segment"}} -{"version":"v8","sourcetype":"zscalernss-web","event":{"time":"Mon Oct 17 22:55:48 2023","cloudname":"zscaler.net","host":"mail.google.com","serverip":"1.128.0.1","external_devid":"2345","devicemodel":"20L8S7WC09","action":"Allowed","recordid":123456780,"reason":"File Attachment Cautioned","threatseverity":"Critical (90–100)","tz":"GMT","filesubtype":"exe","upload_filesubtype":"rar","sha256":"81ec78bc8298568bb5ea66d3c2972b670d0f7459b6cdbbcaacce90ab417ab15c","bamd5":"196a3d797bfee07fe4596b69f4ce1141","filename":"nssfeed.txt","upload_filename":"nssfeed.exe","filetype":"RAR Files","devicename":"PC11NLPA%3A5F08D97BBF43257A8FB4BBF4061A38AE324EF734","devicehostname":"THINKPADSMITH","deviceostype":"iOS","deviceosversion":"Version 10.14.2 (Build 18C54)","devicetype":"Zscaler Client Connector","reqsize":1300,"reqmethod":"invalid","b64referer":"d3d3LmV4YW1wbGUuY29t","respsize":10500,"respcode":"100","reqversion":"1.1","respversion":"1","proto":"HTTPS","company":"Zscaler","dlpmd5":"154f149b1443fbfa8c121d13e5c019a1","apprulelabel":"File_Sharing_1","dlprulename":"DLP_Rule_1","rulelabel":"URL_Filtering_1","urlfilterrulelabel":"URL_Filtering_2","cltip":"81.2.69.144","cltintip":"89.160.20.128","cltsourceport":12345,"threatname":"EICAR Test File","cltsslcipher":"SSL3_CK_RSA_NULL_MD5","clttlsversion":"SSL2","b64url":"d3d3LmV4YW1wbGUuY29tOjQ0Mw==","useragent":"Mozilla/5.0","login":"jdoe@safemarch.com","applayerprotocol":"FTP","appclass":"Administration","appname":"Adobe Connect","appriskscore":"1","bandwidthclassname":"Entertainment","bandwidthrulename":"Office 365","bwthrottle":"Yes","bypassedtime":"Mon Oct 16 22:55:48 2023","bypassedtraffic":"1","cltsslsessreuse":"Unknown","cltpubip":"175.16.199.0","cltsslfailcount":100,"cltsslfailreason":"Bad Record Mac","contenttype":"application/vnd_apple_keynote","datacentercity":"Sa","datacentercountry":"US","datacenter":"CA Client Node DC","day":"Mon","day_of_month":16,"dept":"Sales","deviceappversion":"1.128.0.1","deviceowner":"jsmith","df_hosthead":"df_hosthead","df_hostname":"df_hostname","dlpdicthitcount":"4","dlpdict":"Credit Cards","dlpeng":"HIPAA","dlpidentifier":6646484838839026000,"eedone":"Yes","epochtime":1578128400,"fileclass":"Active Web Contents","flow_type":"Direct","forward_gateway_ip":"10.1.1.1","forward_gateway_name":"FWD_1","forward_type":"Direct","hour":22,"is_sslexpiredca":"Yes","is_sslselfsigned":"Yes","is_ssluntrustedca":"Pass","keyprotectiontype":"HSM Protection","location":"Headquarters","malwarecategory":"Adware","malwareclass":"Sandbox","minute":55,"mobappcategory":"Communication","mobappname":"Amazon","mobdevtype":"Google Android","module":"Administration","month":"Oct","month_of_year":10,"nssserviceip":"192.168.2.200","oapprulelabel":"5300295980","obwclassname":"10831489","ocip":6200694987,"ocpubip":624054738,"odevicehostname":"2168890624","odevicename":"2175092224","odeviceowner":"10831489","odlpdict":"10831489","odlpeng":"4094304256","odlprulename":"6857275752","ofwd_gw_name":"8794487099","ologin":"4094304256","ordr_rulename":"3399565100","ourlcat":"7956407282","ourlfilterrulelabel":"4951704103","ozpa_app_seg_name":"7648246731","externalsslpolicyreason":"Blocked","productversion":"5.0.902.95524_04","rdr_rulename":"FWD_Rule_1","refererhost":"www.example.com for http://www.example.com/index.html","reqheadersize":300,"reqdatasize":1000,"respheadersize":500,"respdatasize":10000,"riskscore":10,"ruletype":"File Type Control","second":48,"srvcertchainvalpass":"Unknown","srvcertvalidationtype":"EV (Extended Validation)","srvcertvalidityperiod":"Short","srvsslcipher":"SSL3_CK_RSA_NULL_MD5","serversslsessreuse":"Unknown","srvocspresult":"Good","srvtlsversion":"SSL2","srvwildcardcert":"Unknown","ssldecrypted":"Yes","throttlereqsize":5,"throttlerespsize":7,"totalsize":11800,"trafficredirectmethod":"DNAT (Destination Translation)","unscannabletype":"Encrypted File","upload_doctypename":"Corporate Finance","upload_fileclass":"upload_fileclass","upload_filetype":"RAR Files","urlcatmethod":"Database A","urlsubcat":"Entertainment","urlsupercat":"Travel","urlclass":"Bandwidth Loss","useragentclass":"Firefox","useragenttoken":"Google Chrome (0.x)","userlocationname":"userlocationname","year":2023,"ztunnelversion":"ZTUNNEL_1_0","zpa_app_seg_name":"ZPA_test_app_segment"}} -{"version":"v8","sourcetype":"zscalernss-web","event":{"time":"Mon Oct 18 23:55:48 2023","cloudname":"zscaler.net","host":"mail.google.com","serverip":"1.128.0.2","external_devid":"2346","devicemodel":"20L8S7WC10","action":"Allowed","recordid":123456781,"reason":"File Attachment Cautioned","threatseverity":"Critical (90–100)","tz":"GMT","filesubtype":"exe","upload_filesubtype":"rar","sha256":"81ec78bc8298568bb5ea66d3c2972b670d0f7459b6cdbbcaacce90ab417ab15c","bamd5":"196a3d797bfee07fe4596b69f4ce1141","filename":"nssfeed.txt","upload_filename":"nssfeed.exe","filetype":"RAR Files","devicename":"PC11NLPA%3A5F08D97BBF43257A8FB4BBF4061A38AE324EF734","devicehostname":"THINKPADSMITH","deviceostype":"iOS","deviceosversion":"Version 10.14.2 (Build 18C54)","devicetype":"Zscaler Client Connector","reqsize":1300,"reqmethod":"invalid","b64referer":"d3d3LmV4YW1wbGUuY29t","respsize":10500,"respcode":"100","reqversion":"1.1","respversion":"1","proto":"SSL","company":"Zscaler","dlpmd5":"154f149b1443fbfa8c121d13e5c019a1","apprulelabel":"File_Sharing_1","dlprulename":"DLP_Rule_1","rulelabel":"URL_Filtering_1","urlfilterrulelabel":"URL_Filtering_2","cltip":"81.2.69.144","cltintip":"89.160.20.128","cltsourceport":12345,"threatname":"EICAR Test File","cltsslcipher":"SSL3_CK_RSA_NULL_MD5","clttlsversion":"SSL2","b64url":"d3d3LmV4YW1wbGUuY29tLmNvbS9wYXJhbXM/SWQ9MSZ0cz0yMDA2LTAxLTAyVDE1OjA0OjA1WjA3OjAwJnVzZXI9NjU3OTImdmVyc2lvbj0xMC4wLjE5MDQxLjEyNjY=","useragent":"Mozilla/5.0","login":"jdoe@safemarch.com","applayerprotocol":"FTP","appclass":"Administration","appname":"Adobe Connect","appriskscore":"1","bandwidthclassname":"Entertainment","bandwidthrulename":"Office 365","bwthrottle":"Yes","bypassedtime":"Mon Oct 16 22:55:48 2023","bypassedtraffic":"1","cltsslsessreuse":"Unknown","cltpubip":"175.16.199.0","cltsslfailcount":100,"cltsslfailreason":"Bad Record Mac","contenttype":"application/vnd_apple_keynote","datacentercity":"Sa","datacentercountry":"US","datacenter":"CA Client Node DC","day":"Mon","day_of_month":16,"dept":"Sales","deviceappversion":"1.128.0.1","deviceowner":"jsmith","df_hosthead":"df_hosthead","df_hostname":"df_hostname","dlpdicthitcount":"4","dlpdict":"Credit Cards","dlpeng":"HIPAA","dlpidentifier":6646484838839026000,"eedone":"Yes","epochtime":1578128400,"fileclass":"Active Web Contents","flow_type":"Direct","forward_gateway_ip":"10.1.1.1","forward_gateway_name":"FWD_1","forward_type":"Direct","hour":22,"is_sslexpiredca":"Yes","is_sslselfsigned":"Yes","is_ssluntrustedca":"Pass","keyprotectiontype":"HSM Protection","location":"Headquarters","malwarecategory":"Adware","malwareclass":"Sandbox","minute":55,"mobappcategory":"Communication","mobappname":"Amazon","mobdevtype":"Google Android","module":"Administration","month":"Oct","month_of_year":10,"nssserviceip":"192.168.2.200","oapprulelabel":"5300295980","obwclassname":"10831489","ocip":6200694987,"ocpubip":624054738,"odevicehostname":"2168890624","odevicename":"2175092224","odeviceowner":"10831489","odlpdict":"10831489","odlpeng":"4094304256","odlprulename":"6857275752","ofwd_gw_name":"8794487099","ologin":"4094304256","ordr_rulename":"3399565100","ourlcat":"7956407282","ourlfilterrulelabel":"4951704103","ozpa_app_seg_name":"7648246731","externalsslpolicyreason":"Blocked","productversion":"5.0.902.95524_04","rdr_rulename":"FWD_Rule_1","refererhost":"www.example.com for http://www.example.com/index.html","reqheadersize":300,"reqdatasize":1000,"respheadersize":500,"respdatasize":10000,"riskscore":10,"ruletype":"File Type Control","second":48,"srvcertchainvalpass":"Unknown","srvcertvalidationtype":"EV (Extended Validation)","srvcertvalidityperiod":"Short","srvsslcipher":"SSL3_CK_RSA_NULL_MD5","serversslsessreuse":"Unknown","srvocspresult":"Good","srvtlsversion":"SSL2","srvwildcardcert":"Unknown","ssldecrypted":"Yes","throttlereqsize":5,"throttlerespsize":7,"totalsize":11800,"trafficredirectmethod":"DNAT (Destination Translation)","unscannabletype":"Encrypted File","upload_doctypename":"Corporate Finance","upload_fileclass":"upload_fileclass","upload_filetype":"RAR Files","urlcatmethod":"Database A","urlsubcat":"Entertainment","urlsupercat":"Travel","urlclass":"Bandwidth Loss","useragentclass":"Firefox","useragenttoken":"Google Chrome (0.x)","userlocationname":"userlocationname","year":2023,"ztunnelversion":"ZTUNNEL_1_0","zpa_app_seg_name":"ZPA_test_app_segment"}} -{"version":"v8","sourcetype":"zscalernss-web","event":{"time":"Mon Oct 18 23:55:48 2023","cloudname":"zscaler.net","host":"mail.google.com","serverip":"1.128.0.2","external_devid":"2346","devicemodel":"20L8S7WC10","action":"Allowed","recordid":123456781,"reason":"File Attachment Cautioned","threatseverity":"Critical (90–100)","tz":"GMT","filesubtype":"exe","upload_filesubtype":"rar","sha256":"81ec78bc8298568bb5ea66d3c2972b670d0f7459b6cdbbcaacce90ab417ab15c","bamd5":"196a3d797bfee07fe4596b69f4ce1141","filename":"nssfeed.txt","upload_filename":"nssfeed.exe","filetype":"RAR Files","devicename":"PC11NLPA%3A5F08D97BBF43257A8FB4BBF4061A38AE324EF734","devicehostname":"THINKPADSMITH","deviceostype":"iOS","deviceosversion":"Version 10.14.2 (Build 18C54)","devicetype":"Zscaler Client Connector","reqsize":1300,"reqmethod":"invalid","b64referer":"d3d3LmV4YW1wbGUuY29t","respsize":10500,"respcode":"100","reqversion":"1.1","respversion":"1","proto":"SSL","company":"Zscaler","dlpmd5":"154f149b1443fbfa8c121d13e5c019a1","apprulelabel":"File_Sharing_1","dlprulename":"DLP_Rule_1","rulelabel":"URL_Filtering_1","urlfilterrulelabel":"URL_Filtering_2","cltip":"81.2.69.144","cltintip":"89.160.20.128","cltsourceport":12345,"threatname":"EICAR Test File","cltsslcipher":"SSL3_CK_RSA_NULL_MD5","clttlsversion":"SSL2","b64url":"d3d3LnlvdXR1YmUuY29tL2FwaS9zdGF0cy9hYmNkP2FmbXQ9MjUxJmJhdD0zMzAuMDE3OjAuOTY6MSZiaD0zMzAuMDE3OjEyMS4yNjQmYndlPTMzMC4wMTc6NzQ1ODYwMSZid209MzMwLjAxNzoyNDA3NzU0OjAuODQ0JmM9V0VCJmNicj1FZGdlIENocm9taXVtJmNicnZlcj0xMTUuMC4wLjAmY2w9NjU1Mzk5OTU2JmNtdD0zMzAuMDE3OjMyOC44MzcmY29zPVdpbmRvd3MmY29zdmVyPTEwLjAmY3BsYXRmb3JtPURFU0tUT1AmY3BsYXllcj1VTklQTEFZRVImY3BuPUZVQjczU1FXeFNIS0FEeHZKJmN2ZXI9Mi4yMDI0MDcyNC4wMy4wMCZkb2NpZD1XVmhHX3NOVkxhc0QmZWw9ZGV0YWlscGFnZSZmZXhwPXYxLDIzODQ4MjI1LDEzNzgwMiwxODYxNywyMDQxMjEsMjMwNTk2LDIyMjA5NywxNjIyOSwxMzMyMTIsMTQ2MjU5NTUsMTE2ODQzODEsNzIyMiwxNDIwNyw5ODU5LDEyMTc3LDk5NTQsMTE5Miw3OTEzLDE4MzEwLDI3Myw0MTQ3LDI4MTksMiwxNjM0NCwxNDI0LDE5MjA0LDk5NDgsMjE5Niw5OTk2LDE5LDIsMTA4Miw2OTUzLDEwMSwxNDAxLDk1NDIsMjQ3MSwzMjkyLDI3MTYsMTUzOCw3MjMsMjU3NSw5NTY3LDEzNzUsMzc2MSw0MTYyLDg2MTAsMTczLDIwMSwxMDQwNiwzMjEsMTQ4LDIsMzQzLDE3ODMsMTQsMTMyMiw1MCw2MjEsNzAyLDEwNjIsMTc2OSwxODIzLDg5NiwyMjkxLDI5MTIsNzU2OCwzNDImZm10PTM5OCZucz15dCZyZWZlcnJlcj1odHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PWlzYTkwXzY3YXMmc2RldGFpbD1ydjppc2E4OV82OGFkJnNlcT0xMyZzb3VyY2VpZD15dyZ2cHM9MzMwLjAxNzpQTA==","useragent":"Mozilla/5.0","login":"jdoe@safemarch.com","applayerprotocol":"FTP","appclass":"Administration","appname":"Adobe Connect","appriskscore":"1","bandwidthclassname":"Entertainment","bandwidthrulename":"Office 365","bwthrottle":"Yes","bypassedtime":"Mon Oct 16 22:55:48 2023","bypassedtraffic":"1","cltsslsessreuse":"Unknown","cltpubip":"175.16.199.0","cltsslfailcount":100,"cltsslfailreason":"Bad Record Mac","contenttype":"application/vnd_apple_keynote","datacentercity":"Sa","datacentercountry":"US","datacenter":"CA Client Node DC","day":"Mon","day_of_month":16,"dept":"Sales","deviceappversion":"1.128.0.1","deviceowner":"jsmith","df_hosthead":"df_hosthead","df_hostname":"df_hostname","dlpdicthitcount":"4","dlpdict":"Credit Cards","dlpeng":"HIPAA","dlpidentifier":6646484838839026000,"eedone":"Yes","epochtime":1578128400,"fileclass":"Active Web Contents","flow_type":"Direct","forward_gateway_ip":"10.1.1.1","forward_gateway_name":"FWD_1","forward_type":"Direct","hour":22,"is_sslexpiredca":"Yes","is_sslselfsigned":"Yes","is_ssluntrustedca":"Pass","keyprotectiontype":"HSM Protection","location":"Headquarters","malwarecategory":"Adware","malwareclass":"Sandbox","minute":55,"mobappcategory":"Communication","mobappname":"Amazon","mobdevtype":"Google Android","module":"Administration","month":"Oct","month_of_year":10,"nssserviceip":"192.168.2.200","oapprulelabel":"5300295980","obwclassname":"10831489","ocip":6200694987,"ocpubip":624054738,"odevicehostname":"2168890624","odevicename":"2175092224","odeviceowner":"10831489","odlpdict":"10831489","odlpeng":"4094304256","odlprulename":"6857275752","ofwd_gw_name":"8794487099","ologin":"4094304256","ordr_rulename":"3399565100","ourlcat":"7956407282","ourlfilterrulelabel":"4951704103","ozpa_app_seg_name":"7648246731","externalsslpolicyreason":"Blocked","productversion":"5.0.902.95524_04","rdr_rulename":"FWD_Rule_1","refererhost":"www.example.com for http://www.example.com/index.html","reqheadersize":300,"reqdatasize":1000,"respheadersize":500,"respdatasize":10000,"riskscore":10,"ruletype":"File Type Control","second":48,"srvcertchainvalpass":"Unknown","srvcertvalidationtype":"EV (Extended Validation)","srvcertvalidityperiod":"Short","srvsslcipher":"SSL3_CK_RSA_NULL_MD5","serversslsessreuse":"Unknown","srvocspresult":"Good","srvtlsversion":"SSL2","srvwildcardcert":"Unknown","ssldecrypted":"Yes","throttlereqsize":5,"throttlerespsize":7,"totalsize":11800,"trafficredirectmethod":"DNAT (Destination Translation)","unscannabletype":"Encrypted File","upload_doctypename":"Corporate Finance","upload_fileclass":"upload_fileclass","upload_filetype":"RAR Files","urlcatmethod":"Database A","urlsubcat":"Entertainment","urlsupercat":"Travel","urlclass":"Bandwidth Loss","useragentclass":"Firefox","useragenttoken":"Google Chrome (0.x)","userlocationname":"userlocationname","year":2023,"ztunnelversion":"ZTUNNEL_1_0","zpa_app_seg_name":"ZPA_test_app_segment"}} -{"version":"v8","sourcetype":"zscalernss-web","event":{"time":"Mon Oct 20 22:55:48 2023","cloudname":"zscaler.net","host":"mail.google.com","serverip":"1.128.0.4","external_devid":"2347","devicemodel":"20L8S7WC12","action":"Allowed","recordid":123456782,"reason":"File Attachment Cautioned","threatseverity":"Critical (90–100)","tz":"GMT","filesubtype":"exe","upload_filesubtype":"rar","sha256":"81ec78bc8298568bb5ea66d3c2972b670d0f7459b6cdbbcaacce90ab417ab15c","bamd5":"196a3d797bfee07fe4596b69f4ce1141","filename":"nssfeed.txt","upload_filename":"nssfeed.exe","filetype":"RAR Files","devicename":"device%5CrN%40me","devicehostname":"THINKPADSMITH","deviceostype":"iOS","deviceosversion":"Version 10.14.2 (Build 18C54)","devicetype":"Zscaler Client Connector","reqsize":1300,"reqmethod":"invalid","b64referer":"d3d3LmV4YW1wbGUuY29tL3NlYXJjaD9maWx0ZXJzPWd1aWQlM0ElMjI0MC1lbi1kaWElMjIrbGFuZyUzQSUyMmVuJTIyJmZvcm09UzAwJnE9aG93K3RvK3VzZStyZW1vdGUrZGVza3RvcCt0bytjb25uZWN0K3RvK2Erd2luZG93cysxMCtwYw==","respsize":10500,"respcode":"100","reqversion":"1.1","respversion":"1","proto":"HTTPS","company":"Zscaler","dlpmd5":"154f149b1443fbfa8c121d13e5c019a1","apprulelabel":"File_Sharing_1","dlprulename":"DLP_Rule_1","rulelabel":"URL_Filtering_1","urlfilterrulelabel":"URL_Filtering_2","cltip":"81.2.69.144","cltintip":"89.160.20.128","cltsourceport":12345,"threatname":"EICAR Test File","cltsslcipher":"SSL3_CK_RSA_NULL_MD5","clttlsversion":"SSL2","b64url":"d3d3LmV4YW1wbGUuY29tOjQ0Mw==","useragent":"Mozilla/5.0","login":"jdoe@safemarch.com","applayerprotocol":"FTP","appclass":"Administration","appname":"Adobe Connect","appriskscore":"1","bandwidthclassname":"Entertainment","bandwidthrulename":"Office 365","bwthrottle":"Yes","bypassedtime":"Mon Oct 16 22:55:48 2023","bypassedtraffic":"1","cltsslsessreuse":"Unknown","cltpubip":"175.16.199.0","cltsslfailcount":100,"cltsslfailreason":"Bad Record Mac","contenttype":"application/vnd_apple_keynote","datacentercity":"Sa","datacentercountry":"US","datacenter":"CA Client Node DC","day":"Mon","day_of_month":16,"dept":"Sales","deviceappversion":"1.128.0.1","deviceowner":"jsmith","df_hosthead":"df_hosthead","df_hostname":"df_hostname","dlpdicthitcount":"4","dlpdict":"Credit Cards","dlpeng":"HIPAA","dlpidentifier":6646484838839026000,"eedone":"Yes","epochtime":1578128400,"fileclass":"Active Web Contents","flow_type":"Direct","forward_gateway_ip":"10.1.1.1","forward_gateway_name":"FWD_1","forward_type":"Direct","hour":22,"is_sslexpiredca":"Yes","is_sslselfsigned":"Yes","is_ssluntrustedca":"Pass","keyprotectiontype":"HSM Protection","location":"Headquarters","department":"Department%5CrN%40me","malwarecategory":"Adware","malwareclass":"Sandbox","minute":55,"mobappcategory":"Communication","mobappname":"Amazon","mobdevtype":"Google Android","module":"Administration","month":"Oct","month_of_year":10,"nssserviceip":"192.168.2.200","oapprulelabel":"5300295980","obwclassname":"10831489","ocip":6200694987,"ocpubip":624054738,"odevicehostname":"2168890624","odevicename":"2175092224","odeviceowner":"10831489","odlpdict":"10831489","odlpeng":"4094304256","odlprulename":"6857275752","ofwd_gw_name":"8794487099","ologin":"4094304256","ordr_rulename":"3399565100","ourlcat":"7956407282","ourlfilterrulelabel":"4951704103","ozpa_app_seg_name":"7648246731","externalsslpolicyreason":"Blocked","productversion":"5.0.902.95524_04","rdr_rulename":"FWD_Rule_1","refererhost":"www.example.com for http://www.example.com/index.html","reqheadersize":300,"reqdatasize":1000,"respheadersize":500,"respdatasize":10000,"riskscore":10,"ruletype":"File Type Control","second":48,"srvcertchainvalpass":"Unknown","srvcertvalidationtype":"EV (Extended Validation)","srvcertvalidityperiod":"Short","srvsslcipher":"SSL3_CK_RSA_NULL_MD5","serversslsessreuse":"Unknown","srvocspresult":"Good","srvtlsversion":"SSL2","srvwildcardcert":"Unknown","ssldecrypted":"Yes","throttlereqsize":5,"throttlerespsize":7,"totalsize":11800,"trafficredirectmethod":"DNAT (Destination Translation)","unscannabletype":"Encrypted File","upload_doctypename":"Corporate Finance","upload_fileclass":"upload_fileclass","upload_filetype":"RAR Files","urlcatmethod":"Database A","urlsubcat":"Entertainment","urlsupercat":"Travel","urlclass":"Bandwidth Loss","useragentclass":"Firefox","useragenttoken":"Google Chrome (0.x)","userlocationname":"userlocationname","year":2023,"ztunnelversion":"ZTUNNEL_1_0","zpa_app_seg_name":"ZPA_test_app_segment"}} +{"version":"v9","sourcetype":"zscalernss-web","event":{"time":"Mon Oct 16 22:55:48 2023","cloudname":"zscaler.net","host":"mail.google.com","serverip":"1.128.0.0","external_devid":"1234","devicemodel":"20L8S7WC08","action":"Allowed","recordid":123456789,"reason":"File Attachment Cautioned","threatseverity":"Critical (90–100)","tz":"GMT","filesubtype":"exe","upload_filesubtype":"rar","sha256":"81ec78bc8298568bb5ea66d3c2972b670d0f7459b6cdbbcaacce90ab417ab15c","bamd5":"196a3d797bfee07fe4596b69f4ce1141","filename":"nssfeed.txt","upload_filename":"nssfeed.exe","filetype":"RAR Files","devicename":"PC11NLPA%3A5F08D97BBF43257A8FB4BBF4061A38AE324EF734","devicehostname":"THINKPADSMITH","deviceostype":"iOS","deviceosversion":"Version 10.14.2 (Build 18C54)","devicetype":"Zscaler Client Connector","reqsize":1300,"reqmethod":"invalid","b64referer":"d3d3LmV4YW1wbGUuY29t","respsize":10500,"respcode":"100","reqversion":"1.1","respversion":"1","proto":"HTTP","company":"Zscaler","dlpmd5":"154f149b1443fbfa8c121d13e5c019a1","apprulelabel":"File_Sharing_1","dlprulename":"DLP_Rule_1","rulelabel":"URL_Filtering_1","urlfilterrulelabel":"URL_Filtering_2","cltip":"81.2.69.144","cltintip":"89.160.20.128","cltsourceport":12345,"threatname":"EICAR Test File","cltsslcipher":"SSL3_CK_RSA_NULL_MD5","clttlsversion":"SSL2","b64url":"d3d3LnRyeXRoaXNlbmNvZGV1cmwuY29tOjQ0My9pbmRleD9xdGltZT0yMDIzLTA0LTEyVDIzOjIwOjUwLjUyWg==","useragent":"Mozilla/5.0","login":"jdoe@safemarch.com","applayerprotocol":"FTP","appclass":"Administration","appname":"Adobe Connect","appriskscore":"1","bandwidthclassname":"Entertainment","bandwidthrulename":"Office 365","bwthrottle":"Yes","bypassedtime":"Mon Oct 16 22:55:48 2023","bypassedtraffic":"1","cltsslsessreuse":"Unknown","cltpubip":"175.16.199.0","cltsslfailcount":100,"cltsslfailreason":"Bad Record Mac","contenttype":"application/vnd_apple_keynote","datacentercity":"Sa","datacentercountry":"US","datacenter":"CA Client Node DC","day":"Mon","day_of_month":16,"dept":"Sales","deviceappversion":"1.128.0.0","deviceowner":"jsmith","df_hosthead":"df_hosthead","df_hostname":"df_hostname","dlpdicthitcount":"4","dlpdict":"Credit Cards","dlpeng":"HIPAA","dlpidentifier":6646484838839026000,"eedone":"Yes","epochtime":1578128400,"fileclass":"Active Web Contents","flow_type":"Direct","forward_gateway_ip":"10.1.1.1","forward_gateway_name":"FWD_1","forward_type":"Direct","hour":22,"is_sslexpiredca":"Yes","is_sslselfsigned":"Yes","is_ssluntrustedca":"Pass","keyprotectiontype":"HSM Protection","location":"Headquarters","malwarecategory":"Adware","malwareclass":"Sandbox","minute":55,"mobappcategory":"Communication","mobappname":"Amazon","mobdevtype":"Google Android","module":"Administration","month":"Oct","month_of_year":10,"nssserviceip":"192.168.2.200","oapprulelabel":"5300295980","obwclassname":"10831489","ocip":6200694987,"ocpubip":624054738,"odevicehostname":"2168890624","odevicename":"2175092224","odeviceowner":"10831489","odlpdict":"10831489","odlpeng":"4094304256","odlprulename":"6857275752","ofwd_gw_name":"8794487099","ologin":"4094304256","ordr_rulename":"3399565100","ourlcat":"7956407282","ourlfilterrulelabel":"4951704103","ozpa_app_seg_name":"7648246731","externalsslpolicyreason":"Blocked","productversion":"5.0.902.95524_04","rdr_rulename":"FWD_Rule_1","refererhost":"www.example.com for http://www.example.com/index.html","reqheadersize":300,"reqdatasize":1000,"respheadersize":500,"respdatasize":10000,"riskscore":10,"ruletype":"File Type Control","second":48,"srvcertchainvalpass":"Unknown","srvcertvalidationtype":"EV (Extended Validation)","srvcertvalidityperiod":"Short","srvsslcipher":"SSL3_CK_RSA_NULL_MD5","serversslsessreuse":"Unknown","srvocspresult":"Good","srvtlsversion":"SSL2","srvwildcardcert":"Unknown","ssldecrypted":"Yes","throttlereqsize":5,"throttlerespsize":7,"totalsize":11800,"trafficredirectmethod":"DNAT (Destination Translation)","unscannabletype":"Encrypted File","upload_doctypename":"Corporate Finance","upload_fileclass":"upload_fileclass","upload_filetype":"RAR Files","urlcatmethod":"Database A","urlsubcat":"Entertainment","urlsupercat":"Travel","urlclass":"Bandwidth Loss","useragentclass":"Firefox","useragenttoken":"Google Chrome (0.x)","userlocationname":"userlocationname","year":2023,"ztunnelversion":"ZTUNNEL_1_0","zpa_app_seg_name":"ZPA_test_app_segment"}} +{"version":"v9","sourcetype":"zscalernss-web","event":{"time":"Mon Oct 17 22:55:48 2023","cloudname":"zscaler.net","host":"mail.google.com","serverip":"1.128.0.1","external_devid":"2345","devicemodel":"20L8S7WC09","action":"Allowed","recordid":123456780,"reason":"File Attachment Cautioned","threatseverity":"Critical (90–100)","tz":"GMT","filesubtype":"exe","upload_filesubtype":"rar","sha256":"81ec78bc8298568bb5ea66d3c2972b670d0f7459b6cdbbcaacce90ab417ab15c","bamd5":"196a3d797bfee07fe4596b69f4ce1141","filename":"nssfeed.txt","upload_filename":"nssfeed.exe","filetype":"RAR Files","devicename":"PC11NLPA%3A5F08D97BBF43257A8FB4BBF4061A38AE324EF734","devicehostname":"THINKPADSMITH","deviceostype":"iOS","deviceosversion":"Version 10.14.2 (Build 18C54)","devicetype":"Zscaler Client Connector","reqsize":1300,"reqmethod":"invalid","b64referer":"d3d3LmV4YW1wbGUuY29t","respsize":10500,"respcode":"100","reqversion":"1.1","respversion":"1","proto":"HTTPS","company":"Zscaler","dlpmd5":"154f149b1443fbfa8c121d13e5c019a1","apprulelabel":"File_Sharing_1","dlprulename":"DLP_Rule_1","rulelabel":"URL_Filtering_1","urlfilterrulelabel":"URL_Filtering_2","cltip":"81.2.69.144","cltintip":"89.160.20.128","cltsourceport":12345,"threatname":"EICAR Test File","cltsslcipher":"SSL3_CK_RSA_NULL_MD5","clttlsversion":"SSL2","b64url":"d3d3LmV4YW1wbGUuY29tOjQ0Mw==","useragent":"Mozilla/5.0","login":"jdoe@safemarch.com","applayerprotocol":"FTP","appclass":"Administration","appname":"Adobe Connect","appriskscore":"1","bandwidthclassname":"Entertainment","bandwidthrulename":"Office 365","bwthrottle":"Yes","bypassedtime":"Mon Oct 16 22:55:48 2023","bypassedtraffic":"1","cltsslsessreuse":"Unknown","cltpubip":"175.16.199.0","cltsslfailcount":100,"cltsslfailreason":"Bad Record Mac","contenttype":"application/vnd_apple_keynote","datacentercity":"Sa","datacentercountry":"US","datacenter":"CA Client Node DC","day":"Mon","day_of_month":16,"dept":"Sales","deviceappversion":"1.128.0.1","deviceowner":"jsmith","df_hosthead":"df_hosthead","df_hostname":"df_hostname","dlpdicthitcount":"4","dlpdict":"Credit Cards","dlpeng":"HIPAA","dlpidentifier":6646484838839026000,"eedone":"Yes","epochtime":1578128400,"fileclass":"Active Web Contents","flow_type":"Direct","forward_gateway_ip":"10.1.1.1","forward_gateway_name":"FWD_1","forward_type":"Direct","hour":22,"is_sslexpiredca":"Yes","is_sslselfsigned":"Yes","is_ssluntrustedca":"Pass","keyprotectiontype":"HSM Protection","location":"Headquarters","malwarecategory":"Adware","malwareclass":"Sandbox","minute":55,"mobappcategory":"Communication","mobappname":"Amazon","mobdevtype":"Google Android","module":"Administration","month":"Oct","month_of_year":10,"nssserviceip":"192.168.2.200","oapprulelabel":"5300295980","obwclassname":"10831489","ocip":6200694987,"ocpubip":624054738,"odevicehostname":"2168890624","odevicename":"2175092224","odeviceowner":"10831489","odlpdict":"10831489","odlpeng":"4094304256","odlprulename":"6857275752","ofwd_gw_name":"8794487099","ologin":"4094304256","ordr_rulename":"3399565100","ourlcat":"7956407282","ourlfilterrulelabel":"4951704103","ozpa_app_seg_name":"7648246731","externalsslpolicyreason":"Blocked","productversion":"5.0.902.95524_04","rdr_rulename":"FWD_Rule_1","refererhost":"www.example.com for http://www.example.com/index.html","reqheadersize":300,"reqdatasize":1000,"respheadersize":500,"respdatasize":10000,"riskscore":10,"ruletype":"File Type Control","second":48,"srvcertchainvalpass":"Unknown","srvcertvalidationtype":"EV (Extended Validation)","srvcertvalidityperiod":"Short","srvsslcipher":"SSL3_CK_RSA_NULL_MD5","serversslsessreuse":"Unknown","srvocspresult":"Good","srvtlsversion":"SSL2","srvwildcardcert":"Unknown","ssldecrypted":"Yes","throttlereqsize":5,"throttlerespsize":7,"totalsize":11800,"trafficredirectmethod":"DNAT (Destination Translation)","unscannabletype":"Encrypted File","upload_doctypename":"Corporate Finance","upload_fileclass":"upload_fileclass","upload_filetype":"RAR Files","urlcatmethod":"Database A","urlsubcat":"Entertainment","urlsupercat":"Travel","urlclass":"Bandwidth Loss","useragentclass":"Firefox","useragenttoken":"Google Chrome (0.x)","userlocationname":"userlocationname","year":2023,"ztunnelversion":"ZTUNNEL_1_0","zpa_app_seg_name":"ZPA_test_app_segment"}} +{"version":"v9","sourcetype":"zscalernss-web","event":{"time":"Mon Oct 18 23:55:48 2023","cloudname":"zscaler.net","host":"mail.google.com","serverip":"1.128.0.2","external_devid":"2346","devicemodel":"20L8S7WC10","action":"Allowed","recordid":123456781,"reason":"File Attachment Cautioned","threatseverity":"Critical (90–100)","tz":"GMT","filesubtype":"exe","upload_filesubtype":"rar","sha256":"81ec78bc8298568bb5ea66d3c2972b670d0f7459b6cdbbcaacce90ab417ab15c","bamd5":"196a3d797bfee07fe4596b69f4ce1141","filename":"nssfeed.txt","upload_filename":"nssfeed.exe","filetype":"RAR Files","devicename":"PC11NLPA%3A5F08D97BBF43257A8FB4BBF4061A38AE324EF734","devicehostname":"THINKPADSMITH","deviceostype":"iOS","deviceosversion":"Version 10.14.2 (Build 18C54)","devicetype":"Zscaler Client Connector","reqsize":1300,"reqmethod":"invalid","b64referer":"d3d3LmV4YW1wbGUuY29t","respsize":10500,"respcode":"100","reqversion":"1.1","respversion":"1","proto":"SSL","company":"Zscaler","dlpmd5":"154f149b1443fbfa8c121d13e5c019a1","apprulelabel":"File_Sharing_1","dlprulename":"DLP_Rule_1","rulelabel":"URL_Filtering_1","urlfilterrulelabel":"URL_Filtering_2","cltip":"81.2.69.144","cltintip":"89.160.20.128","cltsourceport":12345,"threatname":"EICAR Test File","cltsslcipher":"SSL3_CK_RSA_NULL_MD5","clttlsversion":"SSL2","b64url":"d3d3LmV4YW1wbGUuY29tLmNvbS9wYXJhbXM/SWQ9MSZ0cz0yMDA2LTAxLTAyVDE1OjA0OjA1WjA3OjAwJnVzZXI9NjU3OTImdmVyc2lvbj0xMC4wLjE5MDQxLjEyNjY=","useragent":"Mozilla/5.0","login":"jdoe@safemarch.com","applayerprotocol":"FTP","appclass":"Administration","appname":"Adobe Connect","appriskscore":"1","bandwidthclassname":"Entertainment","bandwidthrulename":"Office 365","bwthrottle":"Yes","bypassedtime":"Mon Oct 16 22:55:48 2023","bypassedtraffic":"1","cltsslsessreuse":"Unknown","cltpubip":"175.16.199.0","cltsslfailcount":100,"cltsslfailreason":"Bad Record Mac","contenttype":"application/vnd_apple_keynote","datacentercity":"Sa","datacentercountry":"US","datacenter":"CA Client Node DC","day":"Mon","day_of_month":16,"dept":"Sales","deviceappversion":"1.128.0.1","deviceowner":"jsmith","df_hosthead":"df_hosthead","df_hostname":"df_hostname","dlpdicthitcount":"4","dlpdict":"Credit Cards","dlpeng":"HIPAA","dlpidentifier":6646484838839026000,"eedone":"Yes","epochtime":1578128400,"fileclass":"Active Web Contents","flow_type":"Direct","forward_gateway_ip":"10.1.1.1","forward_gateway_name":"FWD_1","forward_type":"Direct","hour":22,"is_sslexpiredca":"Yes","is_sslselfsigned":"Yes","is_ssluntrustedca":"Pass","keyprotectiontype":"HSM Protection","location":"Headquarters","malwarecategory":"Adware","malwareclass":"Sandbox","minute":55,"mobappcategory":"Communication","mobappname":"Amazon","mobdevtype":"Google Android","module":"Administration","month":"Oct","month_of_year":10,"nssserviceip":"192.168.2.200","oapprulelabel":"5300295980","obwclassname":"10831489","ocip":6200694987,"ocpubip":624054738,"odevicehostname":"2168890624","odevicename":"2175092224","odeviceowner":"10831489","odlpdict":"10831489","odlpeng":"4094304256","odlprulename":"6857275752","ofwd_gw_name":"8794487099","ologin":"4094304256","ordr_rulename":"3399565100","ourlcat":"7956407282","ourlfilterrulelabel":"4951704103","ozpa_app_seg_name":"7648246731","externalsslpolicyreason":"Blocked","productversion":"5.0.902.95524_04","rdr_rulename":"FWD_Rule_1","refererhost":"www.example.com for http://www.example.com/index.html","reqheadersize":300,"reqdatasize":1000,"respheadersize":500,"respdatasize":10000,"riskscore":10,"ruletype":"File Type Control","second":48,"srvcertchainvalpass":"Unknown","srvcertvalidationtype":"EV (Extended Validation)","srvcertvalidityperiod":"Short","srvsslcipher":"SSL3_CK_RSA_NULL_MD5","serversslsessreuse":"Unknown","srvocspresult":"Good","srvtlsversion":"SSL2","srvwildcardcert":"Unknown","ssldecrypted":"Yes","throttlereqsize":5,"throttlerespsize":7,"totalsize":11800,"trafficredirectmethod":"DNAT (Destination Translation)","unscannabletype":"Encrypted File","upload_doctypename":"Corporate Finance","upload_fileclass":"upload_fileclass","upload_filetype":"RAR Files","urlcatmethod":"Database A","urlsubcat":"Entertainment","urlsupercat":"Travel","urlclass":"Bandwidth Loss","useragentclass":"Firefox","useragenttoken":"Google Chrome (0.x)","userlocationname":"userlocationname","year":2023,"ztunnelversion":"ZTUNNEL_1_0","zpa_app_seg_name":"ZPA_test_app_segment"}} +{"version":"v9","sourcetype":"zscalernss-web","event":{"time":"Mon Oct 18 23:55:48 2023","cloudname":"zscaler.net","host":"mail.google.com","serverip":"1.128.0.2","external_devid":"2346","devicemodel":"20L8S7WC10","action":"Allowed","recordid":123456781,"reason":"File Attachment Cautioned","threatseverity":"Critical (90–100)","tz":"GMT","filesubtype":"exe","upload_filesubtype":"rar","sha256":"81ec78bc8298568bb5ea66d3c2972b670d0f7459b6cdbbcaacce90ab417ab15c","bamd5":"196a3d797bfee07fe4596b69f4ce1141","filename":"nssfeed.txt","upload_filename":"nssfeed.exe","filetype":"RAR Files","devicename":"PC11NLPA%3A5F08D97BBF43257A8FB4BBF4061A38AE324EF734","devicehostname":"THINKPADSMITH","deviceostype":"iOS","deviceosversion":"Version 10.14.2 (Build 18C54)","devicetype":"Zscaler Client Connector","reqsize":1300,"reqmethod":"invalid","b64referer":"d3d3LmV4YW1wbGUuY29t","respsize":10500,"respcode":"100","reqversion":"1.1","respversion":"1","proto":"SSL","company":"Zscaler","dlpmd5":"154f149b1443fbfa8c121d13e5c019a1","apprulelabel":"File_Sharing_1","dlprulename":"DLP_Rule_1","rulelabel":"URL_Filtering_1","urlfilterrulelabel":"URL_Filtering_2","cltip":"81.2.69.144","cltintip":"89.160.20.128","cltsourceport":12345,"threatname":"EICAR Test File","cltsslcipher":"SSL3_CK_RSA_NULL_MD5","clttlsversion":"SSL2","b64url":"d3d3LnlvdXR1YmUuY29tL2FwaS9zdGF0cy9hYmNkP2FmbXQ9MjUxJmJhdD0zMzAuMDE3OjAuOTY6MSZiaD0zMzAuMDE3OjEyMS4yNjQmYndlPTMzMC4wMTc6NzQ1ODYwMSZid209MzMwLjAxNzoyNDA3NzU0OjAuODQ0JmM9V0VCJmNicj1FZGdlIENocm9taXVtJmNicnZlcj0xMTUuMC4wLjAmY2w9NjU1Mzk5OTU2JmNtdD0zMzAuMDE3OjMyOC44MzcmY29zPVdpbmRvd3MmY29zdmVyPTEwLjAmY3BsYXRmb3JtPURFU0tUT1AmY3BsYXllcj1VTklQTEFZRVImY3BuPUZVQjczU1FXeFNIS0FEeHZKJmN2ZXI9Mi4yMDI0MDcyNC4wMy4wMCZkb2NpZD1XVmhHX3NOVkxhc0QmZWw9ZGV0YWlscGFnZSZmZXhwPXYxLDIzODQ4MjI1LDEzNzgwMiwxODYxNywyMDQxMjEsMjMwNTk2LDIyMjA5NywxNjIyOSwxMzMyMTIsMTQ2MjU5NTUsMTE2ODQzODEsNzIyMiwxNDIwNyw5ODU5LDEyMTc3LDk5NTQsMTE5Miw3OTEzLDE4MzEwLDI3Myw0MTQ3LDI4MTksMiwxNjM0NCwxNDI0LDE5MjA0LDk5NDgsMjE5Niw5OTk2LDE5LDIsMTA4Miw2OTUzLDEwMSwxNDAxLDk1NDIsMjQ3MSwzMjkyLDI3MTYsMTUzOCw3MjMsMjU3NSw5NTY3LDEzNzUsMzc2MSw0MTYyLDg2MTAsMTczLDIwMSwxMDQwNiwzMjEsMTQ4LDIsMzQzLDE3ODMsMTQsMTMyMiw1MCw2MjEsNzAyLDEwNjIsMTc2OSwxODIzLDg5NiwyMjkxLDI5MTIsNzU2OCwzNDImZm10PTM5OCZucz15dCZyZWZlcnJlcj1odHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PWlzYTkwXzY3YXMmc2RldGFpbD1ydjppc2E4OV82OGFkJnNlcT0xMyZzb3VyY2VpZD15dyZ2cHM9MzMwLjAxNzpQTA==","useragent":"Mozilla/5.0","login":"jdoe@safemarch.com","applayerprotocol":"FTP","appclass":"Administration","appname":"Adobe Connect","appriskscore":"1","bandwidthclassname":"Entertainment","bandwidthrulename":"Office 365","bwthrottle":"Yes","bypassedtime":"Mon Oct 16 22:55:48 2023","bypassedtraffic":"1","cltsslsessreuse":"Unknown","cltpubip":"175.16.199.0","cltsslfailcount":100,"cltsslfailreason":"Bad Record Mac","contenttype":"application/vnd_apple_keynote","datacentercity":"Sa","datacentercountry":"US","datacenter":"CA Client Node DC","day":"Mon","day_of_month":16,"dept":"Sales","deviceappversion":"1.128.0.1","deviceowner":"jsmith","df_hosthead":"df_hosthead","df_hostname":"df_hostname","dlpdicthitcount":"4","dlpdict":"Credit Cards","dlpeng":"HIPAA","dlpidentifier":6646484838839026000,"eedone":"Yes","epochtime":1578128400,"fileclass":"Active Web Contents","flow_type":"Direct","forward_gateway_ip":"10.1.1.1","forward_gateway_name":"FWD_1","forward_type":"Direct","hour":22,"is_sslexpiredca":"Yes","is_sslselfsigned":"Yes","is_ssluntrustedca":"Pass","keyprotectiontype":"HSM Protection","location":"Headquarters","malwarecategory":"Adware","malwareclass":"Sandbox","minute":55,"mobappcategory":"Communication","mobappname":"Amazon","mobdevtype":"Google Android","module":"Administration","month":"Oct","month_of_year":10,"nssserviceip":"192.168.2.200","oapprulelabel":"5300295980","obwclassname":"10831489","ocip":6200694987,"ocpubip":624054738,"odevicehostname":"2168890624","odevicename":"2175092224","odeviceowner":"10831489","odlpdict":"10831489","odlpeng":"4094304256","odlprulename":"6857275752","ofwd_gw_name":"8794487099","ologin":"4094304256","ordr_rulename":"3399565100","ourlcat":"7956407282","ourlfilterrulelabel":"4951704103","ozpa_app_seg_name":"7648246731","externalsslpolicyreason":"Blocked","productversion":"5.0.902.95524_04","rdr_rulename":"FWD_Rule_1","refererhost":"www.example.com for http://www.example.com/index.html","reqheadersize":300,"reqdatasize":1000,"respheadersize":500,"respdatasize":10000,"riskscore":10,"ruletype":"File Type Control","second":48,"srvcertchainvalpass":"Unknown","srvcertvalidationtype":"EV (Extended Validation)","srvcertvalidityperiod":"Short","srvsslcipher":"SSL3_CK_RSA_NULL_MD5","serversslsessreuse":"Unknown","srvocspresult":"Good","srvtlsversion":"SSL2","srvwildcardcert":"Unknown","ssldecrypted":"Yes","throttlereqsize":5,"throttlerespsize":7,"totalsize":11800,"trafficredirectmethod":"DNAT (Destination Translation)","unscannabletype":"Encrypted File","upload_doctypename":"Corporate Finance","upload_fileclass":"upload_fileclass","upload_filetype":"RAR Files","urlcatmethod":"Database A","urlsubcat":"Entertainment","urlsupercat":"Travel","urlclass":"Bandwidth Loss","useragentclass":"Firefox","useragenttoken":"Google Chrome (0.x)","userlocationname":"userlocationname","year":2023,"ztunnelversion":"ZTUNNEL_1_0","zpa_app_seg_name":"ZPA_test_app_segment"}} +{"version":"v9","sourcetype":"zscalernss-web","event":{"time":"Mon Oct 20 22:55:48 2023","cloudname":"zscaler.net","host":"mail.google.com","serverip":"1.128.0.4","external_devid":"2347","devicemodel":"20L8S7WC12","action":"Allowed","recordid":123456782,"reason":"File Attachment Cautioned","threatseverity":"Critical (90–100)","tz":"GMT","filesubtype":"exe","upload_filesubtype":"rar","sha256":"81ec78bc8298568bb5ea66d3c2972b670d0f7459b6cdbbcaacce90ab417ab15c","bamd5":"196a3d797bfee07fe4596b69f4ce1141","filename":"nssfeed.txt","upload_filename":"nssfeed.exe","filetype":"RAR Files","devicename":"device%5CrN%40me","devicehostname":"THINKPADSMITH","deviceostype":"iOS","deviceosversion":"Version 10.14.2 (Build 18C54)","devicetype":"Zscaler Client Connector","reqsize":1300,"reqmethod":"invalid","b64referer":"d3d3LmV4YW1wbGUuY29tL3NlYXJjaD9maWx0ZXJzPWd1aWQlM0ElMjI0MC1lbi1kaWElMjIrbGFuZyUzQSUyMmVuJTIyJmZvcm09UzAwJnE9aG93K3RvK3VzZStyZW1vdGUrZGVza3RvcCt0bytjb25uZWN0K3RvK2Erd2luZG93cysxMCtwYw==","respsize":10500,"respcode":"100","reqversion":"1.1","respversion":"1","proto":"HTTPS","company":"Zscaler","dlpmd5":"154f149b1443fbfa8c121d13e5c019a1","apprulelabel":"File_Sharing_1","dlprulename":"DLP_Rule_1","rulelabel":"URL_Filtering_1","urlfilterrulelabel":"URL_Filtering_2","cltip":"81.2.69.144","cltintip":"89.160.20.128","cltsourceport":12345,"threatname":"EICAR Test File","cltsslcipher":"SSL3_CK_RSA_NULL_MD5","clttlsversion":"SSL2","b64url":"d3d3LmV4YW1wbGUuY29tOjQ0Mw==","useragent":"Mozilla/5.0","login":"jdoe@safemarch.com","applayerprotocol":"FTP","appclass":"Administration","appname":"Adobe Connect","appriskscore":"1","bandwidthclassname":"Entertainment","bandwidthrulename":"Office 365","bwthrottle":"Yes","bypassedtime":"Mon Oct 16 22:55:48 2023","bypassedtraffic":"1","cltsslsessreuse":"Unknown","cltpubip":"175.16.199.0","cltsslfailcount":100,"cltsslfailreason":"Bad Record Mac","contenttype":"application/vnd_apple_keynote","datacentercity":"Sa","datacentercountry":"US","datacenter":"CA Client Node DC","day":"Mon","day_of_month":16,"dept":"Sales","deviceappversion":"1.128.0.1","deviceowner":"jsmith","df_hosthead":"df_hosthead","df_hostname":"df_hostname","dlpdicthitcount":"4","dlpdict":"Credit Cards","dlpeng":"HIPAA","dlpidentifier":6646484838839026000,"eedone":"Yes","epochtime":1578128400,"fileclass":"Active Web Contents","flow_type":"Direct","forward_gateway_ip":"10.1.1.1","forward_gateway_name":"FWD_1","forward_type":"Direct","hour":22,"is_sslexpiredca":"Yes","is_sslselfsigned":"Yes","is_ssluntrustedca":"Pass","keyprotectiontype":"HSM Protection","location":"Headquarters","malwarecategory":"Adware","malwareclass":"Sandbox","minute":55,"mobappcategory":"Communication","mobappname":"Amazon","mobdevtype":"Google Android","module":"Administration","month":"Oct","month_of_year":10,"nssserviceip":"192.168.2.200","oapprulelabel":"5300295980","obwclassname":"10831489","ocip":6200694987,"ocpubip":624054738,"odevicehostname":"2168890624","odevicename":"2175092224","odeviceowner":"10831489","odlpdict":"10831489","odlpeng":"4094304256","odlprulename":"6857275752","ofwd_gw_name":"8794487099","ologin":"4094304256","ordr_rulename":"3399565100","ourlcat":"7956407282","ourlfilterrulelabel":"4951704103","ozpa_app_seg_name":"7648246731","externalsslpolicyreason":"Blocked","productversion":"5.0.902.95524_04","rdr_rulename":"FWD_Rule_1","refererhost":"www.example.com for http://www.example.com/index.html","reqheadersize":300,"reqdatasize":1000,"respheadersize":500,"respdatasize":10000,"riskscore":10,"ruletype":"File Type Control","second":48,"srvcertchainvalpass":"Unknown","srvcertvalidationtype":"EV (Extended Validation)","srvcertvalidityperiod":"Short","srvsslcipher":"SSL3_CK_RSA_NULL_MD5","serversslsessreuse":"Unknown","srvocspresult":"Good","srvtlsversion":"SSL2","srvwildcardcert":"Unknown","ssldecrypted":"Yes","throttlereqsize":5,"throttlerespsize":7,"totalsize":11800,"trafficredirectmethod":"DNAT (Destination Translation)","unscannabletype":"Encrypted File","upload_doctypename":"Corporate Finance","upload_fileclass":"upload_fileclass","upload_filetype":"RAR Files","urlcatmethod":"Database A","urlsubcat":"Entertainment","urlsupercat":"Travel","urlclass":"Bandwidth Loss","useragentclass":"Firefox","useragenttoken":"Google Chrome (0.x)","userlocationname":"userlocationname","year":2023,"ztunnelversion":"ZTUNNEL_1_0","zpa_app_seg_name":"ZPA_test_app_segment"}} +{"version":"v9","sourcetype":"zscalernss-web","event":{"time":"Mon Oct 20 22:55:48 2023","cloudname":"zscaler.net","host":"mail.google.com","serverip":"1.128.0.4","external_devid":"2347","devicemodel":"20L8S7WC12","action":"Allowed","recordid":123456782,"reason":"File Attachment Cautioned","threatseverity":"Critical (90–100)","tz":"GMT","filesubtype":"exe","upload_filesubtype":"rar","sha256":"81ec78bc8298568bb5ea66d3c2972b670d0f7459b6cdbbcaacce90ab417ab15c","bamd5":"196a3d797bfee07fe4596b69f4ce1141","filename":"nssfeed.txt","upload_filename":"nssfeed.exe","filetype":"RAR Files","devicename":"device%5CrN%40me","devicehostname":"THINKPADSMITH","deviceostype":"iOS","deviceosversion":"Version 10.14.2 (Build 18C54)","devicetype":"Zscaler Client Connector","reqsize":1300,"reqmethod":"invalid","b64referer":"d3d3LmV4YW1wbGUuY29tL3NlYXJjaD9maWx0ZXJzPWd1aWQlM0ElMjI0MC1lbi1kaWElMjIrbGFuZyUzQSUyMmVuJTIyJmZvcm09UzAwJnE9aG93K3RvK3VzZStyZW1vdGUrZGVza3RvcCt0bytjb25uZWN0K3RvK2Erd2luZG93cysxMCtwYw==","respsize":10500,"respcode":"100","reqversion":"1.1","respversion":"1","proto":"HTTPS","company":"Zscaler","dlpmd5":"154f149b1443fbfa8c121d13e5c019a1","apprulelabel":"File_Sharing_1","dlprulename":"DLP_Rule_1","rulelabel":"URL_Filtering_1","urlfilterrulelabel":"URL_Filtering_2","cltip":"81.2.69.144","cltintip":"89.160.20.128","cltsourceport":12345,"threatname":"EICAR Test File","cltsslcipher":"SSL3_CK_RSA_NULL_MD5","clttlsversion":"SSL2","b64url":"dC5jb3Vwb25zLmNvbS9iLnBocD90cmFuc2FjdGlvbklkPUkvdHNJZD09JmV2ZW50VHlwZT1FbGVtZW50SW5WaWV3JmVsZW1lbnROYW1lPVROX1NXQiZvYmplY3RzPXsibGlua1VybCI6Imh0dHBzOi8vd3d3LmNvdXBvbnMuY29tL2RhaWx5LXNhbGVzLzcyLWhvdXItY2xlYXJvdXQiLCJsaW5rVGV4dCI6IlVwJTIwdG8lMjA3MCUlMjBPRkYlMjB8JTIwNzItSG91ciUyMENsZWFyb3V0IiwidGV4dENvbG9yIjoiI0ZGRkZGRiIsInByb21vRW5kRGF0ZSI6bnVsbCwiY3VzdG9tRmllbGQxIjoiVXAlMjB0byUyMDcwJSUyME9GRiUyMHwlMjA3Mi1Ib3VyJTIwQ2xlYXJvdXQifSZsaW5rVXJsPWh0dHBzOi8vd3d3LmNvdXBvbnMuY29tL2RhaWx5LXNhbGVzLzcyLWhvdXItY2xlYXJvdXQmbGlua1RleHQ9VXAlMjB0byUyMDcwJSUyME9GRiUyMHwlMjA3Mi1Ib3VyJTIwQ2xlYXJvdXQmdGV4dENvbG9yPSNGRkZGRkYmcHJvbW9FbmREYXRlPSZjdXN0b21GaWVsZDE9VXAlMjB0byUyMDcwJSUyME9GRiUyMHwlMjA3Mi1Ib3VyJTIwQ2xlYXJvdXQmcGFnZUlkPSZ0aW1lc3RhbXA9MTcyNDY4Mjc3NzE5OA==","useragent":"Mozilla/5.0","login":"jdoe@safemarch.com","applayerprotocol":"FTP","appclass":"Administration","appname":"Adobe Connect","appriskscore":"1","bandwidthclassname":"Entertainment","bandwidthrulename":"Office 365","bwthrottle":"Yes","bypassedtime":"Mon Oct 16 22:55:48 2023","bypassedtraffic":"1","cltsslsessreuse":"Unknown","cltpubip":"175.16.199.0","cltsslfailcount":100,"cltsslfailreason":"Bad Record Mac","contenttype":"application/vnd_apple_keynote","datacentercity":"Sa","datacentercountry":"US","datacenter":"CA Client Node DC","day":"Mon","day_of_month":16,"dept":"Sales","deviceappversion":"1.128.0.1","deviceowner":"jsmith","df_hosthead":"df_hosthead","df_hostname":"df_hostname","dlpdicthitcount":"4","dlpdict":"Credit Cards","dlpeng":"HIPAA","dlpidentifier":6646484838839026000,"eedone":"Yes","epochtime":1578128400,"fileclass":"Active Web Contents","flow_type":"Direct","forward_gateway_ip":"10.1.1.1","forward_gateway_name":"FWD_1","forward_type":"Direct","hour":22,"is_sslexpiredca":"Yes","is_sslselfsigned":"Yes","is_ssluntrustedca":"Pass","keyprotectiontype":"HSM Protection","location":"Headquarters","malwarecategory":"Adware","malwareclass":"Sandbox","minute":55,"mobappcategory":"Communication","mobappname":"Amazon","mobdevtype":"Google Android","module":"Administration","month":"Oct","month_of_year":10,"nssserviceip":"192.168.2.200","oapprulelabel":"5300295980","obwclassname":"10831489","ocip":6200694987,"ocpubip":624054738,"odevicehostname":"2168890624","odevicename":"2175092224","odeviceowner":"10831489","odlpdict":"10831489","odlpeng":"4094304256","odlprulename":"6857275752","ofwd_gw_name":"8794487099","ologin":"4094304256","ordr_rulename":"3399565100","ourlcat":"7956407282","ourlfilterrulelabel":"4951704103","ozpa_app_seg_name":"7648246731","externalsslpolicyreason":"Blocked","productversion":"5.0.902.95524_04","rdr_rulename":"FWD_Rule_1","refererhost":"www.example.com for http://www.example.com/index.html","reqheadersize":300,"reqdatasize":1000,"respheadersize":500,"respdatasize":10000,"riskscore":10,"ruletype":"File Type Control","second":48,"srvcertchainvalpass":"Unknown","srvcertvalidationtype":"EV (Extended Validation)","srvcertvalidityperiod":"Short","srvsslcipher":"SSL3_CK_RSA_NULL_MD5","serversslsessreuse":"Unknown","srvocspresult":"Good","srvtlsversion":"SSL2","srvwildcardcert":"Unknown","ssldecrypted":"Yes","throttlereqsize":5,"throttlerespsize":7,"totalsize":11800,"trafficredirectmethod":"DNAT (Destination Translation)","unscannabletype":"Encrypted File","upload_doctypename":"Corporate Finance","upload_fileclass":"upload_fileclass","upload_filetype":"RAR Files","urlcatmethod":"Database A","urlsubcat":"Entertainment","urlsupercat":"Travel","urlclass":"Bandwidth Loss","useragentclass":"Firefox","useragenttoken":"Google Chrome (0.x)","userlocationname":"userlocationname","year":2023,"ztunnelversion":"ZTUNNEL_1_0","zpa_app_seg_name":"ZPA_test_app_segment"}} +{"version":"v9","sourcetype":"zscalernss-web","event":{"time":"Mon Oct 20 22:55:48 2023","cloudname":"zscaler.net","host":"mail.google.com","serverip":"1.128.0.4","external_devid":"2347","devicemodel":"20L8S7WC12","action":"Allowed","recordid":123456782,"reason":"File Attachment Cautioned","threatseverity":"Critical (90–100)","tz":"GMT","filesubtype":"exe","upload_filesubtype":"rar","sha256":"81ec78bc8298568bb5ea66d3c2972b670d0f7459b6cdbbcaacce90ab417ab15c","bamd5":"196a3d797bfee07fe4596b69f4ce1141","filename":"nssfeed.txt","upload_filename":"nssfeed.exe","filetype":"RAR Files","devicename":"device%5CrN%40me","devicehostname":"THINKPADSMITH","deviceostype":"iOS","deviceosversion":"Version 10.14.2 (Build 18C54)","devicetype":"Zscaler Client Connector","reqsize":1300,"reqmethod":"invalid","b64referer":"d3d3LmV4YW1wbGUuY29tL3NlYXJjaD9maWx0ZXJzPWd1aWQlM0ElMjI0MC1lbi1kaWElMjIrbGFuZyUzQSUyMmVuJTIyJmZvcm09UzAwJnE9aG93K3RvK3VzZStyZW1vdGUrZGVza3RvcCt0bytjb25uZWN0K3RvK2Erd2luZG93cysxMCtwYw==","respsize":10500,"respcode":"100","reqversion":"1.1","respversion":"1","proto":"HTTPS","company":"Zscaler","dlpmd5":"154f149b1443fbfa8c121d13e5c019a1","apprulelabel":"File_Sharing_1","dlprulename":"DLP_Rule_1","rulelabel":"URL_Filtering_1","urlfilterrulelabel":"URL_Filtering_2","cltip":"81.2.69.144","cltintip":"89.160.20.128","cltsourceport":12345,"threatname":"EICAR Test File","cltsslcipher":"SSL3_CK_RSA_NULL_MD5","clttlsversion":"SSL2","b64url":"ZXhhbXBsZS5jb20vP3BhcnRuZXI9MjcxJnNtYXJ0bWFwPTEmcmVkaXJlY3Q9aHR0cHM6Ly9leGFtcGxlLmNvbS9zZXR1aWQ/ZW50aXR5PTE0NSZjb2RlPSVfcmlk","useragent":"Mozilla/5.0","login":"jdoe@safemarch.com","applayerprotocol":"FTP","appclass":"Administration","appname":"Adobe Connect","appriskscore":"1","bandwidthclassname":"Entertainment","bandwidthrulename":"Office 365","bwthrottle":"Yes","bypassedtime":"Mon Oct 16 22:55:48 2023","bypassedtraffic":"1","cltsslsessreuse":"Unknown","cltpubip":"175.16.199.0","cltsslfailcount":100,"cltsslfailreason":"Bad Record Mac","contenttype":"application/vnd_apple_keynote","datacentercity":"Sa","datacentercountry":"US","datacenter":"CA Client Node DC","day":"Mon","day_of_month":16,"dept":"Sales","deviceappversion":"1.128.0.1","deviceowner":"jsmith","df_hosthead":"df_hosthead","df_hostname":"df_hostname","dlpdicthitcount":"4","dlpdict":"Credit Cards","dlpeng":"HIPAA","dlpidentifier":6646484838839026000,"eedone":"Yes","epochtime":1578128400,"fileclass":"Active Web Contents","flow_type":"Direct","forward_gateway_ip":"10.1.1.1","forward_gateway_name":"FWD_1","forward_type":"Direct","hour":22,"is_sslexpiredca":"Yes","is_sslselfsigned":"Yes","is_ssluntrustedca":"Pass","keyprotectiontype":"HSM Protection","location":"Headquarters","malwarecategory":"Adware","malwareclass":"Sandbox","minute":55,"mobappcategory":"Communication","mobappname":"Amazon","mobdevtype":"Google Android","module":"Administration","month":"Oct","month_of_year":10,"nssserviceip":"192.168.2.200","oapprulelabel":"5300295980","obwclassname":"10831489","ocip":6200694987,"ocpubip":624054738,"odevicehostname":"2168890624","odevicename":"2175092224","odeviceowner":"10831489","odlpdict":"10831489","odlpeng":"4094304256","odlprulename":"6857275752","ofwd_gw_name":"8794487099","ologin":"4094304256","ordr_rulename":"3399565100","ourlcat":"7956407282","ourlfilterrulelabel":"4951704103","ozpa_app_seg_name":"7648246731","externalsslpolicyreason":"Blocked","productversion":"5.0.902.95524_04","rdr_rulename":"FWD_Rule_1","refererhost":"www.example.com for http://www.example.com/index.html","reqheadersize":300,"reqdatasize":1000,"respheadersize":500,"respdatasize":10000,"riskscore":10,"ruletype":"File Type Control","second":48,"srvcertchainvalpass":"Unknown","srvcertvalidationtype":"EV (Extended Validation)","srvcertvalidityperiod":"Short","srvsslcipher":"SSL3_CK_RSA_NULL_MD5","serversslsessreuse":"Unknown","srvocspresult":"Good","srvtlsversion":"SSL2","srvwildcardcert":"Unknown","ssldecrypted":"Yes","throttlereqsize":5,"throttlerespsize":7,"totalsize":11800,"trafficredirectmethod":"DNAT (Destination Translation)","unscannabletype":"Encrypted File","upload_doctypename":"Corporate Finance","upload_fileclass":"upload_fileclass","upload_filetype":"RAR Files","urlcatmethod":"Database A","urlsubcat":"Entertainment","urlsupercat":"Travel","urlclass":"Bandwidth Loss","useragentclass":"Firefox","useragenttoken":"Google Chrome (0.x)","userlocationname":"userlocationname","year":2023,"ztunnelversion":"ZTUNNEL_1_0","zpa_app_seg_name":"ZPA_test_app_segment"}} \ No newline at end of file diff --git a/packages/zscaler_zia/data_stream/web/_dev/test/pipeline/test-web.log-expected.json b/packages/zscaler_zia/data_stream/web/_dev/test/pipeline/test-web.log-expected.json index 807aa718edd..8aa98a42859 100644 --- a/packages/zscaler_zia/data_stream/web/_dev/test/pipeline/test-web.log-expected.json +++ b/packages/zscaler_zia/data_stream/web/_dev/test/pipeline/test-web.log-expected.json @@ -25,7 +25,7 @@ ], "id": "123456789", "kind": "event", - "original": "{\"version\":\"v8\",\"sourcetype\":\"zscalernss-web\",\"event\":{\"time\":\"Mon Oct 16 22:55:48 2023\",\"cloudname\":\"zscaler.net\",\"host\":\"mail.google.com\",\"serverip\":\"1.128.0.0\",\"external_devid\":\"1234\",\"devicemodel\":\"20L8S7WC08\",\"action\":\"Allowed\",\"recordid\":123456789,\"reason\":\"File Attachment Cautioned\",\"threatseverity\":\"Critical (90–100)\",\"tz\":\"GMT\",\"filesubtype\":\"exe\",\"upload_filesubtype\":\"rar\",\"sha256\":\"81ec78bc8298568bb5ea66d3c2972b670d0f7459b6cdbbcaacce90ab417ab15c\",\"bamd5\":\"196a3d797bfee07fe4596b69f4ce1141\",\"filename\":\"nssfeed.txt\",\"upload_filename\":\"nssfeed.exe\",\"filetype\":\"RAR Files\",\"devicename\":\"PC11NLPA%3A5F08D97BBF43257A8FB4BBF4061A38AE324EF734\",\"devicehostname\":\"THINKPADSMITH\",\"deviceostype\":\"iOS\",\"deviceosversion\":\"Version 10.14.2 (Build 18C54)\",\"devicetype\":\"Zscaler Client Connector\",\"reqsize\":1300,\"reqmethod\":\"invalid\",\"b64referer\":\"d3d3LmV4YW1wbGUuY29t\",\"respsize\":10500,\"respcode\":\"100\",\"reqversion\":\"1.1\",\"respversion\":\"1\",\"proto\":\"HTTP\",\"company\":\"Zscaler\",\"dlpmd5\":\"154f149b1443fbfa8c121d13e5c019a1\",\"apprulelabel\":\"File_Sharing_1\",\"dlprulename\":\"DLP_Rule_1\",\"rulelabel\":\"URL_Filtering_1\",\"urlfilterrulelabel\":\"URL_Filtering_2\",\"cltip\":\"81.2.69.144\",\"cltintip\":\"89.160.20.128\",\"cltsourceport\":12345,\"threatname\":\"EICAR Test File\",\"cltsslcipher\":\"SSL3_CK_RSA_NULL_MD5\",\"clttlsversion\":\"SSL2\",\"b64url\":\"d3d3LnRyeXRoaXNlbmNvZGV1cmwuY29tOjQ0My9pbmRleD9xdGltZT0yMDIzLTA0LTEyVDIzOjIwOjUwLjUyWg==\",\"useragent\":\"Mozilla/5.0\",\"login\":\"jdoe@safemarch.com\",\"applayerprotocol\":\"FTP\",\"appclass\":\"Administration\",\"appname\":\"Adobe Connect\",\"appriskscore\":\"1\",\"bandwidthclassname\":\"Entertainment\",\"bandwidthrulename\":\"Office 365\",\"bwthrottle\":\"Yes\",\"bypassedtime\":\"Mon Oct 16 22:55:48 2023\",\"bypassedtraffic\":\"1\",\"cltsslsessreuse\":\"Unknown\",\"cltpubip\":\"175.16.199.0\",\"cltsslfailcount\":100,\"cltsslfailreason\":\"Bad Record Mac\",\"contenttype\":\"application/vnd_apple_keynote\",\"datacentercity\":\"Sa\",\"datacentercountry\":\"US\",\"datacenter\":\"CA Client Node DC\",\"day\":\"Mon\",\"day_of_month\":16,\"dept\":\"Sales\",\"deviceappversion\":\"1.128.0.0\",\"deviceowner\":\"jsmith\",\"df_hosthead\":\"df_hosthead\",\"df_hostname\":\"df_hostname\",\"dlpdicthitcount\":\"4\",\"dlpdict\":\"Credit Cards\",\"dlpeng\":\"HIPAA\",\"dlpidentifier\":6646484838839026000,\"eedone\":\"Yes\",\"epochtime\":1578128400,\"fileclass\":\"Active Web Contents\",\"flow_type\":\"Direct\",\"forward_gateway_ip\":\"10.1.1.1\",\"forward_gateway_name\":\"FWD_1\",\"forward_type\":\"Direct\",\"hour\":22,\"is_sslexpiredca\":\"Yes\",\"is_sslselfsigned\":\"Yes\",\"is_ssluntrustedca\":\"Pass\",\"keyprotectiontype\":\"HSM Protection\",\"location\":\"Headquarters\",\"malwarecategory\":\"Adware\",\"malwareclass\":\"Sandbox\",\"minute\":55,\"mobappcategory\":\"Communication\",\"mobappname\":\"Amazon\",\"mobdevtype\":\"Google Android\",\"module\":\"Administration\",\"month\":\"Oct\",\"month_of_year\":10,\"nssserviceip\":\"192.168.2.200\",\"oapprulelabel\":\"5300295980\",\"obwclassname\":\"10831489\",\"ocip\":6200694987,\"ocpubip\":624054738,\"odevicehostname\":\"2168890624\",\"odevicename\":\"2175092224\",\"odeviceowner\":\"10831489\",\"odlpdict\":\"10831489\",\"odlpeng\":\"4094304256\",\"odlprulename\":\"6857275752\",\"ofwd_gw_name\":\"8794487099\",\"ologin\":\"4094304256\",\"ordr_rulename\":\"3399565100\",\"ourlcat\":\"7956407282\",\"ourlfilterrulelabel\":\"4951704103\",\"ozpa_app_seg_name\":\"7648246731\",\"externalsslpolicyreason\":\"Blocked\",\"productversion\":\"5.0.902.95524_04\",\"rdr_rulename\":\"FWD_Rule_1\",\"refererhost\":\"www.example.com for http://www.example.com/index.html\",\"reqheadersize\":300,\"reqdatasize\":1000,\"respheadersize\":500,\"respdatasize\":10000,\"riskscore\":10,\"ruletype\":\"File Type Control\",\"second\":48,\"srvcertchainvalpass\":\"Unknown\",\"srvcertvalidationtype\":\"EV (Extended Validation)\",\"srvcertvalidityperiod\":\"Short\",\"srvsslcipher\":\"SSL3_CK_RSA_NULL_MD5\",\"serversslsessreuse\":\"Unknown\",\"srvocspresult\":\"Good\",\"srvtlsversion\":\"SSL2\",\"srvwildcardcert\":\"Unknown\",\"ssldecrypted\":\"Yes\",\"throttlereqsize\":5,\"throttlerespsize\":7,\"totalsize\":11800,\"trafficredirectmethod\":\"DNAT (Destination Translation)\",\"unscannabletype\":\"Encrypted File\",\"upload_doctypename\":\"Corporate Finance\",\"upload_fileclass\":\"upload_fileclass\",\"upload_filetype\":\"RAR Files\",\"urlcatmethod\":\"Database A\",\"urlsubcat\":\"Entertainment\",\"urlsupercat\":\"Travel\",\"urlclass\":\"Bandwidth Loss\",\"useragentclass\":\"Firefox\",\"useragenttoken\":\"Google Chrome (0.x)\",\"userlocationname\":\"userlocationname\",\"year\":2023,\"ztunnelversion\":\"ZTUNNEL_1_0\",\"zpa_app_seg_name\":\"ZPA_test_app_segment\"}}", + "original": "{\"version\":\"v9\",\"sourcetype\":\"zscalernss-web\",\"event\":{\"time\":\"Mon Oct 16 22:55:48 2023\",\"cloudname\":\"zscaler.net\",\"host\":\"mail.google.com\",\"serverip\":\"1.128.0.0\",\"external_devid\":\"1234\",\"devicemodel\":\"20L8S7WC08\",\"action\":\"Allowed\",\"recordid\":123456789,\"reason\":\"File Attachment Cautioned\",\"threatseverity\":\"Critical (90–100)\",\"tz\":\"GMT\",\"filesubtype\":\"exe\",\"upload_filesubtype\":\"rar\",\"sha256\":\"81ec78bc8298568bb5ea66d3c2972b670d0f7459b6cdbbcaacce90ab417ab15c\",\"bamd5\":\"196a3d797bfee07fe4596b69f4ce1141\",\"filename\":\"nssfeed.txt\",\"upload_filename\":\"nssfeed.exe\",\"filetype\":\"RAR Files\",\"devicename\":\"PC11NLPA%3A5F08D97BBF43257A8FB4BBF4061A38AE324EF734\",\"devicehostname\":\"THINKPADSMITH\",\"deviceostype\":\"iOS\",\"deviceosversion\":\"Version 10.14.2 (Build 18C54)\",\"devicetype\":\"Zscaler Client Connector\",\"reqsize\":1300,\"reqmethod\":\"invalid\",\"b64referer\":\"d3d3LmV4YW1wbGUuY29t\",\"respsize\":10500,\"respcode\":\"100\",\"reqversion\":\"1.1\",\"respversion\":\"1\",\"proto\":\"HTTP\",\"company\":\"Zscaler\",\"dlpmd5\":\"154f149b1443fbfa8c121d13e5c019a1\",\"apprulelabel\":\"File_Sharing_1\",\"dlprulename\":\"DLP_Rule_1\",\"rulelabel\":\"URL_Filtering_1\",\"urlfilterrulelabel\":\"URL_Filtering_2\",\"cltip\":\"81.2.69.144\",\"cltintip\":\"89.160.20.128\",\"cltsourceport\":12345,\"threatname\":\"EICAR Test File\",\"cltsslcipher\":\"SSL3_CK_RSA_NULL_MD5\",\"clttlsversion\":\"SSL2\",\"b64url\":\"d3d3LnRyeXRoaXNlbmNvZGV1cmwuY29tOjQ0My9pbmRleD9xdGltZT0yMDIzLTA0LTEyVDIzOjIwOjUwLjUyWg==\",\"useragent\":\"Mozilla/5.0\",\"login\":\"jdoe@safemarch.com\",\"applayerprotocol\":\"FTP\",\"appclass\":\"Administration\",\"appname\":\"Adobe Connect\",\"appriskscore\":\"1\",\"bandwidthclassname\":\"Entertainment\",\"bandwidthrulename\":\"Office 365\",\"bwthrottle\":\"Yes\",\"bypassedtime\":\"Mon Oct 16 22:55:48 2023\",\"bypassedtraffic\":\"1\",\"cltsslsessreuse\":\"Unknown\",\"cltpubip\":\"175.16.199.0\",\"cltsslfailcount\":100,\"cltsslfailreason\":\"Bad Record Mac\",\"contenttype\":\"application/vnd_apple_keynote\",\"datacentercity\":\"Sa\",\"datacentercountry\":\"US\",\"datacenter\":\"CA Client Node DC\",\"day\":\"Mon\",\"day_of_month\":16,\"dept\":\"Sales\",\"deviceappversion\":\"1.128.0.0\",\"deviceowner\":\"jsmith\",\"df_hosthead\":\"df_hosthead\",\"df_hostname\":\"df_hostname\",\"dlpdicthitcount\":\"4\",\"dlpdict\":\"Credit Cards\",\"dlpeng\":\"HIPAA\",\"dlpidentifier\":6646484838839026000,\"eedone\":\"Yes\",\"epochtime\":1578128400,\"fileclass\":\"Active Web Contents\",\"flow_type\":\"Direct\",\"forward_gateway_ip\":\"10.1.1.1\",\"forward_gateway_name\":\"FWD_1\",\"forward_type\":\"Direct\",\"hour\":22,\"is_sslexpiredca\":\"Yes\",\"is_sslselfsigned\":\"Yes\",\"is_ssluntrustedca\":\"Pass\",\"keyprotectiontype\":\"HSM Protection\",\"location\":\"Headquarters\",\"malwarecategory\":\"Adware\",\"malwareclass\":\"Sandbox\",\"minute\":55,\"mobappcategory\":\"Communication\",\"mobappname\":\"Amazon\",\"mobdevtype\":\"Google Android\",\"module\":\"Administration\",\"month\":\"Oct\",\"month_of_year\":10,\"nssserviceip\":\"192.168.2.200\",\"oapprulelabel\":\"5300295980\",\"obwclassname\":\"10831489\",\"ocip\":6200694987,\"ocpubip\":624054738,\"odevicehostname\":\"2168890624\",\"odevicename\":\"2175092224\",\"odeviceowner\":\"10831489\",\"odlpdict\":\"10831489\",\"odlpeng\":\"4094304256\",\"odlprulename\":\"6857275752\",\"ofwd_gw_name\":\"8794487099\",\"ologin\":\"4094304256\",\"ordr_rulename\":\"3399565100\",\"ourlcat\":\"7956407282\",\"ourlfilterrulelabel\":\"4951704103\",\"ozpa_app_seg_name\":\"7648246731\",\"externalsslpolicyreason\":\"Blocked\",\"productversion\":\"5.0.902.95524_04\",\"rdr_rulename\":\"FWD_Rule_1\",\"refererhost\":\"www.example.com for http://www.example.com/index.html\",\"reqheadersize\":300,\"reqdatasize\":1000,\"respheadersize\":500,\"respdatasize\":10000,\"riskscore\":10,\"ruletype\":\"File Type Control\",\"second\":48,\"srvcertchainvalpass\":\"Unknown\",\"srvcertvalidationtype\":\"EV (Extended Validation)\",\"srvcertvalidityperiod\":\"Short\",\"srvsslcipher\":\"SSL3_CK_RSA_NULL_MD5\",\"serversslsessreuse\":\"Unknown\",\"srvocspresult\":\"Good\",\"srvtlsversion\":\"SSL2\",\"srvwildcardcert\":\"Unknown\",\"ssldecrypted\":\"Yes\",\"throttlereqsize\":5,\"throttlerespsize\":7,\"totalsize\":11800,\"trafficredirectmethod\":\"DNAT (Destination Translation)\",\"unscannabletype\":\"Encrypted File\",\"upload_doctypename\":\"Corporate Finance\",\"upload_fileclass\":\"upload_fileclass\",\"upload_filetype\":\"RAR Files\",\"urlcatmethod\":\"Database A\",\"urlsubcat\":\"Entertainment\",\"urlsupercat\":\"Travel\",\"urlclass\":\"Bandwidth Loss\",\"useragentclass\":\"Firefox\",\"useragenttoken\":\"Google Chrome (0.x)\",\"userlocationname\":\"userlocationname\",\"year\":2023,\"ztunnelversion\":\"ZTUNNEL_1_0\",\"zpa_app_seg_name\":\"ZPA_test_app_segment\"}}", "reason": "File Attachment Cautioned", "timezone": "GMT", "type": [ @@ -445,7 +445,7 @@ ], "id": "123456780", "kind": "event", - "original": "{\"version\":\"v8\",\"sourcetype\":\"zscalernss-web\",\"event\":{\"time\":\"Mon Oct 17 22:55:48 2023\",\"cloudname\":\"zscaler.net\",\"host\":\"mail.google.com\",\"serverip\":\"1.128.0.1\",\"external_devid\":\"2345\",\"devicemodel\":\"20L8S7WC09\",\"action\":\"Allowed\",\"recordid\":123456780,\"reason\":\"File Attachment Cautioned\",\"threatseverity\":\"Critical (90–100)\",\"tz\":\"GMT\",\"filesubtype\":\"exe\",\"upload_filesubtype\":\"rar\",\"sha256\":\"81ec78bc8298568bb5ea66d3c2972b670d0f7459b6cdbbcaacce90ab417ab15c\",\"bamd5\":\"196a3d797bfee07fe4596b69f4ce1141\",\"filename\":\"nssfeed.txt\",\"upload_filename\":\"nssfeed.exe\",\"filetype\":\"RAR Files\",\"devicename\":\"PC11NLPA%3A5F08D97BBF43257A8FB4BBF4061A38AE324EF734\",\"devicehostname\":\"THINKPADSMITH\",\"deviceostype\":\"iOS\",\"deviceosversion\":\"Version 10.14.2 (Build 18C54)\",\"devicetype\":\"Zscaler Client Connector\",\"reqsize\":1300,\"reqmethod\":\"invalid\",\"b64referer\":\"d3d3LmV4YW1wbGUuY29t\",\"respsize\":10500,\"respcode\":\"100\",\"reqversion\":\"1.1\",\"respversion\":\"1\",\"proto\":\"HTTPS\",\"company\":\"Zscaler\",\"dlpmd5\":\"154f149b1443fbfa8c121d13e5c019a1\",\"apprulelabel\":\"File_Sharing_1\",\"dlprulename\":\"DLP_Rule_1\",\"rulelabel\":\"URL_Filtering_1\",\"urlfilterrulelabel\":\"URL_Filtering_2\",\"cltip\":\"81.2.69.144\",\"cltintip\":\"89.160.20.128\",\"cltsourceport\":12345,\"threatname\":\"EICAR Test File\",\"cltsslcipher\":\"SSL3_CK_RSA_NULL_MD5\",\"clttlsversion\":\"SSL2\",\"b64url\":\"d3d3LmV4YW1wbGUuY29tOjQ0Mw==\",\"useragent\":\"Mozilla/5.0\",\"login\":\"jdoe@safemarch.com\",\"applayerprotocol\":\"FTP\",\"appclass\":\"Administration\",\"appname\":\"Adobe Connect\",\"appriskscore\":\"1\",\"bandwidthclassname\":\"Entertainment\",\"bandwidthrulename\":\"Office 365\",\"bwthrottle\":\"Yes\",\"bypassedtime\":\"Mon Oct 16 22:55:48 2023\",\"bypassedtraffic\":\"1\",\"cltsslsessreuse\":\"Unknown\",\"cltpubip\":\"175.16.199.0\",\"cltsslfailcount\":100,\"cltsslfailreason\":\"Bad Record Mac\",\"contenttype\":\"application/vnd_apple_keynote\",\"datacentercity\":\"Sa\",\"datacentercountry\":\"US\",\"datacenter\":\"CA Client Node DC\",\"day\":\"Mon\",\"day_of_month\":16,\"dept\":\"Sales\",\"deviceappversion\":\"1.128.0.1\",\"deviceowner\":\"jsmith\",\"df_hosthead\":\"df_hosthead\",\"df_hostname\":\"df_hostname\",\"dlpdicthitcount\":\"4\",\"dlpdict\":\"Credit Cards\",\"dlpeng\":\"HIPAA\",\"dlpidentifier\":6646484838839026000,\"eedone\":\"Yes\",\"epochtime\":1578128400,\"fileclass\":\"Active Web Contents\",\"flow_type\":\"Direct\",\"forward_gateway_ip\":\"10.1.1.1\",\"forward_gateway_name\":\"FWD_1\",\"forward_type\":\"Direct\",\"hour\":22,\"is_sslexpiredca\":\"Yes\",\"is_sslselfsigned\":\"Yes\",\"is_ssluntrustedca\":\"Pass\",\"keyprotectiontype\":\"HSM Protection\",\"location\":\"Headquarters\",\"malwarecategory\":\"Adware\",\"malwareclass\":\"Sandbox\",\"minute\":55,\"mobappcategory\":\"Communication\",\"mobappname\":\"Amazon\",\"mobdevtype\":\"Google Android\",\"module\":\"Administration\",\"month\":\"Oct\",\"month_of_year\":10,\"nssserviceip\":\"192.168.2.200\",\"oapprulelabel\":\"5300295980\",\"obwclassname\":\"10831489\",\"ocip\":6200694987,\"ocpubip\":624054738,\"odevicehostname\":\"2168890624\",\"odevicename\":\"2175092224\",\"odeviceowner\":\"10831489\",\"odlpdict\":\"10831489\",\"odlpeng\":\"4094304256\",\"odlprulename\":\"6857275752\",\"ofwd_gw_name\":\"8794487099\",\"ologin\":\"4094304256\",\"ordr_rulename\":\"3399565100\",\"ourlcat\":\"7956407282\",\"ourlfilterrulelabel\":\"4951704103\",\"ozpa_app_seg_name\":\"7648246731\",\"externalsslpolicyreason\":\"Blocked\",\"productversion\":\"5.0.902.95524_04\",\"rdr_rulename\":\"FWD_Rule_1\",\"refererhost\":\"www.example.com for http://www.example.com/index.html\",\"reqheadersize\":300,\"reqdatasize\":1000,\"respheadersize\":500,\"respdatasize\":10000,\"riskscore\":10,\"ruletype\":\"File Type Control\",\"second\":48,\"srvcertchainvalpass\":\"Unknown\",\"srvcertvalidationtype\":\"EV (Extended Validation)\",\"srvcertvalidityperiod\":\"Short\",\"srvsslcipher\":\"SSL3_CK_RSA_NULL_MD5\",\"serversslsessreuse\":\"Unknown\",\"srvocspresult\":\"Good\",\"srvtlsversion\":\"SSL2\",\"srvwildcardcert\":\"Unknown\",\"ssldecrypted\":\"Yes\",\"throttlereqsize\":5,\"throttlerespsize\":7,\"totalsize\":11800,\"trafficredirectmethod\":\"DNAT (Destination Translation)\",\"unscannabletype\":\"Encrypted File\",\"upload_doctypename\":\"Corporate Finance\",\"upload_fileclass\":\"upload_fileclass\",\"upload_filetype\":\"RAR Files\",\"urlcatmethod\":\"Database A\",\"urlsubcat\":\"Entertainment\",\"urlsupercat\":\"Travel\",\"urlclass\":\"Bandwidth Loss\",\"useragentclass\":\"Firefox\",\"useragenttoken\":\"Google Chrome (0.x)\",\"userlocationname\":\"userlocationname\",\"year\":2023,\"ztunnelversion\":\"ZTUNNEL_1_0\",\"zpa_app_seg_name\":\"ZPA_test_app_segment\"}}", + "original": "{\"version\":\"v9\",\"sourcetype\":\"zscalernss-web\",\"event\":{\"time\":\"Mon Oct 17 22:55:48 2023\",\"cloudname\":\"zscaler.net\",\"host\":\"mail.google.com\",\"serverip\":\"1.128.0.1\",\"external_devid\":\"2345\",\"devicemodel\":\"20L8S7WC09\",\"action\":\"Allowed\",\"recordid\":123456780,\"reason\":\"File Attachment Cautioned\",\"threatseverity\":\"Critical (90–100)\",\"tz\":\"GMT\",\"filesubtype\":\"exe\",\"upload_filesubtype\":\"rar\",\"sha256\":\"81ec78bc8298568bb5ea66d3c2972b670d0f7459b6cdbbcaacce90ab417ab15c\",\"bamd5\":\"196a3d797bfee07fe4596b69f4ce1141\",\"filename\":\"nssfeed.txt\",\"upload_filename\":\"nssfeed.exe\",\"filetype\":\"RAR Files\",\"devicename\":\"PC11NLPA%3A5F08D97BBF43257A8FB4BBF4061A38AE324EF734\",\"devicehostname\":\"THINKPADSMITH\",\"deviceostype\":\"iOS\",\"deviceosversion\":\"Version 10.14.2 (Build 18C54)\",\"devicetype\":\"Zscaler Client Connector\",\"reqsize\":1300,\"reqmethod\":\"invalid\",\"b64referer\":\"d3d3LmV4YW1wbGUuY29t\",\"respsize\":10500,\"respcode\":\"100\",\"reqversion\":\"1.1\",\"respversion\":\"1\",\"proto\":\"HTTPS\",\"company\":\"Zscaler\",\"dlpmd5\":\"154f149b1443fbfa8c121d13e5c019a1\",\"apprulelabel\":\"File_Sharing_1\",\"dlprulename\":\"DLP_Rule_1\",\"rulelabel\":\"URL_Filtering_1\",\"urlfilterrulelabel\":\"URL_Filtering_2\",\"cltip\":\"81.2.69.144\",\"cltintip\":\"89.160.20.128\",\"cltsourceport\":12345,\"threatname\":\"EICAR Test File\",\"cltsslcipher\":\"SSL3_CK_RSA_NULL_MD5\",\"clttlsversion\":\"SSL2\",\"b64url\":\"d3d3LmV4YW1wbGUuY29tOjQ0Mw==\",\"useragent\":\"Mozilla/5.0\",\"login\":\"jdoe@safemarch.com\",\"applayerprotocol\":\"FTP\",\"appclass\":\"Administration\",\"appname\":\"Adobe Connect\",\"appriskscore\":\"1\",\"bandwidthclassname\":\"Entertainment\",\"bandwidthrulename\":\"Office 365\",\"bwthrottle\":\"Yes\",\"bypassedtime\":\"Mon Oct 16 22:55:48 2023\",\"bypassedtraffic\":\"1\",\"cltsslsessreuse\":\"Unknown\",\"cltpubip\":\"175.16.199.0\",\"cltsslfailcount\":100,\"cltsslfailreason\":\"Bad Record Mac\",\"contenttype\":\"application/vnd_apple_keynote\",\"datacentercity\":\"Sa\",\"datacentercountry\":\"US\",\"datacenter\":\"CA Client Node DC\",\"day\":\"Mon\",\"day_of_month\":16,\"dept\":\"Sales\",\"deviceappversion\":\"1.128.0.1\",\"deviceowner\":\"jsmith\",\"df_hosthead\":\"df_hosthead\",\"df_hostname\":\"df_hostname\",\"dlpdicthitcount\":\"4\",\"dlpdict\":\"Credit Cards\",\"dlpeng\":\"HIPAA\",\"dlpidentifier\":6646484838839026000,\"eedone\":\"Yes\",\"epochtime\":1578128400,\"fileclass\":\"Active Web Contents\",\"flow_type\":\"Direct\",\"forward_gateway_ip\":\"10.1.1.1\",\"forward_gateway_name\":\"FWD_1\",\"forward_type\":\"Direct\",\"hour\":22,\"is_sslexpiredca\":\"Yes\",\"is_sslselfsigned\":\"Yes\",\"is_ssluntrustedca\":\"Pass\",\"keyprotectiontype\":\"HSM Protection\",\"location\":\"Headquarters\",\"malwarecategory\":\"Adware\",\"malwareclass\":\"Sandbox\",\"minute\":55,\"mobappcategory\":\"Communication\",\"mobappname\":\"Amazon\",\"mobdevtype\":\"Google Android\",\"module\":\"Administration\",\"month\":\"Oct\",\"month_of_year\":10,\"nssserviceip\":\"192.168.2.200\",\"oapprulelabel\":\"5300295980\",\"obwclassname\":\"10831489\",\"ocip\":6200694987,\"ocpubip\":624054738,\"odevicehostname\":\"2168890624\",\"odevicename\":\"2175092224\",\"odeviceowner\":\"10831489\",\"odlpdict\":\"10831489\",\"odlpeng\":\"4094304256\",\"odlprulename\":\"6857275752\",\"ofwd_gw_name\":\"8794487099\",\"ologin\":\"4094304256\",\"ordr_rulename\":\"3399565100\",\"ourlcat\":\"7956407282\",\"ourlfilterrulelabel\":\"4951704103\",\"ozpa_app_seg_name\":\"7648246731\",\"externalsslpolicyreason\":\"Blocked\",\"productversion\":\"5.0.902.95524_04\",\"rdr_rulename\":\"FWD_Rule_1\",\"refererhost\":\"www.example.com for http://www.example.com/index.html\",\"reqheadersize\":300,\"reqdatasize\":1000,\"respheadersize\":500,\"respdatasize\":10000,\"riskscore\":10,\"ruletype\":\"File Type Control\",\"second\":48,\"srvcertchainvalpass\":\"Unknown\",\"srvcertvalidationtype\":\"EV (Extended Validation)\",\"srvcertvalidityperiod\":\"Short\",\"srvsslcipher\":\"SSL3_CK_RSA_NULL_MD5\",\"serversslsessreuse\":\"Unknown\",\"srvocspresult\":\"Good\",\"srvtlsversion\":\"SSL2\",\"srvwildcardcert\":\"Unknown\",\"ssldecrypted\":\"Yes\",\"throttlereqsize\":5,\"throttlerespsize\":7,\"totalsize\":11800,\"trafficredirectmethod\":\"DNAT (Destination Translation)\",\"unscannabletype\":\"Encrypted File\",\"upload_doctypename\":\"Corporate Finance\",\"upload_fileclass\":\"upload_fileclass\",\"upload_filetype\":\"RAR Files\",\"urlcatmethod\":\"Database A\",\"urlsubcat\":\"Entertainment\",\"urlsupercat\":\"Travel\",\"urlclass\":\"Bandwidth Loss\",\"useragentclass\":\"Firefox\",\"useragenttoken\":\"Google Chrome (0.x)\",\"userlocationname\":\"userlocationname\",\"year\":2023,\"ztunnelversion\":\"ZTUNNEL_1_0\",\"zpa_app_seg_name\":\"ZPA_test_app_segment\"}}", "reason": "File Attachment Cautioned", "timezone": "GMT", "type": [ @@ -863,7 +863,7 @@ ], "id": "123456781", "kind": "event", - "original": "{\"version\":\"v8\",\"sourcetype\":\"zscalernss-web\",\"event\":{\"time\":\"Mon Oct 18 23:55:48 2023\",\"cloudname\":\"zscaler.net\",\"host\":\"mail.google.com\",\"serverip\":\"1.128.0.2\",\"external_devid\":\"2346\",\"devicemodel\":\"20L8S7WC10\",\"action\":\"Allowed\",\"recordid\":123456781,\"reason\":\"File Attachment Cautioned\",\"threatseverity\":\"Critical (90–100)\",\"tz\":\"GMT\",\"filesubtype\":\"exe\",\"upload_filesubtype\":\"rar\",\"sha256\":\"81ec78bc8298568bb5ea66d3c2972b670d0f7459b6cdbbcaacce90ab417ab15c\",\"bamd5\":\"196a3d797bfee07fe4596b69f4ce1141\",\"filename\":\"nssfeed.txt\",\"upload_filename\":\"nssfeed.exe\",\"filetype\":\"RAR Files\",\"devicename\":\"PC11NLPA%3A5F08D97BBF43257A8FB4BBF4061A38AE324EF734\",\"devicehostname\":\"THINKPADSMITH\",\"deviceostype\":\"iOS\",\"deviceosversion\":\"Version 10.14.2 (Build 18C54)\",\"devicetype\":\"Zscaler Client Connector\",\"reqsize\":1300,\"reqmethod\":\"invalid\",\"b64referer\":\"d3d3LmV4YW1wbGUuY29t\",\"respsize\":10500,\"respcode\":\"100\",\"reqversion\":\"1.1\",\"respversion\":\"1\",\"proto\":\"SSL\",\"company\":\"Zscaler\",\"dlpmd5\":\"154f149b1443fbfa8c121d13e5c019a1\",\"apprulelabel\":\"File_Sharing_1\",\"dlprulename\":\"DLP_Rule_1\",\"rulelabel\":\"URL_Filtering_1\",\"urlfilterrulelabel\":\"URL_Filtering_2\",\"cltip\":\"81.2.69.144\",\"cltintip\":\"89.160.20.128\",\"cltsourceport\":12345,\"threatname\":\"EICAR Test File\",\"cltsslcipher\":\"SSL3_CK_RSA_NULL_MD5\",\"clttlsversion\":\"SSL2\",\"b64url\":\"d3d3LmV4YW1wbGUuY29tLmNvbS9wYXJhbXM/SWQ9MSZ0cz0yMDA2LTAxLTAyVDE1OjA0OjA1WjA3OjAwJnVzZXI9NjU3OTImdmVyc2lvbj0xMC4wLjE5MDQxLjEyNjY=\",\"useragent\":\"Mozilla/5.0\",\"login\":\"jdoe@safemarch.com\",\"applayerprotocol\":\"FTP\",\"appclass\":\"Administration\",\"appname\":\"Adobe Connect\",\"appriskscore\":\"1\",\"bandwidthclassname\":\"Entertainment\",\"bandwidthrulename\":\"Office 365\",\"bwthrottle\":\"Yes\",\"bypassedtime\":\"Mon Oct 16 22:55:48 2023\",\"bypassedtraffic\":\"1\",\"cltsslsessreuse\":\"Unknown\",\"cltpubip\":\"175.16.199.0\",\"cltsslfailcount\":100,\"cltsslfailreason\":\"Bad Record Mac\",\"contenttype\":\"application/vnd_apple_keynote\",\"datacentercity\":\"Sa\",\"datacentercountry\":\"US\",\"datacenter\":\"CA Client Node DC\",\"day\":\"Mon\",\"day_of_month\":16,\"dept\":\"Sales\",\"deviceappversion\":\"1.128.0.1\",\"deviceowner\":\"jsmith\",\"df_hosthead\":\"df_hosthead\",\"df_hostname\":\"df_hostname\",\"dlpdicthitcount\":\"4\",\"dlpdict\":\"Credit Cards\",\"dlpeng\":\"HIPAA\",\"dlpidentifier\":6646484838839026000,\"eedone\":\"Yes\",\"epochtime\":1578128400,\"fileclass\":\"Active Web Contents\",\"flow_type\":\"Direct\",\"forward_gateway_ip\":\"10.1.1.1\",\"forward_gateway_name\":\"FWD_1\",\"forward_type\":\"Direct\",\"hour\":22,\"is_sslexpiredca\":\"Yes\",\"is_sslselfsigned\":\"Yes\",\"is_ssluntrustedca\":\"Pass\",\"keyprotectiontype\":\"HSM Protection\",\"location\":\"Headquarters\",\"malwarecategory\":\"Adware\",\"malwareclass\":\"Sandbox\",\"minute\":55,\"mobappcategory\":\"Communication\",\"mobappname\":\"Amazon\",\"mobdevtype\":\"Google Android\",\"module\":\"Administration\",\"month\":\"Oct\",\"month_of_year\":10,\"nssserviceip\":\"192.168.2.200\",\"oapprulelabel\":\"5300295980\",\"obwclassname\":\"10831489\",\"ocip\":6200694987,\"ocpubip\":624054738,\"odevicehostname\":\"2168890624\",\"odevicename\":\"2175092224\",\"odeviceowner\":\"10831489\",\"odlpdict\":\"10831489\",\"odlpeng\":\"4094304256\",\"odlprulename\":\"6857275752\",\"ofwd_gw_name\":\"8794487099\",\"ologin\":\"4094304256\",\"ordr_rulename\":\"3399565100\",\"ourlcat\":\"7956407282\",\"ourlfilterrulelabel\":\"4951704103\",\"ozpa_app_seg_name\":\"7648246731\",\"externalsslpolicyreason\":\"Blocked\",\"productversion\":\"5.0.902.95524_04\",\"rdr_rulename\":\"FWD_Rule_1\",\"refererhost\":\"www.example.com for http://www.example.com/index.html\",\"reqheadersize\":300,\"reqdatasize\":1000,\"respheadersize\":500,\"respdatasize\":10000,\"riskscore\":10,\"ruletype\":\"File Type Control\",\"second\":48,\"srvcertchainvalpass\":\"Unknown\",\"srvcertvalidationtype\":\"EV (Extended Validation)\",\"srvcertvalidityperiod\":\"Short\",\"srvsslcipher\":\"SSL3_CK_RSA_NULL_MD5\",\"serversslsessreuse\":\"Unknown\",\"srvocspresult\":\"Good\",\"srvtlsversion\":\"SSL2\",\"srvwildcardcert\":\"Unknown\",\"ssldecrypted\":\"Yes\",\"throttlereqsize\":5,\"throttlerespsize\":7,\"totalsize\":11800,\"trafficredirectmethod\":\"DNAT (Destination Translation)\",\"unscannabletype\":\"Encrypted File\",\"upload_doctypename\":\"Corporate Finance\",\"upload_fileclass\":\"upload_fileclass\",\"upload_filetype\":\"RAR Files\",\"urlcatmethod\":\"Database A\",\"urlsubcat\":\"Entertainment\",\"urlsupercat\":\"Travel\",\"urlclass\":\"Bandwidth Loss\",\"useragentclass\":\"Firefox\",\"useragenttoken\":\"Google Chrome (0.x)\",\"userlocationname\":\"userlocationname\",\"year\":2023,\"ztunnelversion\":\"ZTUNNEL_1_0\",\"zpa_app_seg_name\":\"ZPA_test_app_segment\"}}", + "original": "{\"version\":\"v9\",\"sourcetype\":\"zscalernss-web\",\"event\":{\"time\":\"Mon Oct 18 23:55:48 2023\",\"cloudname\":\"zscaler.net\",\"host\":\"mail.google.com\",\"serverip\":\"1.128.0.2\",\"external_devid\":\"2346\",\"devicemodel\":\"20L8S7WC10\",\"action\":\"Allowed\",\"recordid\":123456781,\"reason\":\"File Attachment Cautioned\",\"threatseverity\":\"Critical (90–100)\",\"tz\":\"GMT\",\"filesubtype\":\"exe\",\"upload_filesubtype\":\"rar\",\"sha256\":\"81ec78bc8298568bb5ea66d3c2972b670d0f7459b6cdbbcaacce90ab417ab15c\",\"bamd5\":\"196a3d797bfee07fe4596b69f4ce1141\",\"filename\":\"nssfeed.txt\",\"upload_filename\":\"nssfeed.exe\",\"filetype\":\"RAR Files\",\"devicename\":\"PC11NLPA%3A5F08D97BBF43257A8FB4BBF4061A38AE324EF734\",\"devicehostname\":\"THINKPADSMITH\",\"deviceostype\":\"iOS\",\"deviceosversion\":\"Version 10.14.2 (Build 18C54)\",\"devicetype\":\"Zscaler Client Connector\",\"reqsize\":1300,\"reqmethod\":\"invalid\",\"b64referer\":\"d3d3LmV4YW1wbGUuY29t\",\"respsize\":10500,\"respcode\":\"100\",\"reqversion\":\"1.1\",\"respversion\":\"1\",\"proto\":\"SSL\",\"company\":\"Zscaler\",\"dlpmd5\":\"154f149b1443fbfa8c121d13e5c019a1\",\"apprulelabel\":\"File_Sharing_1\",\"dlprulename\":\"DLP_Rule_1\",\"rulelabel\":\"URL_Filtering_1\",\"urlfilterrulelabel\":\"URL_Filtering_2\",\"cltip\":\"81.2.69.144\",\"cltintip\":\"89.160.20.128\",\"cltsourceport\":12345,\"threatname\":\"EICAR Test File\",\"cltsslcipher\":\"SSL3_CK_RSA_NULL_MD5\",\"clttlsversion\":\"SSL2\",\"b64url\":\"d3d3LmV4YW1wbGUuY29tLmNvbS9wYXJhbXM/SWQ9MSZ0cz0yMDA2LTAxLTAyVDE1OjA0OjA1WjA3OjAwJnVzZXI9NjU3OTImdmVyc2lvbj0xMC4wLjE5MDQxLjEyNjY=\",\"useragent\":\"Mozilla/5.0\",\"login\":\"jdoe@safemarch.com\",\"applayerprotocol\":\"FTP\",\"appclass\":\"Administration\",\"appname\":\"Adobe Connect\",\"appriskscore\":\"1\",\"bandwidthclassname\":\"Entertainment\",\"bandwidthrulename\":\"Office 365\",\"bwthrottle\":\"Yes\",\"bypassedtime\":\"Mon Oct 16 22:55:48 2023\",\"bypassedtraffic\":\"1\",\"cltsslsessreuse\":\"Unknown\",\"cltpubip\":\"175.16.199.0\",\"cltsslfailcount\":100,\"cltsslfailreason\":\"Bad Record Mac\",\"contenttype\":\"application/vnd_apple_keynote\",\"datacentercity\":\"Sa\",\"datacentercountry\":\"US\",\"datacenter\":\"CA Client Node DC\",\"day\":\"Mon\",\"day_of_month\":16,\"dept\":\"Sales\",\"deviceappversion\":\"1.128.0.1\",\"deviceowner\":\"jsmith\",\"df_hosthead\":\"df_hosthead\",\"df_hostname\":\"df_hostname\",\"dlpdicthitcount\":\"4\",\"dlpdict\":\"Credit Cards\",\"dlpeng\":\"HIPAA\",\"dlpidentifier\":6646484838839026000,\"eedone\":\"Yes\",\"epochtime\":1578128400,\"fileclass\":\"Active Web Contents\",\"flow_type\":\"Direct\",\"forward_gateway_ip\":\"10.1.1.1\",\"forward_gateway_name\":\"FWD_1\",\"forward_type\":\"Direct\",\"hour\":22,\"is_sslexpiredca\":\"Yes\",\"is_sslselfsigned\":\"Yes\",\"is_ssluntrustedca\":\"Pass\",\"keyprotectiontype\":\"HSM Protection\",\"location\":\"Headquarters\",\"malwarecategory\":\"Adware\",\"malwareclass\":\"Sandbox\",\"minute\":55,\"mobappcategory\":\"Communication\",\"mobappname\":\"Amazon\",\"mobdevtype\":\"Google Android\",\"module\":\"Administration\",\"month\":\"Oct\",\"month_of_year\":10,\"nssserviceip\":\"192.168.2.200\",\"oapprulelabel\":\"5300295980\",\"obwclassname\":\"10831489\",\"ocip\":6200694987,\"ocpubip\":624054738,\"odevicehostname\":\"2168890624\",\"odevicename\":\"2175092224\",\"odeviceowner\":\"10831489\",\"odlpdict\":\"10831489\",\"odlpeng\":\"4094304256\",\"odlprulename\":\"6857275752\",\"ofwd_gw_name\":\"8794487099\",\"ologin\":\"4094304256\",\"ordr_rulename\":\"3399565100\",\"ourlcat\":\"7956407282\",\"ourlfilterrulelabel\":\"4951704103\",\"ozpa_app_seg_name\":\"7648246731\",\"externalsslpolicyreason\":\"Blocked\",\"productversion\":\"5.0.902.95524_04\",\"rdr_rulename\":\"FWD_Rule_1\",\"refererhost\":\"www.example.com for http://www.example.com/index.html\",\"reqheadersize\":300,\"reqdatasize\":1000,\"respheadersize\":500,\"respdatasize\":10000,\"riskscore\":10,\"ruletype\":\"File Type Control\",\"second\":48,\"srvcertchainvalpass\":\"Unknown\",\"srvcertvalidationtype\":\"EV (Extended Validation)\",\"srvcertvalidityperiod\":\"Short\",\"srvsslcipher\":\"SSL3_CK_RSA_NULL_MD5\",\"serversslsessreuse\":\"Unknown\",\"srvocspresult\":\"Good\",\"srvtlsversion\":\"SSL2\",\"srvwildcardcert\":\"Unknown\",\"ssldecrypted\":\"Yes\",\"throttlereqsize\":5,\"throttlerespsize\":7,\"totalsize\":11800,\"trafficredirectmethod\":\"DNAT (Destination Translation)\",\"unscannabletype\":\"Encrypted File\",\"upload_doctypename\":\"Corporate Finance\",\"upload_fileclass\":\"upload_fileclass\",\"upload_filetype\":\"RAR Files\",\"urlcatmethod\":\"Database A\",\"urlsubcat\":\"Entertainment\",\"urlsupercat\":\"Travel\",\"urlclass\":\"Bandwidth Loss\",\"useragentclass\":\"Firefox\",\"useragenttoken\":\"Google Chrome (0.x)\",\"userlocationname\":\"userlocationname\",\"year\":2023,\"ztunnelversion\":\"ZTUNNEL_1_0\",\"zpa_app_seg_name\":\"ZPA_test_app_segment\"}}", "reason": "File Attachment Cautioned", "timezone": "GMT", "type": [ @@ -1282,7 +1282,7 @@ ], "id": "123456781", "kind": "event", - "original": "{\"version\":\"v8\",\"sourcetype\":\"zscalernss-web\",\"event\":{\"time\":\"Mon Oct 18 23:55:48 2023\",\"cloudname\":\"zscaler.net\",\"host\":\"mail.google.com\",\"serverip\":\"1.128.0.2\",\"external_devid\":\"2346\",\"devicemodel\":\"20L8S7WC10\",\"action\":\"Allowed\",\"recordid\":123456781,\"reason\":\"File Attachment Cautioned\",\"threatseverity\":\"Critical (90–100)\",\"tz\":\"GMT\",\"filesubtype\":\"exe\",\"upload_filesubtype\":\"rar\",\"sha256\":\"81ec78bc8298568bb5ea66d3c2972b670d0f7459b6cdbbcaacce90ab417ab15c\",\"bamd5\":\"196a3d797bfee07fe4596b69f4ce1141\",\"filename\":\"nssfeed.txt\",\"upload_filename\":\"nssfeed.exe\",\"filetype\":\"RAR Files\",\"devicename\":\"PC11NLPA%3A5F08D97BBF43257A8FB4BBF4061A38AE324EF734\",\"devicehostname\":\"THINKPADSMITH\",\"deviceostype\":\"iOS\",\"deviceosversion\":\"Version 10.14.2 (Build 18C54)\",\"devicetype\":\"Zscaler Client Connector\",\"reqsize\":1300,\"reqmethod\":\"invalid\",\"b64referer\":\"d3d3LmV4YW1wbGUuY29t\",\"respsize\":10500,\"respcode\":\"100\",\"reqversion\":\"1.1\",\"respversion\":\"1\",\"proto\":\"SSL\",\"company\":\"Zscaler\",\"dlpmd5\":\"154f149b1443fbfa8c121d13e5c019a1\",\"apprulelabel\":\"File_Sharing_1\",\"dlprulename\":\"DLP_Rule_1\",\"rulelabel\":\"URL_Filtering_1\",\"urlfilterrulelabel\":\"URL_Filtering_2\",\"cltip\":\"81.2.69.144\",\"cltintip\":\"89.160.20.128\",\"cltsourceport\":12345,\"threatname\":\"EICAR Test File\",\"cltsslcipher\":\"SSL3_CK_RSA_NULL_MD5\",\"clttlsversion\":\"SSL2\",\"b64url\":\"d3d3LnlvdXR1YmUuY29tL2FwaS9zdGF0cy9hYmNkP2FmbXQ9MjUxJmJhdD0zMzAuMDE3OjAuOTY6MSZiaD0zMzAuMDE3OjEyMS4yNjQmYndlPTMzMC4wMTc6NzQ1ODYwMSZid209MzMwLjAxNzoyNDA3NzU0OjAuODQ0JmM9V0VCJmNicj1FZGdlIENocm9taXVtJmNicnZlcj0xMTUuMC4wLjAmY2w9NjU1Mzk5OTU2JmNtdD0zMzAuMDE3OjMyOC44MzcmY29zPVdpbmRvd3MmY29zdmVyPTEwLjAmY3BsYXRmb3JtPURFU0tUT1AmY3BsYXllcj1VTklQTEFZRVImY3BuPUZVQjczU1FXeFNIS0FEeHZKJmN2ZXI9Mi4yMDI0MDcyNC4wMy4wMCZkb2NpZD1XVmhHX3NOVkxhc0QmZWw9ZGV0YWlscGFnZSZmZXhwPXYxLDIzODQ4MjI1LDEzNzgwMiwxODYxNywyMDQxMjEsMjMwNTk2LDIyMjA5NywxNjIyOSwxMzMyMTIsMTQ2MjU5NTUsMTE2ODQzODEsNzIyMiwxNDIwNyw5ODU5LDEyMTc3LDk5NTQsMTE5Miw3OTEzLDE4MzEwLDI3Myw0MTQ3LDI4MTksMiwxNjM0NCwxNDI0LDE5MjA0LDk5NDgsMjE5Niw5OTk2LDE5LDIsMTA4Miw2OTUzLDEwMSwxNDAxLDk1NDIsMjQ3MSwzMjkyLDI3MTYsMTUzOCw3MjMsMjU3NSw5NTY3LDEzNzUsMzc2MSw0MTYyLDg2MTAsMTczLDIwMSwxMDQwNiwzMjEsMTQ4LDIsMzQzLDE3ODMsMTQsMTMyMiw1MCw2MjEsNzAyLDEwNjIsMTc2OSwxODIzLDg5NiwyMjkxLDI5MTIsNzU2OCwzNDImZm10PTM5OCZucz15dCZyZWZlcnJlcj1odHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PWlzYTkwXzY3YXMmc2RldGFpbD1ydjppc2E4OV82OGFkJnNlcT0xMyZzb3VyY2VpZD15dyZ2cHM9MzMwLjAxNzpQTA==\",\"useragent\":\"Mozilla/5.0\",\"login\":\"jdoe@safemarch.com\",\"applayerprotocol\":\"FTP\",\"appclass\":\"Administration\",\"appname\":\"Adobe Connect\",\"appriskscore\":\"1\",\"bandwidthclassname\":\"Entertainment\",\"bandwidthrulename\":\"Office 365\",\"bwthrottle\":\"Yes\",\"bypassedtime\":\"Mon Oct 16 22:55:48 2023\",\"bypassedtraffic\":\"1\",\"cltsslsessreuse\":\"Unknown\",\"cltpubip\":\"175.16.199.0\",\"cltsslfailcount\":100,\"cltsslfailreason\":\"Bad Record Mac\",\"contenttype\":\"application/vnd_apple_keynote\",\"datacentercity\":\"Sa\",\"datacentercountry\":\"US\",\"datacenter\":\"CA Client Node DC\",\"day\":\"Mon\",\"day_of_month\":16,\"dept\":\"Sales\",\"deviceappversion\":\"1.128.0.1\",\"deviceowner\":\"jsmith\",\"df_hosthead\":\"df_hosthead\",\"df_hostname\":\"df_hostname\",\"dlpdicthitcount\":\"4\",\"dlpdict\":\"Credit Cards\",\"dlpeng\":\"HIPAA\",\"dlpidentifier\":6646484838839026000,\"eedone\":\"Yes\",\"epochtime\":1578128400,\"fileclass\":\"Active Web Contents\",\"flow_type\":\"Direct\",\"forward_gateway_ip\":\"10.1.1.1\",\"forward_gateway_name\":\"FWD_1\",\"forward_type\":\"Direct\",\"hour\":22,\"is_sslexpiredca\":\"Yes\",\"is_sslselfsigned\":\"Yes\",\"is_ssluntrustedca\":\"Pass\",\"keyprotectiontype\":\"HSM Protection\",\"location\":\"Headquarters\",\"malwarecategory\":\"Adware\",\"malwareclass\":\"Sandbox\",\"minute\":55,\"mobappcategory\":\"Communication\",\"mobappname\":\"Amazon\",\"mobdevtype\":\"Google Android\",\"module\":\"Administration\",\"month\":\"Oct\",\"month_of_year\":10,\"nssserviceip\":\"192.168.2.200\",\"oapprulelabel\":\"5300295980\",\"obwclassname\":\"10831489\",\"ocip\":6200694987,\"ocpubip\":624054738,\"odevicehostname\":\"2168890624\",\"odevicename\":\"2175092224\",\"odeviceowner\":\"10831489\",\"odlpdict\":\"10831489\",\"odlpeng\":\"4094304256\",\"odlprulename\":\"6857275752\",\"ofwd_gw_name\":\"8794487099\",\"ologin\":\"4094304256\",\"ordr_rulename\":\"3399565100\",\"ourlcat\":\"7956407282\",\"ourlfilterrulelabel\":\"4951704103\",\"ozpa_app_seg_name\":\"7648246731\",\"externalsslpolicyreason\":\"Blocked\",\"productversion\":\"5.0.902.95524_04\",\"rdr_rulename\":\"FWD_Rule_1\",\"refererhost\":\"www.example.com for http://www.example.com/index.html\",\"reqheadersize\":300,\"reqdatasize\":1000,\"respheadersize\":500,\"respdatasize\":10000,\"riskscore\":10,\"ruletype\":\"File Type Control\",\"second\":48,\"srvcertchainvalpass\":\"Unknown\",\"srvcertvalidationtype\":\"EV (Extended Validation)\",\"srvcertvalidityperiod\":\"Short\",\"srvsslcipher\":\"SSL3_CK_RSA_NULL_MD5\",\"serversslsessreuse\":\"Unknown\",\"srvocspresult\":\"Good\",\"srvtlsversion\":\"SSL2\",\"srvwildcardcert\":\"Unknown\",\"ssldecrypted\":\"Yes\",\"throttlereqsize\":5,\"throttlerespsize\":7,\"totalsize\":11800,\"trafficredirectmethod\":\"DNAT (Destination Translation)\",\"unscannabletype\":\"Encrypted File\",\"upload_doctypename\":\"Corporate Finance\",\"upload_fileclass\":\"upload_fileclass\",\"upload_filetype\":\"RAR Files\",\"urlcatmethod\":\"Database A\",\"urlsubcat\":\"Entertainment\",\"urlsupercat\":\"Travel\",\"urlclass\":\"Bandwidth Loss\",\"useragentclass\":\"Firefox\",\"useragenttoken\":\"Google Chrome (0.x)\",\"userlocationname\":\"userlocationname\",\"year\":2023,\"ztunnelversion\":\"ZTUNNEL_1_0\",\"zpa_app_seg_name\":\"ZPA_test_app_segment\"}}", + "original": "{\"version\":\"v9\",\"sourcetype\":\"zscalernss-web\",\"event\":{\"time\":\"Mon Oct 18 23:55:48 2023\",\"cloudname\":\"zscaler.net\",\"host\":\"mail.google.com\",\"serverip\":\"1.128.0.2\",\"external_devid\":\"2346\",\"devicemodel\":\"20L8S7WC10\",\"action\":\"Allowed\",\"recordid\":123456781,\"reason\":\"File Attachment Cautioned\",\"threatseverity\":\"Critical (90–100)\",\"tz\":\"GMT\",\"filesubtype\":\"exe\",\"upload_filesubtype\":\"rar\",\"sha256\":\"81ec78bc8298568bb5ea66d3c2972b670d0f7459b6cdbbcaacce90ab417ab15c\",\"bamd5\":\"196a3d797bfee07fe4596b69f4ce1141\",\"filename\":\"nssfeed.txt\",\"upload_filename\":\"nssfeed.exe\",\"filetype\":\"RAR Files\",\"devicename\":\"PC11NLPA%3A5F08D97BBF43257A8FB4BBF4061A38AE324EF734\",\"devicehostname\":\"THINKPADSMITH\",\"deviceostype\":\"iOS\",\"deviceosversion\":\"Version 10.14.2 (Build 18C54)\",\"devicetype\":\"Zscaler Client Connector\",\"reqsize\":1300,\"reqmethod\":\"invalid\",\"b64referer\":\"d3d3LmV4YW1wbGUuY29t\",\"respsize\":10500,\"respcode\":\"100\",\"reqversion\":\"1.1\",\"respversion\":\"1\",\"proto\":\"SSL\",\"company\":\"Zscaler\",\"dlpmd5\":\"154f149b1443fbfa8c121d13e5c019a1\",\"apprulelabel\":\"File_Sharing_1\",\"dlprulename\":\"DLP_Rule_1\",\"rulelabel\":\"URL_Filtering_1\",\"urlfilterrulelabel\":\"URL_Filtering_2\",\"cltip\":\"81.2.69.144\",\"cltintip\":\"89.160.20.128\",\"cltsourceport\":12345,\"threatname\":\"EICAR Test File\",\"cltsslcipher\":\"SSL3_CK_RSA_NULL_MD5\",\"clttlsversion\":\"SSL2\",\"b64url\":\"d3d3LnlvdXR1YmUuY29tL2FwaS9zdGF0cy9hYmNkP2FmbXQ9MjUxJmJhdD0zMzAuMDE3OjAuOTY6MSZiaD0zMzAuMDE3OjEyMS4yNjQmYndlPTMzMC4wMTc6NzQ1ODYwMSZid209MzMwLjAxNzoyNDA3NzU0OjAuODQ0JmM9V0VCJmNicj1FZGdlIENocm9taXVtJmNicnZlcj0xMTUuMC4wLjAmY2w9NjU1Mzk5OTU2JmNtdD0zMzAuMDE3OjMyOC44MzcmY29zPVdpbmRvd3MmY29zdmVyPTEwLjAmY3BsYXRmb3JtPURFU0tUT1AmY3BsYXllcj1VTklQTEFZRVImY3BuPUZVQjczU1FXeFNIS0FEeHZKJmN2ZXI9Mi4yMDI0MDcyNC4wMy4wMCZkb2NpZD1XVmhHX3NOVkxhc0QmZWw9ZGV0YWlscGFnZSZmZXhwPXYxLDIzODQ4MjI1LDEzNzgwMiwxODYxNywyMDQxMjEsMjMwNTk2LDIyMjA5NywxNjIyOSwxMzMyMTIsMTQ2MjU5NTUsMTE2ODQzODEsNzIyMiwxNDIwNyw5ODU5LDEyMTc3LDk5NTQsMTE5Miw3OTEzLDE4MzEwLDI3Myw0MTQ3LDI4MTksMiwxNjM0NCwxNDI0LDE5MjA0LDk5NDgsMjE5Niw5OTk2LDE5LDIsMTA4Miw2OTUzLDEwMSwxNDAxLDk1NDIsMjQ3MSwzMjkyLDI3MTYsMTUzOCw3MjMsMjU3NSw5NTY3LDEzNzUsMzc2MSw0MTYyLDg2MTAsMTczLDIwMSwxMDQwNiwzMjEsMTQ4LDIsMzQzLDE3ODMsMTQsMTMyMiw1MCw2MjEsNzAyLDEwNjIsMTc2OSwxODIzLDg5NiwyMjkxLDI5MTIsNzU2OCwzNDImZm10PTM5OCZucz15dCZyZWZlcnJlcj1odHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PWlzYTkwXzY3YXMmc2RldGFpbD1ydjppc2E4OV82OGFkJnNlcT0xMyZzb3VyY2VpZD15dyZ2cHM9MzMwLjAxNzpQTA==\",\"useragent\":\"Mozilla/5.0\",\"login\":\"jdoe@safemarch.com\",\"applayerprotocol\":\"FTP\",\"appclass\":\"Administration\",\"appname\":\"Adobe Connect\",\"appriskscore\":\"1\",\"bandwidthclassname\":\"Entertainment\",\"bandwidthrulename\":\"Office 365\",\"bwthrottle\":\"Yes\",\"bypassedtime\":\"Mon Oct 16 22:55:48 2023\",\"bypassedtraffic\":\"1\",\"cltsslsessreuse\":\"Unknown\",\"cltpubip\":\"175.16.199.0\",\"cltsslfailcount\":100,\"cltsslfailreason\":\"Bad Record Mac\",\"contenttype\":\"application/vnd_apple_keynote\",\"datacentercity\":\"Sa\",\"datacentercountry\":\"US\",\"datacenter\":\"CA Client Node DC\",\"day\":\"Mon\",\"day_of_month\":16,\"dept\":\"Sales\",\"deviceappversion\":\"1.128.0.1\",\"deviceowner\":\"jsmith\",\"df_hosthead\":\"df_hosthead\",\"df_hostname\":\"df_hostname\",\"dlpdicthitcount\":\"4\",\"dlpdict\":\"Credit Cards\",\"dlpeng\":\"HIPAA\",\"dlpidentifier\":6646484838839026000,\"eedone\":\"Yes\",\"epochtime\":1578128400,\"fileclass\":\"Active Web Contents\",\"flow_type\":\"Direct\",\"forward_gateway_ip\":\"10.1.1.1\",\"forward_gateway_name\":\"FWD_1\",\"forward_type\":\"Direct\",\"hour\":22,\"is_sslexpiredca\":\"Yes\",\"is_sslselfsigned\":\"Yes\",\"is_ssluntrustedca\":\"Pass\",\"keyprotectiontype\":\"HSM Protection\",\"location\":\"Headquarters\",\"malwarecategory\":\"Adware\",\"malwareclass\":\"Sandbox\",\"minute\":55,\"mobappcategory\":\"Communication\",\"mobappname\":\"Amazon\",\"mobdevtype\":\"Google Android\",\"module\":\"Administration\",\"month\":\"Oct\",\"month_of_year\":10,\"nssserviceip\":\"192.168.2.200\",\"oapprulelabel\":\"5300295980\",\"obwclassname\":\"10831489\",\"ocip\":6200694987,\"ocpubip\":624054738,\"odevicehostname\":\"2168890624\",\"odevicename\":\"2175092224\",\"odeviceowner\":\"10831489\",\"odlpdict\":\"10831489\",\"odlpeng\":\"4094304256\",\"odlprulename\":\"6857275752\",\"ofwd_gw_name\":\"8794487099\",\"ologin\":\"4094304256\",\"ordr_rulename\":\"3399565100\",\"ourlcat\":\"7956407282\",\"ourlfilterrulelabel\":\"4951704103\",\"ozpa_app_seg_name\":\"7648246731\",\"externalsslpolicyreason\":\"Blocked\",\"productversion\":\"5.0.902.95524_04\",\"rdr_rulename\":\"FWD_Rule_1\",\"refererhost\":\"www.example.com for http://www.example.com/index.html\",\"reqheadersize\":300,\"reqdatasize\":1000,\"respheadersize\":500,\"respdatasize\":10000,\"riskscore\":10,\"ruletype\":\"File Type Control\",\"second\":48,\"srvcertchainvalpass\":\"Unknown\",\"srvcertvalidationtype\":\"EV (Extended Validation)\",\"srvcertvalidityperiod\":\"Short\",\"srvsslcipher\":\"SSL3_CK_RSA_NULL_MD5\",\"serversslsessreuse\":\"Unknown\",\"srvocspresult\":\"Good\",\"srvtlsversion\":\"SSL2\",\"srvwildcardcert\":\"Unknown\",\"ssldecrypted\":\"Yes\",\"throttlereqsize\":5,\"throttlerespsize\":7,\"totalsize\":11800,\"trafficredirectmethod\":\"DNAT (Destination Translation)\",\"unscannabletype\":\"Encrypted File\",\"upload_doctypename\":\"Corporate Finance\",\"upload_fileclass\":\"upload_fileclass\",\"upload_filetype\":\"RAR Files\",\"urlcatmethod\":\"Database A\",\"urlsubcat\":\"Entertainment\",\"urlsupercat\":\"Travel\",\"urlclass\":\"Bandwidth Loss\",\"useragentclass\":\"Firefox\",\"useragenttoken\":\"Google Chrome (0.x)\",\"userlocationname\":\"userlocationname\",\"year\":2023,\"ztunnelversion\":\"ZTUNNEL_1_0\",\"zpa_app_seg_name\":\"ZPA_test_app_segment\"}}", "reason": "File Attachment Cautioned", "timezone": "GMT", "type": [ @@ -1701,7 +1701,7 @@ ], "id": "123456782", "kind": "event", - "original": "{\"version\":\"v8\",\"sourcetype\":\"zscalernss-web\",\"event\":{\"time\":\"Mon Oct 20 22:55:48 2023\",\"cloudname\":\"zscaler.net\",\"host\":\"mail.google.com\",\"serverip\":\"1.128.0.4\",\"external_devid\":\"2347\",\"devicemodel\":\"20L8S7WC12\",\"action\":\"Allowed\",\"recordid\":123456782,\"reason\":\"File Attachment Cautioned\",\"threatseverity\":\"Critical (90–100)\",\"tz\":\"GMT\",\"filesubtype\":\"exe\",\"upload_filesubtype\":\"rar\",\"sha256\":\"81ec78bc8298568bb5ea66d3c2972b670d0f7459b6cdbbcaacce90ab417ab15c\",\"bamd5\":\"196a3d797bfee07fe4596b69f4ce1141\",\"filename\":\"nssfeed.txt\",\"upload_filename\":\"nssfeed.exe\",\"filetype\":\"RAR Files\",\"devicename\":\"device%5CrN%40me\",\"devicehostname\":\"THINKPADSMITH\",\"deviceostype\":\"iOS\",\"deviceosversion\":\"Version 10.14.2 (Build 18C54)\",\"devicetype\":\"Zscaler Client Connector\",\"reqsize\":1300,\"reqmethod\":\"invalid\",\"b64referer\":\"d3d3LmV4YW1wbGUuY29tL3NlYXJjaD9maWx0ZXJzPWd1aWQlM0ElMjI0MC1lbi1kaWElMjIrbGFuZyUzQSUyMmVuJTIyJmZvcm09UzAwJnE9aG93K3RvK3VzZStyZW1vdGUrZGVza3RvcCt0bytjb25uZWN0K3RvK2Erd2luZG93cysxMCtwYw==\",\"respsize\":10500,\"respcode\":\"100\",\"reqversion\":\"1.1\",\"respversion\":\"1\",\"proto\":\"HTTPS\",\"company\":\"Zscaler\",\"dlpmd5\":\"154f149b1443fbfa8c121d13e5c019a1\",\"apprulelabel\":\"File_Sharing_1\",\"dlprulename\":\"DLP_Rule_1\",\"rulelabel\":\"URL_Filtering_1\",\"urlfilterrulelabel\":\"URL_Filtering_2\",\"cltip\":\"81.2.69.144\",\"cltintip\":\"89.160.20.128\",\"cltsourceport\":12345,\"threatname\":\"EICAR Test File\",\"cltsslcipher\":\"SSL3_CK_RSA_NULL_MD5\",\"clttlsversion\":\"SSL2\",\"b64url\":\"d3d3LmV4YW1wbGUuY29tOjQ0Mw==\",\"useragent\":\"Mozilla/5.0\",\"login\":\"jdoe@safemarch.com\",\"applayerprotocol\":\"FTP\",\"appclass\":\"Administration\",\"appname\":\"Adobe Connect\",\"appriskscore\":\"1\",\"bandwidthclassname\":\"Entertainment\",\"bandwidthrulename\":\"Office 365\",\"bwthrottle\":\"Yes\",\"bypassedtime\":\"Mon Oct 16 22:55:48 2023\",\"bypassedtraffic\":\"1\",\"cltsslsessreuse\":\"Unknown\",\"cltpubip\":\"175.16.199.0\",\"cltsslfailcount\":100,\"cltsslfailreason\":\"Bad Record Mac\",\"contenttype\":\"application/vnd_apple_keynote\",\"datacentercity\":\"Sa\",\"datacentercountry\":\"US\",\"datacenter\":\"CA Client Node DC\",\"day\":\"Mon\",\"day_of_month\":16,\"dept\":\"Sales\",\"deviceappversion\":\"1.128.0.1\",\"deviceowner\":\"jsmith\",\"df_hosthead\":\"df_hosthead\",\"df_hostname\":\"df_hostname\",\"dlpdicthitcount\":\"4\",\"dlpdict\":\"Credit Cards\",\"dlpeng\":\"HIPAA\",\"dlpidentifier\":6646484838839026000,\"eedone\":\"Yes\",\"epochtime\":1578128400,\"fileclass\":\"Active Web Contents\",\"flow_type\":\"Direct\",\"forward_gateway_ip\":\"10.1.1.1\",\"forward_gateway_name\":\"FWD_1\",\"forward_type\":\"Direct\",\"hour\":22,\"is_sslexpiredca\":\"Yes\",\"is_sslselfsigned\":\"Yes\",\"is_ssluntrustedca\":\"Pass\",\"keyprotectiontype\":\"HSM Protection\",\"location\":\"Headquarters\",\"department\":\"Department%5CrN%40me\",\"malwarecategory\":\"Adware\",\"malwareclass\":\"Sandbox\",\"minute\":55,\"mobappcategory\":\"Communication\",\"mobappname\":\"Amazon\",\"mobdevtype\":\"Google Android\",\"module\":\"Administration\",\"month\":\"Oct\",\"month_of_year\":10,\"nssserviceip\":\"192.168.2.200\",\"oapprulelabel\":\"5300295980\",\"obwclassname\":\"10831489\",\"ocip\":6200694987,\"ocpubip\":624054738,\"odevicehostname\":\"2168890624\",\"odevicename\":\"2175092224\",\"odeviceowner\":\"10831489\",\"odlpdict\":\"10831489\",\"odlpeng\":\"4094304256\",\"odlprulename\":\"6857275752\",\"ofwd_gw_name\":\"8794487099\",\"ologin\":\"4094304256\",\"ordr_rulename\":\"3399565100\",\"ourlcat\":\"7956407282\",\"ourlfilterrulelabel\":\"4951704103\",\"ozpa_app_seg_name\":\"7648246731\",\"externalsslpolicyreason\":\"Blocked\",\"productversion\":\"5.0.902.95524_04\",\"rdr_rulename\":\"FWD_Rule_1\",\"refererhost\":\"www.example.com for http://www.example.com/index.html\",\"reqheadersize\":300,\"reqdatasize\":1000,\"respheadersize\":500,\"respdatasize\":10000,\"riskscore\":10,\"ruletype\":\"File Type Control\",\"second\":48,\"srvcertchainvalpass\":\"Unknown\",\"srvcertvalidationtype\":\"EV (Extended Validation)\",\"srvcertvalidityperiod\":\"Short\",\"srvsslcipher\":\"SSL3_CK_RSA_NULL_MD5\",\"serversslsessreuse\":\"Unknown\",\"srvocspresult\":\"Good\",\"srvtlsversion\":\"SSL2\",\"srvwildcardcert\":\"Unknown\",\"ssldecrypted\":\"Yes\",\"throttlereqsize\":5,\"throttlerespsize\":7,\"totalsize\":11800,\"trafficredirectmethod\":\"DNAT (Destination Translation)\",\"unscannabletype\":\"Encrypted File\",\"upload_doctypename\":\"Corporate Finance\",\"upload_fileclass\":\"upload_fileclass\",\"upload_filetype\":\"RAR Files\",\"urlcatmethod\":\"Database A\",\"urlsubcat\":\"Entertainment\",\"urlsupercat\":\"Travel\",\"urlclass\":\"Bandwidth Loss\",\"useragentclass\":\"Firefox\",\"useragenttoken\":\"Google Chrome (0.x)\",\"userlocationname\":\"userlocationname\",\"year\":2023,\"ztunnelversion\":\"ZTUNNEL_1_0\",\"zpa_app_seg_name\":\"ZPA_test_app_segment\"}}", + "original": "{\"version\":\"v9\",\"sourcetype\":\"zscalernss-web\",\"event\":{\"time\":\"Mon Oct 20 22:55:48 2023\",\"cloudname\":\"zscaler.net\",\"host\":\"mail.google.com\",\"serverip\":\"1.128.0.4\",\"external_devid\":\"2347\",\"devicemodel\":\"20L8S7WC12\",\"action\":\"Allowed\",\"recordid\":123456782,\"reason\":\"File Attachment Cautioned\",\"threatseverity\":\"Critical (90–100)\",\"tz\":\"GMT\",\"filesubtype\":\"exe\",\"upload_filesubtype\":\"rar\",\"sha256\":\"81ec78bc8298568bb5ea66d3c2972b670d0f7459b6cdbbcaacce90ab417ab15c\",\"bamd5\":\"196a3d797bfee07fe4596b69f4ce1141\",\"filename\":\"nssfeed.txt\",\"upload_filename\":\"nssfeed.exe\",\"filetype\":\"RAR Files\",\"devicename\":\"device%5CrN%40me\",\"devicehostname\":\"THINKPADSMITH\",\"deviceostype\":\"iOS\",\"deviceosversion\":\"Version 10.14.2 (Build 18C54)\",\"devicetype\":\"Zscaler Client Connector\",\"reqsize\":1300,\"reqmethod\":\"invalid\",\"b64referer\":\"d3d3LmV4YW1wbGUuY29tL3NlYXJjaD9maWx0ZXJzPWd1aWQlM0ElMjI0MC1lbi1kaWElMjIrbGFuZyUzQSUyMmVuJTIyJmZvcm09UzAwJnE9aG93K3RvK3VzZStyZW1vdGUrZGVza3RvcCt0bytjb25uZWN0K3RvK2Erd2luZG93cysxMCtwYw==\",\"respsize\":10500,\"respcode\":\"100\",\"reqversion\":\"1.1\",\"respversion\":\"1\",\"proto\":\"HTTPS\",\"company\":\"Zscaler\",\"dlpmd5\":\"154f149b1443fbfa8c121d13e5c019a1\",\"apprulelabel\":\"File_Sharing_1\",\"dlprulename\":\"DLP_Rule_1\",\"rulelabel\":\"URL_Filtering_1\",\"urlfilterrulelabel\":\"URL_Filtering_2\",\"cltip\":\"81.2.69.144\",\"cltintip\":\"89.160.20.128\",\"cltsourceport\":12345,\"threatname\":\"EICAR Test File\",\"cltsslcipher\":\"SSL3_CK_RSA_NULL_MD5\",\"clttlsversion\":\"SSL2\",\"b64url\":\"d3d3LmV4YW1wbGUuY29tOjQ0Mw==\",\"useragent\":\"Mozilla/5.0\",\"login\":\"jdoe@safemarch.com\",\"applayerprotocol\":\"FTP\",\"appclass\":\"Administration\",\"appname\":\"Adobe Connect\",\"appriskscore\":\"1\",\"bandwidthclassname\":\"Entertainment\",\"bandwidthrulename\":\"Office 365\",\"bwthrottle\":\"Yes\",\"bypassedtime\":\"Mon Oct 16 22:55:48 2023\",\"bypassedtraffic\":\"1\",\"cltsslsessreuse\":\"Unknown\",\"cltpubip\":\"175.16.199.0\",\"cltsslfailcount\":100,\"cltsslfailreason\":\"Bad Record Mac\",\"contenttype\":\"application/vnd_apple_keynote\",\"datacentercity\":\"Sa\",\"datacentercountry\":\"US\",\"datacenter\":\"CA Client Node DC\",\"day\":\"Mon\",\"day_of_month\":16,\"dept\":\"Sales\",\"deviceappversion\":\"1.128.0.1\",\"deviceowner\":\"jsmith\",\"df_hosthead\":\"df_hosthead\",\"df_hostname\":\"df_hostname\",\"dlpdicthitcount\":\"4\",\"dlpdict\":\"Credit Cards\",\"dlpeng\":\"HIPAA\",\"dlpidentifier\":6646484838839026000,\"eedone\":\"Yes\",\"epochtime\":1578128400,\"fileclass\":\"Active Web Contents\",\"flow_type\":\"Direct\",\"forward_gateway_ip\":\"10.1.1.1\",\"forward_gateway_name\":\"FWD_1\",\"forward_type\":\"Direct\",\"hour\":22,\"is_sslexpiredca\":\"Yes\",\"is_sslselfsigned\":\"Yes\",\"is_ssluntrustedca\":\"Pass\",\"keyprotectiontype\":\"HSM Protection\",\"location\":\"Headquarters\",\"malwarecategory\":\"Adware\",\"malwareclass\":\"Sandbox\",\"minute\":55,\"mobappcategory\":\"Communication\",\"mobappname\":\"Amazon\",\"mobdevtype\":\"Google Android\",\"module\":\"Administration\",\"month\":\"Oct\",\"month_of_year\":10,\"nssserviceip\":\"192.168.2.200\",\"oapprulelabel\":\"5300295980\",\"obwclassname\":\"10831489\",\"ocip\":6200694987,\"ocpubip\":624054738,\"odevicehostname\":\"2168890624\",\"odevicename\":\"2175092224\",\"odeviceowner\":\"10831489\",\"odlpdict\":\"10831489\",\"odlpeng\":\"4094304256\",\"odlprulename\":\"6857275752\",\"ofwd_gw_name\":\"8794487099\",\"ologin\":\"4094304256\",\"ordr_rulename\":\"3399565100\",\"ourlcat\":\"7956407282\",\"ourlfilterrulelabel\":\"4951704103\",\"ozpa_app_seg_name\":\"7648246731\",\"externalsslpolicyreason\":\"Blocked\",\"productversion\":\"5.0.902.95524_04\",\"rdr_rulename\":\"FWD_Rule_1\",\"refererhost\":\"www.example.com for http://www.example.com/index.html\",\"reqheadersize\":300,\"reqdatasize\":1000,\"respheadersize\":500,\"respdatasize\":10000,\"riskscore\":10,\"ruletype\":\"File Type Control\",\"second\":48,\"srvcertchainvalpass\":\"Unknown\",\"srvcertvalidationtype\":\"EV (Extended Validation)\",\"srvcertvalidityperiod\":\"Short\",\"srvsslcipher\":\"SSL3_CK_RSA_NULL_MD5\",\"serversslsessreuse\":\"Unknown\",\"srvocspresult\":\"Good\",\"srvtlsversion\":\"SSL2\",\"srvwildcardcert\":\"Unknown\",\"ssldecrypted\":\"Yes\",\"throttlereqsize\":5,\"throttlerespsize\":7,\"totalsize\":11800,\"trafficredirectmethod\":\"DNAT (Destination Translation)\",\"unscannabletype\":\"Encrypted File\",\"upload_doctypename\":\"Corporate Finance\",\"upload_fileclass\":\"upload_fileclass\",\"upload_filetype\":\"RAR Files\",\"urlcatmethod\":\"Database A\",\"urlsubcat\":\"Entertainment\",\"urlsupercat\":\"Travel\",\"urlclass\":\"Bandwidth Loss\",\"useragentclass\":\"Firefox\",\"useragenttoken\":\"Google Chrome (0.x)\",\"userlocationname\":\"userlocationname\",\"year\":2023,\"ztunnelversion\":\"ZTUNNEL_1_0\",\"zpa_app_seg_name\":\"ZPA_test_app_segment\"}}", "reason": "File Attachment Cautioned", "timezone": "GMT", "type": [ @@ -1876,7 +1876,7 @@ }, "day": "Mon", "day_of_month": 16, - "department": "Department\\rN@me", + "department": "Sales", "device": { "appversion": "1.128.0.1", "hostname": "THINKPADSMITH", @@ -2093,6 +2093,846 @@ "zpa_app_segment": "ZPA_test_app_segment" } } + }, + { + "@timestamp": "2023-10-20T22:55:48.000Z", + "cloud": { + "provider": "zscaler.net" + }, + "destination": { + "domain": "mail.google.com", + "ip": "1.128.0.4" + }, + "device": { + "id": "2347", + "model": { + "identifier": "20L8S7WC12" + } + }, + "ecs": { + "version": "8.11.0" + }, + "event": { + "action": "allowed", + "category": [ + "web" + ], + "id": "123456782", + "kind": "event", + "original": "{\"version\":\"v9\",\"sourcetype\":\"zscalernss-web\",\"event\":{\"time\":\"Mon Oct 20 22:55:48 2023\",\"cloudname\":\"zscaler.net\",\"host\":\"mail.google.com\",\"serverip\":\"1.128.0.4\",\"external_devid\":\"2347\",\"devicemodel\":\"20L8S7WC12\",\"action\":\"Allowed\",\"recordid\":123456782,\"reason\":\"File Attachment Cautioned\",\"threatseverity\":\"Critical (90–100)\",\"tz\":\"GMT\",\"filesubtype\":\"exe\",\"upload_filesubtype\":\"rar\",\"sha256\":\"81ec78bc8298568bb5ea66d3c2972b670d0f7459b6cdbbcaacce90ab417ab15c\",\"bamd5\":\"196a3d797bfee07fe4596b69f4ce1141\",\"filename\":\"nssfeed.txt\",\"upload_filename\":\"nssfeed.exe\",\"filetype\":\"RAR Files\",\"devicename\":\"device%5CrN%40me\",\"devicehostname\":\"THINKPADSMITH\",\"deviceostype\":\"iOS\",\"deviceosversion\":\"Version 10.14.2 (Build 18C54)\",\"devicetype\":\"Zscaler Client Connector\",\"reqsize\":1300,\"reqmethod\":\"invalid\",\"b64referer\":\"d3d3LmV4YW1wbGUuY29tL3NlYXJjaD9maWx0ZXJzPWd1aWQlM0ElMjI0MC1lbi1kaWElMjIrbGFuZyUzQSUyMmVuJTIyJmZvcm09UzAwJnE9aG93K3RvK3VzZStyZW1vdGUrZGVza3RvcCt0bytjb25uZWN0K3RvK2Erd2luZG93cysxMCtwYw==\",\"respsize\":10500,\"respcode\":\"100\",\"reqversion\":\"1.1\",\"respversion\":\"1\",\"proto\":\"HTTPS\",\"company\":\"Zscaler\",\"dlpmd5\":\"154f149b1443fbfa8c121d13e5c019a1\",\"apprulelabel\":\"File_Sharing_1\",\"dlprulename\":\"DLP_Rule_1\",\"rulelabel\":\"URL_Filtering_1\",\"urlfilterrulelabel\":\"URL_Filtering_2\",\"cltip\":\"81.2.69.144\",\"cltintip\":\"89.160.20.128\",\"cltsourceport\":12345,\"threatname\":\"EICAR Test File\",\"cltsslcipher\":\"SSL3_CK_RSA_NULL_MD5\",\"clttlsversion\":\"SSL2\",\"b64url\":\"dC5jb3Vwb25zLmNvbS9iLnBocD90cmFuc2FjdGlvbklkPUkvdHNJZD09JmV2ZW50VHlwZT1FbGVtZW50SW5WaWV3JmVsZW1lbnROYW1lPVROX1NXQiZvYmplY3RzPXsibGlua1VybCI6Imh0dHBzOi8vd3d3LmNvdXBvbnMuY29tL2RhaWx5LXNhbGVzLzcyLWhvdXItY2xlYXJvdXQiLCJsaW5rVGV4dCI6IlVwJTIwdG8lMjA3MCUlMjBPRkYlMjB8JTIwNzItSG91ciUyMENsZWFyb3V0IiwidGV4dENvbG9yIjoiI0ZGRkZGRiIsInByb21vRW5kRGF0ZSI6bnVsbCwiY3VzdG9tRmllbGQxIjoiVXAlMjB0byUyMDcwJSUyME9GRiUyMHwlMjA3Mi1Ib3VyJTIwQ2xlYXJvdXQifSZsaW5rVXJsPWh0dHBzOi8vd3d3LmNvdXBvbnMuY29tL2RhaWx5LXNhbGVzLzcyLWhvdXItY2xlYXJvdXQmbGlua1RleHQ9VXAlMjB0byUyMDcwJSUyME9GRiUyMHwlMjA3Mi1Ib3VyJTIwQ2xlYXJvdXQmdGV4dENvbG9yPSNGRkZGRkYmcHJvbW9FbmREYXRlPSZjdXN0b21GaWVsZDE9VXAlMjB0byUyMDcwJSUyME9GRiUyMHwlMjA3Mi1Ib3VyJTIwQ2xlYXJvdXQmcGFnZUlkPSZ0aW1lc3RhbXA9MTcyNDY4Mjc3NzE5OA==\",\"useragent\":\"Mozilla/5.0\",\"login\":\"jdoe@safemarch.com\",\"applayerprotocol\":\"FTP\",\"appclass\":\"Administration\",\"appname\":\"Adobe Connect\",\"appriskscore\":\"1\",\"bandwidthclassname\":\"Entertainment\",\"bandwidthrulename\":\"Office 365\",\"bwthrottle\":\"Yes\",\"bypassedtime\":\"Mon Oct 16 22:55:48 2023\",\"bypassedtraffic\":\"1\",\"cltsslsessreuse\":\"Unknown\",\"cltpubip\":\"175.16.199.0\",\"cltsslfailcount\":100,\"cltsslfailreason\":\"Bad Record Mac\",\"contenttype\":\"application/vnd_apple_keynote\",\"datacentercity\":\"Sa\",\"datacentercountry\":\"US\",\"datacenter\":\"CA Client Node DC\",\"day\":\"Mon\",\"day_of_month\":16,\"dept\":\"Sales\",\"deviceappversion\":\"1.128.0.1\",\"deviceowner\":\"jsmith\",\"df_hosthead\":\"df_hosthead\",\"df_hostname\":\"df_hostname\",\"dlpdicthitcount\":\"4\",\"dlpdict\":\"Credit Cards\",\"dlpeng\":\"HIPAA\",\"dlpidentifier\":6646484838839026000,\"eedone\":\"Yes\",\"epochtime\":1578128400,\"fileclass\":\"Active Web Contents\",\"flow_type\":\"Direct\",\"forward_gateway_ip\":\"10.1.1.1\",\"forward_gateway_name\":\"FWD_1\",\"forward_type\":\"Direct\",\"hour\":22,\"is_sslexpiredca\":\"Yes\",\"is_sslselfsigned\":\"Yes\",\"is_ssluntrustedca\":\"Pass\",\"keyprotectiontype\":\"HSM Protection\",\"location\":\"Headquarters\",\"malwarecategory\":\"Adware\",\"malwareclass\":\"Sandbox\",\"minute\":55,\"mobappcategory\":\"Communication\",\"mobappname\":\"Amazon\",\"mobdevtype\":\"Google Android\",\"module\":\"Administration\",\"month\":\"Oct\",\"month_of_year\":10,\"nssserviceip\":\"192.168.2.200\",\"oapprulelabel\":\"5300295980\",\"obwclassname\":\"10831489\",\"ocip\":6200694987,\"ocpubip\":624054738,\"odevicehostname\":\"2168890624\",\"odevicename\":\"2175092224\",\"odeviceowner\":\"10831489\",\"odlpdict\":\"10831489\",\"odlpeng\":\"4094304256\",\"odlprulename\":\"6857275752\",\"ofwd_gw_name\":\"8794487099\",\"ologin\":\"4094304256\",\"ordr_rulename\":\"3399565100\",\"ourlcat\":\"7956407282\",\"ourlfilterrulelabel\":\"4951704103\",\"ozpa_app_seg_name\":\"7648246731\",\"externalsslpolicyreason\":\"Blocked\",\"productversion\":\"5.0.902.95524_04\",\"rdr_rulename\":\"FWD_Rule_1\",\"refererhost\":\"www.example.com for http://www.example.com/index.html\",\"reqheadersize\":300,\"reqdatasize\":1000,\"respheadersize\":500,\"respdatasize\":10000,\"riskscore\":10,\"ruletype\":\"File Type Control\",\"second\":48,\"srvcertchainvalpass\":\"Unknown\",\"srvcertvalidationtype\":\"EV (Extended Validation)\",\"srvcertvalidityperiod\":\"Short\",\"srvsslcipher\":\"SSL3_CK_RSA_NULL_MD5\",\"serversslsessreuse\":\"Unknown\",\"srvocspresult\":\"Good\",\"srvtlsversion\":\"SSL2\",\"srvwildcardcert\":\"Unknown\",\"ssldecrypted\":\"Yes\",\"throttlereqsize\":5,\"throttlerespsize\":7,\"totalsize\":11800,\"trafficredirectmethod\":\"DNAT (Destination Translation)\",\"unscannabletype\":\"Encrypted File\",\"upload_doctypename\":\"Corporate Finance\",\"upload_fileclass\":\"upload_fileclass\",\"upload_filetype\":\"RAR Files\",\"urlcatmethod\":\"Database A\",\"urlsubcat\":\"Entertainment\",\"urlsupercat\":\"Travel\",\"urlclass\":\"Bandwidth Loss\",\"useragentclass\":\"Firefox\",\"useragenttoken\":\"Google Chrome (0.x)\",\"userlocationname\":\"userlocationname\",\"year\":2023,\"ztunnelversion\":\"ZTUNNEL_1_0\",\"zpa_app_seg_name\":\"ZPA_test_app_segment\"}}", + "reason": "File Attachment Cautioned", + "timezone": "GMT", + "type": [ + "info" + ] + }, + "file": { + "extension": [ + "exe", + "rar" + ], + "hash": { + "md5": "196a3d797bfee07fe4596b69f4ce1141", + "sha256": "81ec78bc8298568bb5ea66d3c2972b670d0f7459b6cdbbcaacce90ab417ab15c" + }, + "name": [ + "nssfeed.txt", + "nssfeed.exe" + ], + "type": "file" + }, + "host": { + "hostname": "device\\rN@me", + "name": "thinkpadsmith", + "os": { + "type": "ios", + "version": "Version 10.14.2 (Build 18C54)" + }, + "type": "Zscaler Client Connector" + }, + "http": { + "request": { + "bytes": 1300, + "method": "invalid", + "referrer": "www.example.com/search?filters=guid%3A%2240-en-dia%22+lang%3A%22en%22&form=S00&q=how+to+use+remote+desktop+to+connect+to+a+windows+10+pc" + }, + "response": { + "bytes": 10500 + }, + "version": [ + "1.1", + "1" + ] + }, + "network": { + "protocol": "https" + }, + "organization": { + "name": "Zscaler" + }, + "related": { + "hash": [ + "154f149b1443fbfa8c121d13e5c019a1", + "196a3d797bfee07fe4596b69f4ce1141", + "81ec78bc8298568bb5ea66d3c2972b670d0f7459b6cdbbcaacce90ab417ab15c" + ], + "hosts": [ + "thinkpadsmith", + "device\\rN@me" + ], + "ip": [ + "89.160.20.128", + "175.16.199.0", + "10.1.1.1", + "192.168.2.200", + "81.2.69.144", + "1.128.0.4" + ], + "user": [ + "jsmith", + "jdoe", + "jdoe@safemarch.com" + ] + }, + "rule": { + "name": [ + "File_Sharing_1", + "DLP_Rule_1", + "URL_Filtering_1", + "URL_Filtering_2" + ] + }, + "source": { + "geo": { + "city_name": "London", + "continent_name": "Europe", + "country_iso_code": "GB", + "country_name": "United Kingdom", + "location": { + "lat": 51.5142, + "lon": -0.0931 + }, + "region_iso_code": "GB-ENG", + "region_name": "England" + }, + "ip": "81.2.69.144", + "nat": { + "ip": "89.160.20.128" + }, + "port": 12345 + }, + "tags": [ + "preserve_original_event", + "preserve_duplicate_custom_fields" + ], + "threat": { + "indicator": { + "name": "196a3d797bfee07fe4596b69f4ce1141" + } + }, + "tls": { + "cipher": "SSL3_CK_RSA_NULL_MD5" + }, + "url": { + "domain": "t.coupons.com", + "extension": "php", + "fragment": "FFFFFF\",\"promoEndDate\":null,\"customField1\":\"Up%20to%2070%%20OFF%20|%2072-Hour%20Clearout\"}&linkUrl=https://www.coupons.com/daily-sales/72-hour-clearout&linkText=Up%20to%2070%%20OFF%20|%2072-Hour%20Clearout&textColor=#FFFFFF&promoEndDate=&customField1=Up%20to%2070%%20OFF%20|%2072-Hour%20Clearout&pageId=×tamp=1724682777198", + "full": "https://t.coupons.com/b.php?transactionId=I/tsId==&eventType=ElementInView&elementName=TN_SWB&objects={\"linkUrl\":\"https://www.coupons.com/daily-sales/72-hour-clearout\",\"linkText\":\"Up%20to%2070%%20OFF%20|%2072-Hour%20Clearout\",\"textColor\":\"#FFFFFF\",\"promoEndDate\":null,\"customField1\":\"Up%20to%2070%%20OFF%20|%2072-Hour%20Clearout\"}&linkUrl=https://www.coupons.com/daily-sales/72-hour-clearout&linkText=Up%20to%2070%%20OFF%20|%2072-Hour%20Clearout&textColor=#FFFFFF&promoEndDate=&customField1=Up%20to%2070%%20OFF%20|%2072-Hour%20Clearout&pageId=×tamp=1724682777198", + "original": "https://t.coupons.com/b.php?transactionId=I/tsId==&eventType=ElementInView&elementName=TN_SWB&objects={\"linkUrl\":\"https://www.coupons.com/daily-sales/72-hour-clearout\",\"linkText\":\"Up%20to%2070%%20OFF%20|%2072-Hour%20Clearout\",\"textColor\":\"#FFFFFF\",\"promoEndDate\":null,\"customField1\":\"Up%20to%2070%%20OFF%20|%2072-Hour%20Clearout\"}&linkUrl=https://www.coupons.com/daily-sales/72-hour-clearout&linkText=Up%20to%2070%%20OFF%20|%2072-Hour%20Clearout&textColor=#FFFFFF&promoEndDate=&customField1=Up%20to%2070%%20OFF%20|%2072-Hour%20Clearout&pageId=×tamp=1724682777198", + "path": "/b.php", + "query": "transactionId=I/tsId==&eventType=ElementInView&elementName=TN_SWB&objects={\"linkUrl\":\"https://www.coupons.com/daily-sales/72-hour-clearout\",\"linkText\":\"Up%20to%2070%%20OFF%20|%2072-Hour%20Clearout\",\"textColor\":\"", + "scheme": "https" + }, + "user": { + "domain": "safemarch.com", + "email": "jdoe@safemarch.com", + "name": "jdoe" + }, + "user_agent": { + "device": { + "name": "Other" + }, + "name": "Other", + "original": "Mozilla/5.0" + }, + "zscaler_zia": { + "web": { + "action": "Allowed", + "alpn_protocol": "FTP", + "app": { + "class": "Administration", + "name": "Adobe Connect", + "risk_score": "1", + "rule_label": "File_Sharing_1" + }, + "bandwidth_class_name": "Entertainment", + "bandwidth_rule_name": "Office 365", + "bandwidth_throttle": "Yes", + "bypassed": { + "time": "2023-10-16T22:55:48.000Z", + "traffic": "1" + }, + "client": { + "cipher": "SSL3_CK_RSA_NULL_MD5", + "cipher_reuse": "Unknown", + "internet": { + "ip": "89.160.20.128" + }, + "ip": "81.2.69.144", + "public_ip": "175.16.199.0", + "source_port": 12345, + "ssl": { + "fail_count": 100, + "fail_reason": "Bad Record Mac" + }, + "tls_version": "SSL2" + }, + "cloud_name": "zscaler.net", + "company": "Zscaler", + "content_type": "application/vnd_apple_keynote", + "datacenter": { + "city": "Sa", + "country": "US", + "name": "CA Client Node DC" + }, + "day": "Mon", + "day_of_month": 16, + "department": "Sales", + "device": { + "appversion": "1.128.0.1", + "hostname": "THINKPADSMITH", + "model": "20L8S7WC12", + "name": "device\\rN@me", + "os": { + "type": "iOS", + "version": "Version 10.14.2 (Build 18C54)" + }, + "owner": "jsmith", + "type": "Zscaler Client Connector" + }, + "df": { + "host": { + "head": "df_hosthead", + "name": "df_hostname" + } + }, + "dlp": { + "dictionaries": { + "hit_count": "4", + "name": "Credit Cards" + }, + "engine": "HIPAA", + "identifier": "6646484838839026000", + "md5": "154f149b1443fbfa8c121d13e5c019a1", + "rule": { + "name": "DLP_Rule_1" + } + }, + "eedone": "Yes", + "epochtime": "2020-01-04T09:00:00.000Z", + "external": { + "device": { + "id": "2347" + } + }, + "file": { + "class": "Active Web Contents", + "name": "nssfeed.txt", + "subtype": "exe", + "type": "RAR Files" + }, + "flow_type": "Direct", + "forward_gateway": { + "ip": "10.1.1.1", + "name": "FWD_1" + }, + "forward_type": "Direct", + "host": "mail.google.com", + "hour": 22, + "is_ssl_certificate_expired": "Yes", + "is_ssl_certificate_selfsigned": "Yes", + "is_ssl_certificate_untrusted": "Pass", + "key_protection_type": "HSM Protection", + "location": "Headquarters", + "login": "jdoe@safemarch.com", + "malware": { + "category": "Adware", + "class": "Sandbox" + }, + "md5_hash": "196a3d797bfee07fe4596b69f4ce1141", + "minute": 55, + "mobile": { + "application": { + "category": "Communication", + "name": "Amazon" + }, + "dev": { + "type": "Google Android" + } + }, + "module": "Administration", + "month": "Oct", + "month_of_year": 10, + "nss": { + "service": { + "ip": "192.168.2.200" + } + }, + "obfuscated": { + "app_rule_label": "5300295980", + "bendwidth": { + "class_name": "10831489" + }, + "client": { + "ip": "6200694987", + "public": { + "ip": "624054738" + } + }, + "device": { + "host_name": "2168890624", + "name": "2175092224", + "owner": "10831489" + }, + "dlp": { + "dictionaries": "10831489", + "engine": "4094304256", + "rule": { + "name": "6857275752" + } + }, + "forward_gateway_name": "8794487099", + "login": "4094304256", + "rule": { + "name": "3399565100" + }, + "url": { + "category": "7956407282", + "filter_rule_label": "4951704103" + }, + "zpa_app_segment": "7648246731" + }, + "policy": { + "reason": "Blocked" + }, + "product_version": "5.0.902.95524_04", + "prototype": "HTTPS", + "reason": "File Attachment Cautioned", + "record": { + "id": "123456782" + }, + "redirect_policy_name": "FWD_Rule_1", + "referer": { + "host": "www.example.com for http://www.example.com/index.html", + "name": "www.example.com/search?filters=guid%3A%2240-en-dia%22+lang%3A%22en%22&form=S00&q=how+to+use+remote+desktop+to+connect+to+a+windows+10+pc" + }, + "request": { + "header_size": 300, + "method": "invalid", + "payload": 1000, + "size": 1300, + "version": "1.1" + }, + "response": { + "code": "100", + "header_size": 500, + "payload": 10000, + "size": 10500, + "version": "1" + }, + "risk": { + "score": 10.0 + }, + "rule": { + "name": "URL_Filtering_1", + "type": "File Type Control" + }, + "second": 48, + "server": { + "certificate": { + "validation": { + "period": "Short" + } + }, + "certificate_validation_chain": "Unknown", + "certificate_validation_type": "EV (Extended Validation)", + "cipher": "SSL3_CK_RSA_NULL_MD5", + "cipher_reuse": "Unknown", + "ip": "1.128.0.4", + "ocsp_result": "Good", + "tls_version": "SSL2", + "wildcard_certificate": "Unknown" + }, + "sha256": "81ec78bc8298568bb5ea66d3c2972b670d0f7459b6cdbbcaacce90ab417ab15c", + "ssl_decrypted": "Yes", + "threat": { + "name": "EICAR Test File", + "severity": "Critical (90–100)" + }, + "throttle": { + "request_size": 5, + "response_size": 7 + }, + "time": "2023-10-20T22:55:48.000Z", + "timezone": "GMT", + "total": { + "size": 11800 + }, + "traffic_redirect_method": "DNAT (Destination Translation)", + "unscannable": { + "type": "Encrypted File" + }, + "upload": { + "doc": { + "type_name": "Corporate Finance" + }, + "file": { + "class": "upload_fileclass", + "name": "nssfeed.exe", + "subtype": "rar", + "type": "RAR Files" + } + }, + "url": { + "category": { + "sub": "Entertainment", + "super": "Travel" + }, + "category_method": "Database A", + "class": "Bandwidth Loss", + "filter_rule_label": "URL_Filtering_2", + "name": "t.coupons.com/b.php?transactionId=I/tsId==&eventType=ElementInView&elementName=TN_SWB&objects={\"linkUrl\":\"https://www.coupons.com/daily-sales/72-hour-clearout\",\"linkText\":\"Up%20to%2070%%20OFF%20|%2072-Hour%20Clearout\",\"textColor\":\"#FFFFFF\",\"promoEndDate\":null,\"customField1\":\"Up%20to%2070%%20OFF%20|%2072-Hour%20Clearout\"}&linkUrl=https://www.coupons.com/daily-sales/72-hour-clearout&linkText=Up%20to%2070%%20OFF%20|%2072-Hour%20Clearout&textColor=#FFFFFF&promoEndDate=&customField1=Up%20to%2070%%20OFF%20|%2072-Hour%20Clearout&pageId=×tamp=1724682777198" + }, + "user_agent": { + "class": "Firefox", + "name": "Mozilla/5.0", + "token": "Google Chrome (0.x)" + }, + "user_location_name": "userlocationname", + "year": 2023, + "z_tunnel_version": "ZTUNNEL_1_0", + "zpa_app_segment": "ZPA_test_app_segment" + } + } + }, + { + "@timestamp": "2023-10-20T22:55:48.000Z", + "cloud": { + "provider": "zscaler.net" + }, + "destination": { + "domain": "mail.google.com", + "ip": "1.128.0.4" + }, + "device": { + "id": "2347", + "model": { + "identifier": "20L8S7WC12" + } + }, + "ecs": { + "version": "8.11.0" + }, + "event": { + "action": "allowed", + "category": [ + "web" + ], + "id": "123456782", + "kind": "event", + "original": "{\"version\":\"v9\",\"sourcetype\":\"zscalernss-web\",\"event\":{\"time\":\"Mon Oct 20 22:55:48 2023\",\"cloudname\":\"zscaler.net\",\"host\":\"mail.google.com\",\"serverip\":\"1.128.0.4\",\"external_devid\":\"2347\",\"devicemodel\":\"20L8S7WC12\",\"action\":\"Allowed\",\"recordid\":123456782,\"reason\":\"File Attachment Cautioned\",\"threatseverity\":\"Critical (90–100)\",\"tz\":\"GMT\",\"filesubtype\":\"exe\",\"upload_filesubtype\":\"rar\",\"sha256\":\"81ec78bc8298568bb5ea66d3c2972b670d0f7459b6cdbbcaacce90ab417ab15c\",\"bamd5\":\"196a3d797bfee07fe4596b69f4ce1141\",\"filename\":\"nssfeed.txt\",\"upload_filename\":\"nssfeed.exe\",\"filetype\":\"RAR Files\",\"devicename\":\"device%5CrN%40me\",\"devicehostname\":\"THINKPADSMITH\",\"deviceostype\":\"iOS\",\"deviceosversion\":\"Version 10.14.2 (Build 18C54)\",\"devicetype\":\"Zscaler Client Connector\",\"reqsize\":1300,\"reqmethod\":\"invalid\",\"b64referer\":\"d3d3LmV4YW1wbGUuY29tL3NlYXJjaD9maWx0ZXJzPWd1aWQlM0ElMjI0MC1lbi1kaWElMjIrbGFuZyUzQSUyMmVuJTIyJmZvcm09UzAwJnE9aG93K3RvK3VzZStyZW1vdGUrZGVza3RvcCt0bytjb25uZWN0K3RvK2Erd2luZG93cysxMCtwYw==\",\"respsize\":10500,\"respcode\":\"100\",\"reqversion\":\"1.1\",\"respversion\":\"1\",\"proto\":\"HTTPS\",\"company\":\"Zscaler\",\"dlpmd5\":\"154f149b1443fbfa8c121d13e5c019a1\",\"apprulelabel\":\"File_Sharing_1\",\"dlprulename\":\"DLP_Rule_1\",\"rulelabel\":\"URL_Filtering_1\",\"urlfilterrulelabel\":\"URL_Filtering_2\",\"cltip\":\"81.2.69.144\",\"cltintip\":\"89.160.20.128\",\"cltsourceport\":12345,\"threatname\":\"EICAR Test File\",\"cltsslcipher\":\"SSL3_CK_RSA_NULL_MD5\",\"clttlsversion\":\"SSL2\",\"b64url\":\"ZXhhbXBsZS5jb20vP3BhcnRuZXI9MjcxJnNtYXJ0bWFwPTEmcmVkaXJlY3Q9aHR0cHM6Ly9leGFtcGxlLmNvbS9zZXR1aWQ/ZW50aXR5PTE0NSZjb2RlPSVfcmlk\",\"useragent\":\"Mozilla/5.0\",\"login\":\"jdoe@safemarch.com\",\"applayerprotocol\":\"FTP\",\"appclass\":\"Administration\",\"appname\":\"Adobe Connect\",\"appriskscore\":\"1\",\"bandwidthclassname\":\"Entertainment\",\"bandwidthrulename\":\"Office 365\",\"bwthrottle\":\"Yes\",\"bypassedtime\":\"Mon Oct 16 22:55:48 2023\",\"bypassedtraffic\":\"1\",\"cltsslsessreuse\":\"Unknown\",\"cltpubip\":\"175.16.199.0\",\"cltsslfailcount\":100,\"cltsslfailreason\":\"Bad Record Mac\",\"contenttype\":\"application/vnd_apple_keynote\",\"datacentercity\":\"Sa\",\"datacentercountry\":\"US\",\"datacenter\":\"CA Client Node DC\",\"day\":\"Mon\",\"day_of_month\":16,\"dept\":\"Sales\",\"deviceappversion\":\"1.128.0.1\",\"deviceowner\":\"jsmith\",\"df_hosthead\":\"df_hosthead\",\"df_hostname\":\"df_hostname\",\"dlpdicthitcount\":\"4\",\"dlpdict\":\"Credit Cards\",\"dlpeng\":\"HIPAA\",\"dlpidentifier\":6646484838839026000,\"eedone\":\"Yes\",\"epochtime\":1578128400,\"fileclass\":\"Active Web Contents\",\"flow_type\":\"Direct\",\"forward_gateway_ip\":\"10.1.1.1\",\"forward_gateway_name\":\"FWD_1\",\"forward_type\":\"Direct\",\"hour\":22,\"is_sslexpiredca\":\"Yes\",\"is_sslselfsigned\":\"Yes\",\"is_ssluntrustedca\":\"Pass\",\"keyprotectiontype\":\"HSM Protection\",\"location\":\"Headquarters\",\"malwarecategory\":\"Adware\",\"malwareclass\":\"Sandbox\",\"minute\":55,\"mobappcategory\":\"Communication\",\"mobappname\":\"Amazon\",\"mobdevtype\":\"Google Android\",\"module\":\"Administration\",\"month\":\"Oct\",\"month_of_year\":10,\"nssserviceip\":\"192.168.2.200\",\"oapprulelabel\":\"5300295980\",\"obwclassname\":\"10831489\",\"ocip\":6200694987,\"ocpubip\":624054738,\"odevicehostname\":\"2168890624\",\"odevicename\":\"2175092224\",\"odeviceowner\":\"10831489\",\"odlpdict\":\"10831489\",\"odlpeng\":\"4094304256\",\"odlprulename\":\"6857275752\",\"ofwd_gw_name\":\"8794487099\",\"ologin\":\"4094304256\",\"ordr_rulename\":\"3399565100\",\"ourlcat\":\"7956407282\",\"ourlfilterrulelabel\":\"4951704103\",\"ozpa_app_seg_name\":\"7648246731\",\"externalsslpolicyreason\":\"Blocked\",\"productversion\":\"5.0.902.95524_04\",\"rdr_rulename\":\"FWD_Rule_1\",\"refererhost\":\"www.example.com for http://www.example.com/index.html\",\"reqheadersize\":300,\"reqdatasize\":1000,\"respheadersize\":500,\"respdatasize\":10000,\"riskscore\":10,\"ruletype\":\"File Type Control\",\"second\":48,\"srvcertchainvalpass\":\"Unknown\",\"srvcertvalidationtype\":\"EV (Extended Validation)\",\"srvcertvalidityperiod\":\"Short\",\"srvsslcipher\":\"SSL3_CK_RSA_NULL_MD5\",\"serversslsessreuse\":\"Unknown\",\"srvocspresult\":\"Good\",\"srvtlsversion\":\"SSL2\",\"srvwildcardcert\":\"Unknown\",\"ssldecrypted\":\"Yes\",\"throttlereqsize\":5,\"throttlerespsize\":7,\"totalsize\":11800,\"trafficredirectmethod\":\"DNAT (Destination Translation)\",\"unscannabletype\":\"Encrypted File\",\"upload_doctypename\":\"Corporate Finance\",\"upload_fileclass\":\"upload_fileclass\",\"upload_filetype\":\"RAR Files\",\"urlcatmethod\":\"Database A\",\"urlsubcat\":\"Entertainment\",\"urlsupercat\":\"Travel\",\"urlclass\":\"Bandwidth Loss\",\"useragentclass\":\"Firefox\",\"useragenttoken\":\"Google Chrome (0.x)\",\"userlocationname\":\"userlocationname\",\"year\":2023,\"ztunnelversion\":\"ZTUNNEL_1_0\",\"zpa_app_seg_name\":\"ZPA_test_app_segment\"}}", + "reason": "File Attachment Cautioned", + "timezone": "GMT", + "type": [ + "info" + ] + }, + "file": { + "extension": [ + "exe", + "rar" + ], + "hash": { + "md5": "196a3d797bfee07fe4596b69f4ce1141", + "sha256": "81ec78bc8298568bb5ea66d3c2972b670d0f7459b6cdbbcaacce90ab417ab15c" + }, + "name": [ + "nssfeed.txt", + "nssfeed.exe" + ], + "type": "file" + }, + "host": { + "hostname": "device\\rN@me", + "name": "thinkpadsmith", + "os": { + "type": "ios", + "version": "Version 10.14.2 (Build 18C54)" + }, + "type": "Zscaler Client Connector" + }, + "http": { + "request": { + "bytes": 1300, + "method": "invalid", + "referrer": "www.example.com/search?filters=guid%3A%2240-en-dia%22+lang%3A%22en%22&form=S00&q=how+to+use+remote+desktop+to+connect+to+a+windows+10+pc" + }, + "response": { + "bytes": 10500 + }, + "version": [ + "1.1", + "1" + ] + }, + "network": { + "protocol": "https" + }, + "organization": { + "name": "Zscaler" + }, + "related": { + "hash": [ + "154f149b1443fbfa8c121d13e5c019a1", + "196a3d797bfee07fe4596b69f4ce1141", + "81ec78bc8298568bb5ea66d3c2972b670d0f7459b6cdbbcaacce90ab417ab15c" + ], + "hosts": [ + "thinkpadsmith", + "device\\rN@me" + ], + "ip": [ + "89.160.20.128", + "175.16.199.0", + "10.1.1.1", + "192.168.2.200", + "81.2.69.144", + "1.128.0.4" + ], + "user": [ + "jsmith", + "jdoe", + "jdoe@safemarch.com" + ] + }, + "rule": { + "name": [ + "File_Sharing_1", + "DLP_Rule_1", + "URL_Filtering_1", + "URL_Filtering_2" + ] + }, + "source": { + "geo": { + "city_name": "London", + "continent_name": "Europe", + "country_iso_code": "GB", + "country_name": "United Kingdom", + "location": { + "lat": 51.5142, + "lon": -0.0931 + }, + "region_iso_code": "GB-ENG", + "region_name": "England" + }, + "ip": "81.2.69.144", + "nat": { + "ip": "89.160.20.128" + }, + "port": 12345 + }, + "tags": [ + "preserve_original_event", + "preserve_duplicate_custom_fields" + ], + "threat": { + "indicator": { + "name": "196a3d797bfee07fe4596b69f4ce1141" + } + }, + "tls": { + "cipher": "SSL3_CK_RSA_NULL_MD5" + }, + "url": { + "domain": "example.com", + "full": "https://example.com/?partner=271&smartmap=1&redirect=https://example.com/setuid?entity=145&code=%_rid", + "original": "https://example.com/?partner=271&smartmap=1&redirect=https://example.com/setuid?entity=145&code=%_rid", + "path": "/", + "query": "partner=271&smartmap=1&redirect=https://example.com/setuid?entity=145&code=%_rid", + "scheme": "https" + }, + "user": { + "domain": "safemarch.com", + "email": "jdoe@safemarch.com", + "name": "jdoe" + }, + "user_agent": { + "device": { + "name": "Other" + }, + "name": "Other", + "original": "Mozilla/5.0" + }, + "zscaler_zia": { + "web": { + "action": "Allowed", + "alpn_protocol": "FTP", + "app": { + "class": "Administration", + "name": "Adobe Connect", + "risk_score": "1", + "rule_label": "File_Sharing_1" + }, + "bandwidth_class_name": "Entertainment", + "bandwidth_rule_name": "Office 365", + "bandwidth_throttle": "Yes", + "bypassed": { + "time": "2023-10-16T22:55:48.000Z", + "traffic": "1" + }, + "client": { + "cipher": "SSL3_CK_RSA_NULL_MD5", + "cipher_reuse": "Unknown", + "internet": { + "ip": "89.160.20.128" + }, + "ip": "81.2.69.144", + "public_ip": "175.16.199.0", + "source_port": 12345, + "ssl": { + "fail_count": 100, + "fail_reason": "Bad Record Mac" + }, + "tls_version": "SSL2" + }, + "cloud_name": "zscaler.net", + "company": "Zscaler", + "content_type": "application/vnd_apple_keynote", + "datacenter": { + "city": "Sa", + "country": "US", + "name": "CA Client Node DC" + }, + "day": "Mon", + "day_of_month": 16, + "department": "Sales", + "device": { + "appversion": "1.128.0.1", + "hostname": "THINKPADSMITH", + "model": "20L8S7WC12", + "name": "device\\rN@me", + "os": { + "type": "iOS", + "version": "Version 10.14.2 (Build 18C54)" + }, + "owner": "jsmith", + "type": "Zscaler Client Connector" + }, + "df": { + "host": { + "head": "df_hosthead", + "name": "df_hostname" + } + }, + "dlp": { + "dictionaries": { + "hit_count": "4", + "name": "Credit Cards" + }, + "engine": "HIPAA", + "identifier": "6646484838839026000", + "md5": "154f149b1443fbfa8c121d13e5c019a1", + "rule": { + "name": "DLP_Rule_1" + } + }, + "eedone": "Yes", + "epochtime": "2020-01-04T09:00:00.000Z", + "external": { + "device": { + "id": "2347" + } + }, + "file": { + "class": "Active Web Contents", + "name": "nssfeed.txt", + "subtype": "exe", + "type": "RAR Files" + }, + "flow_type": "Direct", + "forward_gateway": { + "ip": "10.1.1.1", + "name": "FWD_1" + }, + "forward_type": "Direct", + "host": "mail.google.com", + "hour": 22, + "is_ssl_certificate_expired": "Yes", + "is_ssl_certificate_selfsigned": "Yes", + "is_ssl_certificate_untrusted": "Pass", + "key_protection_type": "HSM Protection", + "location": "Headquarters", + "login": "jdoe@safemarch.com", + "malware": { + "category": "Adware", + "class": "Sandbox" + }, + "md5_hash": "196a3d797bfee07fe4596b69f4ce1141", + "minute": 55, + "mobile": { + "application": { + "category": "Communication", + "name": "Amazon" + }, + "dev": { + "type": "Google Android" + } + }, + "module": "Administration", + "month": "Oct", + "month_of_year": 10, + "nss": { + "service": { + "ip": "192.168.2.200" + } + }, + "obfuscated": { + "app_rule_label": "5300295980", + "bendwidth": { + "class_name": "10831489" + }, + "client": { + "ip": "6200694987", + "public": { + "ip": "624054738" + } + }, + "device": { + "host_name": "2168890624", + "name": "2175092224", + "owner": "10831489" + }, + "dlp": { + "dictionaries": "10831489", + "engine": "4094304256", + "rule": { + "name": "6857275752" + } + }, + "forward_gateway_name": "8794487099", + "login": "4094304256", + "rule": { + "name": "3399565100" + }, + "url": { + "category": "7956407282", + "filter_rule_label": "4951704103" + }, + "zpa_app_segment": "7648246731" + }, + "policy": { + "reason": "Blocked" + }, + "product_version": "5.0.902.95524_04", + "prototype": "HTTPS", + "reason": "File Attachment Cautioned", + "record": { + "id": "123456782" + }, + "redirect_policy_name": "FWD_Rule_1", + "referer": { + "host": "www.example.com for http://www.example.com/index.html", + "name": "www.example.com/search?filters=guid%3A%2240-en-dia%22+lang%3A%22en%22&form=S00&q=how+to+use+remote+desktop+to+connect+to+a+windows+10+pc" + }, + "request": { + "header_size": 300, + "method": "invalid", + "payload": 1000, + "size": 1300, + "version": "1.1" + }, + "response": { + "code": "100", + "header_size": 500, + "payload": 10000, + "size": 10500, + "version": "1" + }, + "risk": { + "score": 10.0 + }, + "rule": { + "name": "URL_Filtering_1", + "type": "File Type Control" + }, + "second": 48, + "server": { + "certificate": { + "validation": { + "period": "Short" + } + }, + "certificate_validation_chain": "Unknown", + "certificate_validation_type": "EV (Extended Validation)", + "cipher": "SSL3_CK_RSA_NULL_MD5", + "cipher_reuse": "Unknown", + "ip": "1.128.0.4", + "ocsp_result": "Good", + "tls_version": "SSL2", + "wildcard_certificate": "Unknown" + }, + "sha256": "81ec78bc8298568bb5ea66d3c2972b670d0f7459b6cdbbcaacce90ab417ab15c", + "ssl_decrypted": "Yes", + "threat": { + "name": "EICAR Test File", + "severity": "Critical (90–100)" + }, + "throttle": { + "request_size": 5, + "response_size": 7 + }, + "time": "2023-10-20T22:55:48.000Z", + "timezone": "GMT", + "total": { + "size": 11800 + }, + "traffic_redirect_method": "DNAT (Destination Translation)", + "unscannable": { + "type": "Encrypted File" + }, + "upload": { + "doc": { + "type_name": "Corporate Finance" + }, + "file": { + "class": "upload_fileclass", + "name": "nssfeed.exe", + "subtype": "rar", + "type": "RAR Files" + } + }, + "url": { + "category": { + "sub": "Entertainment", + "super": "Travel" + }, + "category_method": "Database A", + "class": "Bandwidth Loss", + "filter_rule_label": "URL_Filtering_2", + "name": "example.com/?partner=271&smartmap=1&redirect=https://example.com/setuid?entity=145&code=%_rid" + }, + "user_agent": { + "class": "Firefox", + "name": "Mozilla/5.0", + "token": "Google Chrome (0.x)" + }, + "user_location_name": "userlocationname", + "year": 2023, + "z_tunnel_version": "ZTUNNEL_1_0", + "zpa_app_segment": "ZPA_test_app_segment" + } + } } ] } \ No newline at end of file diff --git a/packages/zscaler_zia/data_stream/web/elasticsearch/ingest_pipeline/default.yml b/packages/zscaler_zia/data_stream/web/elasticsearch/ingest_pipeline/default.yml index 8f56e1dc39e..cdf73afde1e 100644 --- a/packages/zscaler_zia/data_stream/web/elasticsearch/ingest_pipeline/default.yml +++ b/packages/zscaler_zia/data_stream/web/elasticsearch/ingest_pipeline/default.yml @@ -121,6 +121,10 @@ processors: tag: urldecode_apprulelabel target_field: zscaler_zia.web.app.rule_label ignore_missing: true + on_failure: + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' - append: field: rule.name tag: append_zscaler_zia_web_app_rule_label_into_rule_name @@ -361,6 +365,10 @@ processors: tag: urldecode_devicename target_field: zscaler_zia.web.device.name ignore_missing: true + on_failure: + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' - set: field: host.hostname tag: set_host_hostname_from_web_device_name @@ -531,6 +539,10 @@ processors: tag: urldecode_filename target_field: zscaler_zia.web.file.name ignore_missing: true + on_failure: + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' - append: field: file.name tag: append_zscaler_zia_web_file_name_into_file_name @@ -593,6 +605,10 @@ processors: tag: urldecode_host target_field: zscaler_zia.web.host ignore_missing: true + on_failure: + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' - set: field: destination.domain tag: set_destination_domain_from_web_host @@ -634,16 +650,19 @@ processors: tag: urldecode_location target_field: zscaler_zia.web.location ignore_missing: true - - urldecode: - field: json.department - tag: urldecode_department - target_field: zscaler_zia.web.department - ignore_missing: true + on_failure: + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' - urldecode: field: json.login tag: urldecode_login target_field: zscaler_zia.web.login ignore_missing: true + on_failure: + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' - set: field: user.email tag: set_user_email_from_web_login @@ -723,6 +742,10 @@ processors: tag: urldecode_mobappname target_field: zscaler_zia.web.mobile.application.name ignore_missing: true + on_failure: + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' - rename: field: json.mobdevtype tag: rename_mobdevtype @@ -902,6 +925,10 @@ processors: tag: urldecode_refererhost target_field: zscaler_zia.web.referer.host ignore_missing: true + on_failure: + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' - script: description: Decode referer tag: decode_b64referer @@ -1046,6 +1073,10 @@ processors: tag: urldecode_rulelabel target_field: zscaler_zia.web.rule.name ignore_missing: true + on_failure: + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' - append: field: rule.name tag: append_zscaler_zia_web_rule_name_into_rule_name @@ -1280,6 +1311,10 @@ processors: tag: urldecode_upload_filename target_field: zscaler_zia.web.upload.file.name ignore_missing: true + on_failure: + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' - append: field: file.name tag: append_zscaler_zia_web_upload_file_name_into_file_name @@ -1327,6 +1362,10 @@ processors: tag: urldecode_urlfilterrulelabel target_field: zscaler_zia.web.url.filter_rule_label ignore_missing: true + on_failure: + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' - append: field: rule.name tag: append_zscaler_zia_web_url_filter_rule_label_into_rule_name @@ -1373,15 +1412,6 @@ processors: field: url.full value: '{{{url.original}}}' if: ctx.url?.original != null && ctx.url.original != '' - - urldecode: - field: url.original - ignore_missing: true - tag: urldecode_url_original - if: ctx.url?.original != null && ctx.url.original != '' - on_failure: - - append: - field: error.message - value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' - rename: field: json.useragentclass tag: rename_useragentclass @@ -1417,6 +1447,10 @@ processors: tag: urldecode_userlocationname target_field: zscaler_zia.web.user_location_name ignore_missing: true + on_failure: + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' - convert: field: json.year tag: convert_year_to_long diff --git a/packages/zscaler_zia/docs/README.md b/packages/zscaler_zia/docs/README.md index 1696f01addf..c7179fbe9f8 100644 --- a/packages/zscaler_zia/docs/README.md +++ b/packages/zscaler_zia/docs/README.md @@ -214,14 +214,14 @@ Sample Response: ![Escape feed setup image](../img/escape_feed.png?raw=true) See: [Zscaler Vendor documentation](https://help.zscaler.com/zia/nss-feed-output-format-web-logs) -Zscaler Web Log response format (v8): +Zscaler Web Log response format (v9): ``` -\{"version":"v8","sourcetype":"zscalernss-web","event":\{"time":"%s{time}","cloudname":"%s{cloudname}","host":"%s{ehost}","serverip":"%s{sip}","external_devid":"%s{external_devid}","devicemodel":"%s{devicemodel}","action":"%s{action}","recordid":"%d{recordid}","reason":"%s{reason}","threatseverity":"%s{threatseverity}","tz":"%s{tz}","filesubtype":"%s{filesubtype}","upload_filesubtype":"%s{upload_filesubtype}","sha256":"%s{sha256}","bamd5":"%s{bamd5}","filename":"%s{efilename}","upload_filename":"%s{eupload_filename}","filetype":"%s{filetype}","devicename":"%s{edevicename}","devicehostname":"%s{devicehostname}","deviceostype":"%s{deviceostype}","deviceosversion":"%s{deviceosversion}","devicetype":"%s{devicetype}","reqsize":"%d{reqsize}","reqmethod":"%s{reqmethod}","b64referer":"%s{b64referer}","respsize":"%d{respsize}","respcode":"%s{respcode}","reqversion":"%s{reqversion}","respversion":"%s{respversion}","proto":"%s{proto}","company":"%s{company}","dlpmd5":"%s{dlpmd5}","apprulelabel":"%s{eapprulelabel}","dlprulename":"%s{dlprulename}","rulelabel":"%s{erulelabel}","urlfilterrulelabel":"%s{eurlfilterrulelabel}","cltip":"%s{cip}","cltintip":"%s{cintip}","cltsourceport":"%d{clt_sport}","threatname":"%s{threatname}","cltsslcipher":"%s{clientsslcipher}","clttlsversion":"%s{clienttlsversion}","b64url":"%s{b64url}","useragent":"%s{eua}","login":"%s{elogin}","applayerprotocol":"%s{alpnprotocol}","appclass":"%s{appclass}","appname":"%s{appname}","appriskscore":"%s{app_risk_score}","bandwidthclassname":"%s{bwclassname}","bandwidthrulename":"%s{bwrulename}","bwthrottle":"%s{bwthrottle}","bypassedtime":"%s{bypassed_etime}","bypassedtraffic":"%d{bypassed_traffic}","cltsslsessreuse":"%s{clientsslsessreuse}","cltpubip":"%s{cpubip}","cltsslfailcount":"%d{cltsslfailcount}","cltsslfailreason":"%s{cltsslfailreason}","contenttype":"%s{contenttype}","datacentercity":"%s{datacentercity}","datacentercountry":"%s{datacentercountry}","datacenter":"%s{datacenter}","day":"%s{day}","day_of_month":"%02d{dd}","dept":"%s{dept}","deviceappversion":"%s{deviceappversion}","deviceowner":"%s{deviceowner}","df_hosthead":"%s{df_hosthead}","df_hostname":"%s{df_hostname}","dlpdicthitcount":"%s{dlpdicthitcount}","dlpdict":"%s{dlpdict}","dlpeng":"%s{dlpeng}","dlpidentifier":"%d{dlpidentifier}","eedone":"%s{eedone}","epochtime":"%d{epochtime}","fileclass":"%s{fileclass}","flow_type":"%s{flow_type}","forward_gateway_ip":"%s{fwd_gw_ip}","forward_gateway_name":"%s{fwd_gw_name}","forward_type":"%s{fwd_type}","hour":"%02d{hh}","is_sslexpiredca":"%s{is_sslexpiredca}","is_sslselfsigned":"%s{is_sslselfsigned}","is_ssluntrustedca":"%s{is_ssluntrustedca}","keyprotectiontype":"%s{keyprotectiontype}","location":"%s{elocation}","department":"%s{edepartment}","malwarecategory":"%s{malwarecat}","malwareclass":"%s{malwareclass}","minute":"%02d{mm}","mobappcategory":"%s{mobappcat}","mobappname":"%s{emobappname}","mobdevtype":"%s{mobdevtype}","module":"%s{module}","month":"%s{mon}","month_of_year":"%02d{mth}","nssserviceip":"%s{nsssvcip}","oapprulelabel":"%s{oapprulelabel}","obwclassname":"%s{obwclassname}","ocip":"%d{ocip}","ocpubip":"%d{ocpubip}","odevicehostname":"%s{odevicehostname}","odevicename":"%s{odevicename}","odeviceowner":"%s{odeviceowner}","odlpdict":"%s{odlpdict}","odlpeng":"%s{odlpeng}","odlprulename":"%s{odlprulename}","ofwd_gw_name":"%s{ofwd_gw_name}","ologin":"%s{ologin}","ordr_rulename":"%s{ordr_rulename}","ourlcat":"%s{ourlcat}","ourlfilterrulelabel":"%s{ourlfilterrulelabel}","ozpa_app_seg_name":"%s{ozpa_app_seg_name}","externalsslpolicyreason":"%s{externalspr}","productversion":"%s{productversion}","rdr_rulename":"%s{rdr_rulename}","refererhost":"%s{erefererhost}","reqheadersize":"%d{reqhdrsize}","reqdatasize":"%d{reqdatasize}","respheadersize":"%d{resphdrsize}","respdatasize":"%d{respdatasize}","riskscore":"%d{riskscore}","ruletype":"%s{ruletype}","second":"%02d{ss}","srvcertchainvalpass":"%s{srvcertchainvalpass}","srvcertvalidationtype":"%s{srvcertvalidationtype}","srvcertvalidityperiod":"%s{srvcertvalidityperiod}","srvsslcipher":"%s{srvsslcipher}","serversslsessreuse":"%s{serversslsessreuse}","srvocspresult":"%s{srvocspresult}","srvtlsversion":"%s{srvtlsversion}","srvwildcardcert":"%s{srvwildcardcert}","ssldecrypted":"%s{ssldecrypted}","throttlereqsize":"%d{throttlereqsize}","throttlerespsize":"%d{throttlerespsize}","totalsize":"%d{totalsize}","trafficredirectmethod":"%s{trafficredirectmethod}","unscannabletype":"%s{unscannabletype}","upload_doctypename":"%s{upload_doctypename}","upload_fileclass":"%s{upload_fileclass}","upload_filetype":"%s{upload_filetype}","urlcatmethod":"%s{urlcatmethod}","urlsubcat":"%s{urlcat}","urlsupercat":"%s{urlsupercat}","urlclass":"%s{urlclass}","useragentclass":"%s{uaclass}","useragenttoken":"%s{ua_token}","userlocationname":"%s{euserlocationname}","year":"%04d{yyyy}","ztunnelversion":"%s{ztunnelversion}","zpa_app_seg_name":"%s{zpa_app_seg_name}"\}\} +\{"version":"v9","sourcetype":"zscalernss-web","event":\{"time":"%s{time}","cloudname":"%s{cloudname}","host":"%s{ehost}","serverip":"%s{sip}","external_devid":"%s{external_devid}","devicemodel":"%s{devicemodel}","action":"%s{action}","recordid":"%d{recordid}","reason":"%s{reason}","threatseverity":"%s{threatseverity}","tz":"%s{tz}","filesubtype":"%s{filesubtype}","upload_filesubtype":"%s{upload_filesubtype}","sha256":"%s{sha256}","bamd5":"%s{bamd5}","filename":"%s{efilename}","upload_filename":"%s{eupload_filename}","filetype":"%s{filetype}","devicename":"%s{edevicename}","devicehostname":"%s{devicehostname}","deviceostype":"%s{deviceostype}","deviceosversion":"%s{deviceosversion}","devicetype":"%s{devicetype}","reqsize":"%d{reqsize}","reqmethod":"%s{reqmethod}","b64referer":"%s{b64referer}","respsize":"%d{respsize}","respcode":"%s{respcode}","reqversion":"%s{reqversion}","respversion":"%s{respversion}","proto":"%s{proto}","company":"%s{company}","dlpmd5":"%s{dlpmd5}","apprulelabel":"%s{eapprulelabel}","dlprulename":"%s{dlprulename}","rulelabel":"%s{erulelabel}","urlfilterrulelabel":"%s{eurlfilterrulelabel}","cltip":"%s{cip}","cltintip":"%s{cintip}","cltsourceport":"%d{clt_sport}","threatname":"%s{threatname}","cltsslcipher":"%s{clientsslcipher}","clttlsversion":"%s{clienttlsversion}","b64url":"%s{b64url}","useragent":"%s{eua}","login":"%s{elogin}","applayerprotocol":"%s{alpnprotocol}","appclass":"%s{appclass}","appname":"%s{appname}","appriskscore":"%s{app_risk_score}","bandwidthclassname":"%s{bwclassname}","bandwidthrulename":"%s{bwrulename}","bwthrottle":"%s{bwthrottle}","bypassedtime":"%s{bypassed_etime}","bypassedtraffic":"%d{bypassed_traffic}","cltsslsessreuse":"%s{clientsslsessreuse}","cltpubip":"%s{cpubip}","cltsslfailcount":"%d{cltsslfailcount}","cltsslfailreason":"%s{cltsslfailreason}","contenttype":"%s{contenttype}","datacentercity":"%s{datacentercity}","datacentercountry":"%s{datacentercountry}","datacenter":"%s{datacenter}","day":"%s{day}","day_of_month":"%02d{dd}","dept":"%s{dept}","deviceappversion":"%s{deviceappversion}","deviceowner":"%s{deviceowner}","df_hosthead":"%s{df_hosthead}","df_hostname":"%s{df_hostname}","dlpdicthitcount":"%s{dlpdicthitcount}","dlpdict":"%s{dlpdict}","dlpeng":"%s{dlpeng}","dlpidentifier":"%d{dlpidentifier}","eedone":"%s{eedone}","epochtime":"%d{epochtime}","fileclass":"%s{fileclass}","flow_type":"%s{flow_type}","forward_gateway_ip":"%s{fwd_gw_ip}","forward_gateway_name":"%s{fwd_gw_name}","forward_type":"%s{fwd_type}","hour":"%02d{hh}","is_sslexpiredca":"%s{is_sslexpiredca}","is_sslselfsigned":"%s{is_sslselfsigned}","is_ssluntrustedca":"%s{is_ssluntrustedca}","keyprotectiontype":"%s{keyprotectiontype}","location":"%s{elocation}","malwarecategory":"%s{malwarecat}","malwareclass":"%s{malwareclass}","minute":"%02d{mm}","mobappcategory":"%s{mobappcat}","mobappname":"%s{emobappname}","mobdevtype":"%s{mobdevtype}","module":"%s{module}","month":"%s{mon}","month_of_year":"%02d{mth}","nssserviceip":"%s{nsssvcip}","oapprulelabel":"%s{oapprulelabel}","obwclassname":"%s{obwclassname}","ocip":"%d{ocip}","ocpubip":"%d{ocpubip}","odevicehostname":"%s{odevicehostname}","odevicename":"%s{odevicename}","odeviceowner":"%s{odeviceowner}","odlpdict":"%s{odlpdict}","odlpeng":"%s{odlpeng}","odlprulename":"%s{odlprulename}","ofwd_gw_name":"%s{ofwd_gw_name}","ologin":"%s{ologin}","ordr_rulename":"%s{ordr_rulename}","ourlcat":"%s{ourlcat}","ourlfilterrulelabel":"%s{ourlfilterrulelabel}","ozpa_app_seg_name":"%s{ozpa_app_seg_name}","externalsslpolicyreason":"%s{externalspr}","productversion":"%s{productversion}","rdr_rulename":"%s{rdr_rulename}","refererhost":"%s{erefererhost}","reqheadersize":"%d{reqhdrsize}","reqdatasize":"%d{reqdatasize}","respheadersize":"%d{resphdrsize}","respdatasize":"%d{respdatasize}","riskscore":"%d{riskscore}","ruletype":"%s{ruletype}","second":"%02d{ss}","srvcertchainvalpass":"%s{srvcertchainvalpass}","srvcertvalidationtype":"%s{srvcertvalidationtype}","srvcertvalidityperiod":"%s{srvcertvalidityperiod}","srvsslcipher":"%s{srvsslcipher}","serversslsessreuse":"%s{serversslsessreuse}","srvocspresult":"%s{srvocspresult}","srvtlsversion":"%s{srvtlsversion}","srvwildcardcert":"%s{srvwildcardcert}","ssldecrypted":"%s{ssldecrypted}","throttlereqsize":"%d{throttlereqsize}","throttlerespsize":"%d{throttlerespsize}","totalsize":"%d{totalsize}","trafficredirectmethod":"%s{trafficredirectmethod}","unscannabletype":"%s{unscannabletype}","upload_doctypename":"%s{upload_doctypename}","upload_fileclass":"%s{upload_fileclass}","upload_filetype":"%s{upload_filetype}","urlcatmethod":"%s{urlcatmethod}","urlsubcat":"%s{urlcat}","urlsupercat":"%s{urlsupercat}","urlclass":"%s{urlclass}","useragentclass":"%s{uaclass}","useragenttoken":"%s{ua_token}","userlocationname":"%s{euserlocationname}","year":"%04d{yyyy}","ztunnelversion":"%s{ztunnelversion}","zpa_app_seg_name":"%s{zpa_app_seg_name}"\}\} ``` Sample Response: ```json -{"version":"v8","sourcetype":"zscalernss-web","event":{"time":"Mon Oct 16 22:55:48 2023","cloudname":"zscaler.net","host":"mail.google.com","serverip":"1.128.0.0","external_devid":"1234","devicemodel":"20L8S7WC08","action":"Allowed","recordid":123456789,"reason":"File Attachment Cautioned","threatseverity":"Critical (90–100)","tz":"GMT","filesubtype":"exe","upload_filesubtype":"rar","sha256":"81ec78bc8298568bb5ea66d3c2972b670d0f7459b6cdbbcaacce90ab417ab15c","bamd5":"196a3d797bfee07fe4596b69f4ce1141","filename":"nssfeed.txt","upload_filename":"nssfeed.exe","filetype":"RAR Files","devicename":"PC11NLPA%3A5F08D97BBF43257A8FB4BBF4061A38AE324EF734","devicehostname":"THINKPADSMITH","deviceostype":"iOS","deviceosversion":"Version 10.14.2 (Build 18C54)","devicetype":"Zscaler Client Connector","reqsize":1300,"reqmethod":"invalid","b64referer":"d3d3LmV4YW1wbGUuY29tL3NlYXJjaD9maWx0ZXJzPWd1aWQ6IjQwLWVuLWRpYSIgbGFuZzoiZW4iJmZvcm09UzAwJnE9aG93IHRvIHVzZSByZW1vdGUgZGVza3RvcCB0byBjb25uZWN0IHRvIGEgd2luZG93cyAxMCBwYw==","respsize":10500,"respcode":"100","reqversion":"1.1","respversion":"1","proto":"HTTP","company":"Zscaler","dlpmd5":"154f149b1443fbfa8c121d13e5c019a1","apprulelabel":"File_Sharing_1","dlprulename":"DLP_Rule_1","rulelabel":"URL_Filtering_1","urlfilterrulelabel":"URL_Filtering_2","cltip":"81.2.69.144","cltintip":"89.160.20.128","cltsourceport":12345,"threatname":"EICAR Test File","cltsslcipher":"SSL3_CK_RSA_NULL_MD5","clttlsversion":"SSL2","b64url":"d3d3LnRyeXRoaXNlbmNvZGV1cmwuY29tL3BhcmFtcz9JZD0xJnRzPTIwMDYtMDEtMDJUMTU6MDQ6MDVaMDc6MDAmdXNlcj02NTc5MiZ2ZXJzaW9uPTEwLjAuMTkwNDEuMTI2Ng==","useragent":"Mozilla/5.0","login":"jdoe@safemarch.com","applayerprotocol":"FTP","appclass":"Administration","appname":"Adobe Connect","appriskscore":"1","bandwidthclassname":"Entertainment","bandwidthrulename":"Office 365","bwthrottle":"Yes","bypassedtime":"Mon Oct 16 22:55:48 2023","bypassedtraffic":"1","cltsslsessreuse":"Unknown","cltpubip":"175.16.199.0","cltsslfailcount":100,"cltsslfailreason":"Bad Record Mac","contenttype":"application/vnd_apple_keynote","datacentercity":"Sa","datacentercountry":"US","datacenter":"CA Client Node DC","day":"Mon","day_of_month":16,"dept":"Sales","deviceappversion":"1.128.0.0","deviceowner":"jsmith","df_hosthead":"df_hosthead","df_hostname":"df_hostname","dlpdicthitcount":"4","dlpdict":"Credit Cards","dlpeng":"HIPAA","dlpidentifier":6646484838839026000,"eedone":"Yes","epochtime":1578128400,"fileclass":"Active Web Contents","flow_type":"Direct","forward_gateway_ip":"10.1.1.1","forward_gateway_name":"FWD_1","forward_type":"Direct","hour":22,"is_sslexpiredca":"Yes","is_sslselfsigned":"Yes","is_ssluntrustedca":"Pass","keyprotectiontype":"HSM Protection","location":"Headquarters","department":"Department%5CrN%40me","malwarecategory":"Adware","malwareclass":"Sandbox","minute":55,"mobappcategory":"Communication","mobappname":"Amazon","mobdevtype":"Google Android","module":"Administration","month":"Oct","month_of_year":10,"nssserviceip":"192.168.2.200","oapprulelabel":"5300295980","obwclassname":"10831489","ocip":6200694987,"ocpubip":624054738,"odevicehostname":"2168890624","odevicename":"2175092224","odeviceowner":"10831489","odlpdict":"10831489","odlpeng":"4094304256","odlprulename":"6857275752","ofwd_gw_name":"8794487099","ologin":"4094304256","ordr_rulename":"3399565100","ourlcat":"7956407282","ourlfilterrulelabel":"4951704103","ozpa_app_seg_name":"7648246731","externalsslpolicyreason":"Blocked","productversion":"5.0.902.95524_04","rdr_rulename":"FWD_Rule_1","refererhost":"www.example.com for http://www.example.com/index.html","reqheadersize":300,"reqdatasize":1000,"respheadersize":500,"respdatasize":10000,"riskscore":10,"ruletype":"File Type Control","second":48,"srvcertchainvalpass":"Unknown","srvcertvalidationtype":"EV (Extended Validation)","srvcertvalidityperiod":"Short","srvsslcipher":"SSL3_CK_RSA_NULL_MD5","serversslsessreuse":"Unknown","srvocspresult":"Good","srvtlsversion":"SSL2","srvwildcardcert":"Unknown","ssldecrypted":"Yes","throttlereqsize":5,"throttlerespsize":7,"totalsize":11800,"trafficredirectmethod":"DNAT (Destination Translation)","unscannabletype":"Encrypted File","upload_doctypename":"Corporate Finance","upload_fileclass":"upload_fileclass","upload_filetype":"RAR Files","urlcatmethod":"Database A","urlsubcat":"Entertainment","urlsupercat":"Travel","urlclass":"Bandwidth Loss","useragentclass":"Firefox","useragenttoken":"Google Chrome (0.x)","userlocationname":"userlocationname","year":2023,"ztunnelversion":"ZTUNNEL_1_0","zpa_app_seg_name":"ZPA_test_app_segment"}} +{"version":"v9","sourcetype":"zscalernss-web","event":{"time":"Mon Oct 16 22:55:48 2023","cloudname":"zscaler.net","host":"mail.google.com","serverip":"1.128.0.0","external_devid":"1234","devicemodel":"20L8S7WC08","action":"Allowed","recordid":123456789,"reason":"File Attachment Cautioned","threatseverity":"Critical (90–100)","tz":"GMT","filesubtype":"exe","upload_filesubtype":"rar","sha256":"81ec78bc8298568bb5ea66d3c2972b670d0f7459b6cdbbcaacce90ab417ab15c","bamd5":"196a3d797bfee07fe4596b69f4ce1141","filename":"nssfeed.txt","upload_filename":"nssfeed.exe","filetype":"RAR Files","devicename":"PC11NLPA%3A5F08D97BBF43257A8FB4BBF4061A38AE324EF734","devicehostname":"THINKPADSMITH","deviceostype":"iOS","deviceosversion":"Version 10.14.2 (Build 18C54)","devicetype":"Zscaler Client Connector","reqsize":1300,"reqmethod":"invalid","b64referer":"d3d3LmV4YW1wbGUuY29tL3NlYXJjaD9maWx0ZXJzPWd1aWQ6IjQwLWVuLWRpYSIgbGFuZzoiZW4iJmZvcm09UzAwJnE9aG93IHRvIHVzZSByZW1vdGUgZGVza3RvcCB0byBjb25uZWN0IHRvIGEgd2luZG93cyAxMCBwYw==","respsize":10500,"respcode":"100","reqversion":"1.1","respversion":"1","proto":"HTTP","company":"Zscaler","dlpmd5":"154f149b1443fbfa8c121d13e5c019a1","apprulelabel":"File_Sharing_1","dlprulename":"DLP_Rule_1","rulelabel":"URL_Filtering_1","urlfilterrulelabel":"URL_Filtering_2","cltip":"81.2.69.144","cltintip":"89.160.20.128","cltsourceport":12345,"threatname":"EICAR Test File","cltsslcipher":"SSL3_CK_RSA_NULL_MD5","clttlsversion":"SSL2","b64url":"d3d3LnRyeXRoaXNlbmNvZGV1cmwuY29tL3BhcmFtcz9JZD0xJnRzPTIwMDYtMDEtMDJUMTU6MDQ6MDVaMDc6MDAmdXNlcj02NTc5MiZ2ZXJzaW9uPTEwLjAuMTkwNDEuMTI2Ng==","useragent":"Mozilla/5.0","login":"jdoe@safemarch.com","applayerprotocol":"FTP","appclass":"Administration","appname":"Adobe Connect","appriskscore":"1","bandwidthclassname":"Entertainment","bandwidthrulename":"Office 365","bwthrottle":"Yes","bypassedtime":"Mon Oct 16 22:55:48 2023","bypassedtraffic":"1","cltsslsessreuse":"Unknown","cltpubip":"175.16.199.0","cltsslfailcount":100,"cltsslfailreason":"Bad Record Mac","contenttype":"application/vnd_apple_keynote","datacentercity":"Sa","datacentercountry":"US","datacenter":"CA Client Node DC","day":"Mon","day_of_month":16,"dept":"Sales","deviceappversion":"1.128.0.0","deviceowner":"jsmith","df_hosthead":"df_hosthead","df_hostname":"df_hostname","dlpdicthitcount":"4","dlpdict":"Credit Cards","dlpeng":"HIPAA","dlpidentifier":6646484838839026000,"eedone":"Yes","epochtime":1578128400,"fileclass":"Active Web Contents","flow_type":"Direct","forward_gateway_ip":"10.1.1.1","forward_gateway_name":"FWD_1","forward_type":"Direct","hour":22,"is_sslexpiredca":"Yes","is_sslselfsigned":"Yes","is_ssluntrustedca":"Pass","keyprotectiontype":"HSM Protection","location":"Headquarters","malwarecategory":"Adware","malwareclass":"Sandbox","minute":55,"mobappcategory":"Communication","mobappname":"Amazon","mobdevtype":"Google Android","module":"Administration","month":"Oct","month_of_year":10,"nssserviceip":"192.168.2.200","oapprulelabel":"5300295980","obwclassname":"10831489","ocip":6200694987,"ocpubip":624054738,"odevicehostname":"2168890624","odevicename":"2175092224","odeviceowner":"10831489","odlpdict":"10831489","odlpeng":"4094304256","odlprulename":"6857275752","ofwd_gw_name":"8794487099","ologin":"4094304256","ordr_rulename":"3399565100","ourlcat":"7956407282","ourlfilterrulelabel":"4951704103","ozpa_app_seg_name":"7648246731","externalsslpolicyreason":"Blocked","productversion":"5.0.902.95524_04","rdr_rulename":"FWD_Rule_1","refererhost":"www.example.com for http://www.example.com/index.html","reqheadersize":300,"reqdatasize":1000,"respheadersize":500,"respdatasize":10000,"riskscore":10,"ruletype":"File Type Control","second":48,"srvcertchainvalpass":"Unknown","srvcertvalidationtype":"EV (Extended Validation)","srvcertvalidityperiod":"Short","srvsslcipher":"SSL3_CK_RSA_NULL_MD5","serversslsessreuse":"Unknown","srvocspresult":"Good","srvtlsversion":"SSL2","srvwildcardcert":"Unknown","ssldecrypted":"Yes","throttlereqsize":5,"throttlerespsize":7,"totalsize":11800,"trafficredirectmethod":"DNAT (Destination Translation)","unscannabletype":"Encrypted File","upload_doctypename":"Corporate Finance","upload_fileclass":"upload_fileclass","upload_filetype":"RAR Files","urlcatmethod":"Database A","urlsubcat":"Entertainment","urlsupercat":"Travel","urlclass":"Bandwidth Loss","useragentclass":"Firefox","useragenttoken":"Google Chrome (0.x)","userlocationname":"userlocationname","year":2023,"ztunnelversion":"ZTUNNEL_1_0","zpa_app_seg_name":"ZPA_test_app_segment"}} ``` ### Enabling the integration in Elastic: diff --git a/packages/zscaler_zia/manifest.yml b/packages/zscaler_zia/manifest.yml index b02b0e9795d..814cf24c8db 100644 --- a/packages/zscaler_zia/manifest.yml +++ b/packages/zscaler_zia/manifest.yml @@ -1,7 +1,7 @@ format_version: "3.0.3" name: zscaler_zia title: Zscaler Internet Access -version: "3.2.2" +version: "3.2.3" description: Collect logs from Zscaler Internet Access (ZIA) with Elastic Agent. type: integration categories: From 826114c6c1d5eb3d6dbb0faf33e8ded07f5689a1 Mon Sep 17 00:00:00 2001 From: Ido Cohen <90558359+CohenIdo@users.noreply.github.com> Date: Wed, 28 Aug 2024 12:06:53 +0300 Subject: [PATCH 30/33] Update Wiz vuln data stream to support CDR --- packages/wiz/changelog.yml | 5 +++ .../test-vulnerability.log-expected.json | 19 ++++++++ .../elasticsearch/ingest_pipeline/default.yml | 43 +++++++++++++++++++ .../vulnerability/fields/fields.yml | 24 +++++++++++ .../vulnerability/sample_event.json | 37 ++++++++++++---- packages/wiz/docs/README.md | 43 +++++++++++++++---- packages/wiz/manifest.yml | 2 +- 7 files changed, 154 insertions(+), 19 deletions(-) diff --git a/packages/wiz/changelog.yml b/packages/wiz/changelog.yml index a8b0176ba94..f1337cb5814 100644 --- a/packages/wiz/changelog.yml +++ b/packages/wiz/changelog.yml @@ -1,4 +1,9 @@ # newer versions go on top +- version: "1.7.0" + changes: + - description: Improve support for CDR in vulnerability data stream. + type: enhancement + link: https://github.com/elastic/integrations/pull/10892 - version: "1.6.0" changes: - description: Add cloud_configuration_finding data stream diff --git a/packages/wiz/data_stream/vulnerability/_dev/test/pipeline/test-vulnerability.log-expected.json b/packages/wiz/data_stream/vulnerability/_dev/test/pipeline/test-vulnerability.log-expected.json index 573daea31d4..0df064c5069 100644 --- a/packages/wiz/data_stream/vulnerability/_dev/test/pipeline/test-vulnerability.log-expected.json +++ b/packages/wiz/data_stream/vulnerability/_dev/test/pipeline/test-vulnerability.log-expected.json @@ -28,20 +28,39 @@ } }, "message": "Thepackage`libtiff`version`4.0.3-35.amzn2`wasdetectedin`YUMpackagemanager`onamachinerunning`Amazon2(Karoo)`isvulnerableto`CVE-2020-35522`,whichexistsinversions`<4.0.3-35.amzn2.0.1`.\n\nThevulnerabilitywasfoundinthe[OfficialAmazonLinuxSecurityAdvisories](https://alas.aws.amazon.com/AL2/ALAS-2022-1780.html)withvendorseverity:`Medium`([NVD](https://nvd.nist.gov/vuln/detail/CVE-2020-35522)severity:`Medium`).\n\nThevulnerabilitycanberemediatedbyupdatingthepackagetoversion`4.0.3-35.amzn2.0.1`orhigher,using`yumupdatelibtiff`.", + "observer": { + "vendor": "Wiz" + }, + "package": { + "fixed_version": "4.0.3-35.amzn2.0.1", + "version": "4.0.3-35.amzn2" + }, "related": { "ip": [ "89.160.20.112", "89.160.20.128" ] }, + "resource": { + "id": "arn:aws:ec2:us-east-1:998231069301:instance/i-0a0f7e1451da5f4a3", + "name": "test-4" + }, "tags": [ "preserve_original_event", "preserve_duplicate_custom_fields" ], "vulnerability": { + "cwe": "CVE-2020-3333", "description": "In LibTIFF, there is a memory malloc failure in tif_pixarlog.c. A crafted TIFF document can lead to an abort, resulting in a remote denial of service attack.", "id": "CVE-2020-3333", + "package": { + "fixed_version": "4.0.3-35.amzn2.0.1", + "version": "4.0.3-35.amzn2" + }, "reference": "https://alas.aws.amazon.com/AL2/ALAS-2022-1780.html", + "score": { + "base": 5.5 + }, "severity": "MEDIUM" }, "wiz": { diff --git a/packages/wiz/data_stream/vulnerability/elasticsearch/ingest_pipeline/default.yml b/packages/wiz/data_stream/vulnerability/elasticsearch/ingest_pipeline/default.yml index 4f2153d9ed8..e0e441ed4d1 100644 --- a/packages/wiz/data_stream/vulnerability/elasticsearch/ingest_pipeline/default.yml +++ b/packages/wiz/data_stream/vulnerability/elasticsearch/ingest_pipeline/default.yml @@ -563,6 +563,49 @@ processors: tag: set_pipeline_error_to_event_kind value: pipeline_error if: ctx.error?.message != null + - set: + field: vulnerability.package.fixed_version + tag: set_vulnerability_package_fixed_version + copy_from: wiz.vulnerability.fixed_version + ignore_empty_value: true + - set: + field: package.fixed_version + tag: set_package_fixed_version + copy_from: wiz.vulnerability.fixed_version + ignore_empty_value: true + - set: + field: vulnerability.package.version + tag: set_vulnerability_package_version + copy_from: wiz.vulnerability.version + ignore_empty_value: true + - set: + field: vulnerability.score.base + tag: set_vulnerability_score_base + copy_from: wiz.vulnerability.score + - set: + field: resource.id + tag: set_resource_id + copy_from: wiz.vulnerability.vulnerable_asset.provider_unique_id + ignore_empty_value: true + - set: + field: resource.name + tag: set_resource_name + copy_from: wiz.vulnerability.vulnerable_asset.name + ignore_empty_value: true + - set: + field: package.version + tag: set_package_version + copy_from: wiz.vulnerability.version + ignore_empty_value: true + - set: + field: vulnerability.cwe + tag: set_vulnerability_cwe + copy_from: vulnerability.id + ignore_empty_value: true + - set: + field: observer.vendor + tag: set_observer_vendor + value: 'Wiz' on_failure: - append: field: error.message diff --git a/packages/wiz/data_stream/vulnerability/fields/fields.yml b/packages/wiz/data_stream/vulnerability/fields/fields.yml index efc2c254043..2781632869a 100644 --- a/packages/wiz/data_stream/vulnerability/fields/fields.yml +++ b/packages/wiz/data_stream/vulnerability/fields/fields.yml @@ -154,3 +154,27 @@ type: keyword - name: type type: keyword +- name: vulnerability + type: group + fields: + - name: cwe + type: keyword + - name: package + type: group + fields: + - name: version + type: keyword + - name: fixed_version + type: keyword +- name: resource + type: group + fields: + - name: id + type: keyword + - name: name + type: keyword +- name: package + type: group + fields: + - name: fixed_version + type: keyword diff --git a/packages/wiz/data_stream/vulnerability/sample_event.json b/packages/wiz/data_stream/vulnerability/sample_event.json index 30c01c70b3b..bbb99552cd0 100644 --- a/packages/wiz/data_stream/vulnerability/sample_event.json +++ b/packages/wiz/data_stream/vulnerability/sample_event.json @@ -1,11 +1,11 @@ { "@timestamp": "2023-08-16T18:40:57.000Z", "agent": { - "ephemeral_id": "bd7b9b1e-3c24-48fb-ad27-fc8578793608", - "id": "927b2eff-4394-4486-ab77-d6bfa7c529cf", + "ephemeral_id": "5c846d63-065b-40a3-8cce-c3e8f1276807", + "id": "8296d384-1353-4d79-be72-f8a106bdc5d2", "name": "docker-fleet-agent", "type": "filebeat", - "version": "8.10.1" + "version": "8.13.0" }, "cloud": { "provider": "AWS", @@ -13,7 +13,7 @@ }, "data_stream": { "dataset": "wiz.vulnerability", - "namespace": "ep", + "namespace": "15860", "type": "logs" }, "device": { @@ -23,9 +23,9 @@ "version": "8.11.0" }, "elastic_agent": { - "id": "927b2eff-4394-4486-ab77-d6bfa7c529cf", + "id": "8296d384-1353-4d79-be72-f8a106bdc5d2", "snapshot": false, - "version": "8.10.1" + "version": "8.13.0" }, "event": { "agent_id_status": "verified", @@ -33,7 +33,7 @@ "vulnerability" ], "dataset": "wiz.vulnerability", - "ingested": "2023-10-03T10:23:54Z", + "ingested": "2024-08-27T12:03:01Z", "kind": "alert", "original": "{\"CVEDescription\":\"In LibTIFF, there is a memory malloc failure in tif_pixarlog.c. A crafted TIFF document can lead to an abort, resulting in a remote denial of service attack.\",\"CVSSSeverity\":\"MEDIUM\",\"dataSourceName\":\"data Source\",\"description\":\"Thepackage`libtiff`version`4.0.3-35.amzn2`wasdetectedin`YUMpackagemanager`onamachinerunning`Amazon2(Karoo)`isvulnerableto`CVE-2020-35522`,whichexistsinversions`\\u003c4.0.3-35.amzn2.0.1`.\\n\\nThevulnerabilitywasfoundinthe[OfficialAmazonLinuxSecurityAdvisories](https://alas.aws.amazon.com/AL2/ALAS-2022-1780.html)withvendorseverity:`Medium`([NVD](https://nvd.nist.gov/vuln/detail/CVE-2020-35522)severity:`Medium`).\\n\\nThevulnerabilitycanberemediatedbyupdatingthepackagetoversion`4.0.3-35.amzn2.0.1`orhigher,using`yumupdatelibtiff`.\",\"detailedName\":\"libtiff\",\"detectionMethod\":\"PACKAGE\",\"epssPercentile\":46.2,\"epssProbability\":0.1,\"epssSeverity\":\"LOW\",\"exploitabilityScore\":1.8,\"firstDetectedAt\":\"2022-05-01T11:36:10.063767Z\",\"fixedVersion\":\"4.0.3-35.amzn2.0.1\",\"hasCisaKevExploit\":false,\"hasExploit\":false,\"id\":\"5e95ff50-5490-514e-87f7-11e56f3230ff\",\"ignoreRules\":{\"enabled\":true,\"expiredAt\":\"2023-08-16T18:40:57Z\",\"id\":\"aj3jqtvnaf\",\"name\":\"abc\"},\"impactScore\":3.6,\"lastDetectedAt\":\"2023-08-16T18:40:57Z\",\"layerMetadata\":{\"details\":\"xxxx\",\"id\":\"5e95ff50-5490-514e-87f7-11e56f3230ff\",\"isBaseLayer\":true},\"link\":\"https://alas.aws.amazon.com/AL2/ALAS-2022-1780.html\",\"locationPath\":\"package/library/file\",\"name\":\"CVE-2020-3333\",\"portalUrl\":\"https://app.wiz.io/explorer/vulnerability-findings#~(entity~(~'xxx-xxx*2cSECURITY_TOOL_FINDING))\",\"projects\":[{\"businessUnit\":\"\",\"id\":\"83b76efe-a7b6-5762-8a53-8e8f59e68bd8\",\"name\":\"Project2\",\"riskProfile\":{\"businessImpact\":\"MBI\"},\"slug\":\"project-2\"},{\"businessUnit\":\"Dev\",\"id\":\"af52828c-4eb1-5c4e-847c-ebc3a5ead531\",\"name\":\"project4\",\"riskProfile\":{\"businessImpact\":\"MBI\"},\"slug\":\"project-4\"},{\"businessUnit\":\"Dev\",\"id\":\"d6ac50bb-aec0-52fc-80ab-bacd7b02f178\",\"name\":\"Project1\",\"riskProfile\":{\"businessImpact\":\"MBI\"},\"slug\":\"project1\"}],\"remediation\":\"yumupdatelibtiff\",\"resolutionReason\":\"resolutionReason\",\"resolvedAt\":\"2023-08-16T18:40:57Z\",\"score\":5.5,\"status\":\"OPEN\",\"validatedInRuntime\":true,\"vendorSeverity\":\"MEDIUM\",\"version\":\"4.0.3-35.amzn2\",\"vulnerableAsset\":{\"cloudPlatform\":\"AWS\",\"cloudProviderURL\":\"https://us-east-1.console.aws.amazon.com/ec2/v2/home?region=us-east-1#InstanceDetails:instanceId=i-0a0f7e1451da5f4a3\",\"hasLimitedInternetExposure\":true,\"hasWideInternetExposure\":true,\"id\":\"c828de0d-4c42-5b1c-946b-2edee094d0b3\",\"ipAddresses\":[\"89.160.20.112\",\"89.160.20.128\"],\"isAccessibleFromOtherSubscriptions\":false,\"isAccessibleFromOtherVnets\":false,\"isAccessibleFromVPN\":false,\"name\":\"test-4\",\"operatingSystem\":\"Linux\",\"providerUniqueId\":\"arn:aws:ec2:us-east-1:998231069301:instance/i-0a0f7e1451da5f4a3\",\"region\":\"us-east-1\",\"status\":\"Active\",\"subscriptionExternalId\":\"998231069301\",\"subscriptionId\":\"94e76baa-85fd-5928-b829-1669a2ca9660\",\"subscriptionName\":\"wiz-integrations\",\"tags\":{\"Name\":\"test-4\"},\"type\":\"VIRTUAL_MACHINE\"}}", "type": [ @@ -48,13 +48,24 @@ "input": { "type": "cel" }, - "message": "Thepackage`libtiff`version`4.0.3-35.amzn2`wasdetectedin`YUMpackagemanager`onamachinerunning`Amazon2(Karoo)`isvulnerableto`CVE-2020-35522`,whichexistsinversions`\u003c4.0.3-35.amzn2.0.1`.\n\nThevulnerabilitywasfoundinthe[OfficialAmazonLinuxSecurityAdvisories](https://alas.aws.amazon.com/AL2/ALAS-2022-1780.html)withvendorseverity:`Medium`([NVD](https://nvd.nist.gov/vuln/detail/CVE-2020-35522)severity:`Medium`).\n\nThevulnerabilitycanberemediatedbyupdatingthepackagetoversion`4.0.3-35.amzn2.0.1`orhigher,using`yumupdatelibtiff`.", + "message": "Thepackage`libtiff`version`4.0.3-35.amzn2`wasdetectedin`YUMpackagemanager`onamachinerunning`Amazon2(Karoo)`isvulnerableto`CVE-2020-35522`,whichexistsinversions`<4.0.3-35.amzn2.0.1`.\n\nThevulnerabilitywasfoundinthe[OfficialAmazonLinuxSecurityAdvisories](https://alas.aws.amazon.com/AL2/ALAS-2022-1780.html)withvendorseverity:`Medium`([NVD](https://nvd.nist.gov/vuln/detail/CVE-2020-35522)severity:`Medium`).\n\nThevulnerabilitycanberemediatedbyupdatingthepackagetoversion`4.0.3-35.amzn2.0.1`orhigher,using`yumupdatelibtiff`.", + "observer": { + "vendor": "Wiz" + }, + "package": { + "fixed_version": "4.0.3-35.amzn2.0.1", + "version": "4.0.3-35.amzn2" + }, "related": { "ip": [ "89.160.20.112", "89.160.20.128" ] }, + "resource": { + "id": "arn:aws:ec2:us-east-1:998231069301:instance/i-0a0f7e1451da5f4a3", + "name": "test-4" + }, "tags": [ "preserve_original_event", "preserve_duplicate_custom_fields", @@ -62,9 +73,17 @@ "wiz-vulnerability" ], "vulnerability": { + "cwe": "CVE-2020-3333", "description": "In LibTIFF, there is a memory malloc failure in tif_pixarlog.c. A crafted TIFF document can lead to an abort, resulting in a remote denial of service attack.", "id": "CVE-2020-3333", + "package": { + "fixed_version": "4.0.3-35.amzn2.0.1", + "version": "4.0.3-35.amzn2" + }, "reference": "https://alas.aws.amazon.com/AL2/ALAS-2022-1780.html", + "score": { + "base": 5.5 + }, "severity": "MEDIUM" }, "wiz": { @@ -72,7 +91,7 @@ "cve_description": "In LibTIFF, there is a memory malloc failure in tif_pixarlog.c. A crafted TIFF document can lead to an abort, resulting in a remote denial of service attack.", "cvss_severity": "MEDIUM", "data_source_name": "data Source", - "description": "Thepackage`libtiff`version`4.0.3-35.amzn2`wasdetectedin`YUMpackagemanager`onamachinerunning`Amazon2(Karoo)`isvulnerableto`CVE-2020-35522`,whichexistsinversions`\u003c4.0.3-35.amzn2.0.1`.\n\nThevulnerabilitywasfoundinthe[OfficialAmazonLinuxSecurityAdvisories](https://alas.aws.amazon.com/AL2/ALAS-2022-1780.html)withvendorseverity:`Medium`([NVD](https://nvd.nist.gov/vuln/detail/CVE-2020-35522)severity:`Medium`).\n\nThevulnerabilitycanberemediatedbyupdatingthepackagetoversion`4.0.3-35.amzn2.0.1`orhigher,using`yumupdatelibtiff`.", + "description": "Thepackage`libtiff`version`4.0.3-35.amzn2`wasdetectedin`YUMpackagemanager`onamachinerunning`Amazon2(Karoo)`isvulnerableto`CVE-2020-35522`,whichexistsinversions`<4.0.3-35.amzn2.0.1`.\n\nThevulnerabilitywasfoundinthe[OfficialAmazonLinuxSecurityAdvisories](https://alas.aws.amazon.com/AL2/ALAS-2022-1780.html)withvendorseverity:`Medium`([NVD](https://nvd.nist.gov/vuln/detail/CVE-2020-35522)severity:`Medium`).\n\nThevulnerabilitycanberemediatedbyupdatingthepackagetoversion`4.0.3-35.amzn2.0.1`orhigher,using`yumupdatelibtiff`.", "detailed_name": "libtiff", "detection_method": "PACKAGE", "epss": { diff --git a/packages/wiz/docs/README.md b/packages/wiz/docs/README.md index 0c0a622d48b..98aa9c7a55d 100644 --- a/packages/wiz/docs/README.md +++ b/packages/wiz/docs/README.md @@ -630,11 +630,11 @@ An example event for `vulnerability` looks as following: { "@timestamp": "2023-08-16T18:40:57.000Z", "agent": { - "ephemeral_id": "bd7b9b1e-3c24-48fb-ad27-fc8578793608", - "id": "927b2eff-4394-4486-ab77-d6bfa7c529cf", + "ephemeral_id": "5c846d63-065b-40a3-8cce-c3e8f1276807", + "id": "8296d384-1353-4d79-be72-f8a106bdc5d2", "name": "docker-fleet-agent", "type": "filebeat", - "version": "8.10.1" + "version": "8.13.0" }, "cloud": { "provider": "AWS", @@ -642,7 +642,7 @@ An example event for `vulnerability` looks as following: }, "data_stream": { "dataset": "wiz.vulnerability", - "namespace": "ep", + "namespace": "15860", "type": "logs" }, "device": { @@ -652,9 +652,9 @@ An example event for `vulnerability` looks as following: "version": "8.11.0" }, "elastic_agent": { - "id": "927b2eff-4394-4486-ab77-d6bfa7c529cf", + "id": "8296d384-1353-4d79-be72-f8a106bdc5d2", "snapshot": false, - "version": "8.10.1" + "version": "8.13.0" }, "event": { "agent_id_status": "verified", @@ -662,7 +662,7 @@ An example event for `vulnerability` looks as following: "vulnerability" ], "dataset": "wiz.vulnerability", - "ingested": "2023-10-03T10:23:54Z", + "ingested": "2024-08-27T12:03:01Z", "kind": "alert", "original": "{\"CVEDescription\":\"In LibTIFF, there is a memory malloc failure in tif_pixarlog.c. A crafted TIFF document can lead to an abort, resulting in a remote denial of service attack.\",\"CVSSSeverity\":\"MEDIUM\",\"dataSourceName\":\"data Source\",\"description\":\"Thepackage`libtiff`version`4.0.3-35.amzn2`wasdetectedin`YUMpackagemanager`onamachinerunning`Amazon2(Karoo)`isvulnerableto`CVE-2020-35522`,whichexistsinversions`\\u003c4.0.3-35.amzn2.0.1`.\\n\\nThevulnerabilitywasfoundinthe[OfficialAmazonLinuxSecurityAdvisories](https://alas.aws.amazon.com/AL2/ALAS-2022-1780.html)withvendorseverity:`Medium`([NVD](https://nvd.nist.gov/vuln/detail/CVE-2020-35522)severity:`Medium`).\\n\\nThevulnerabilitycanberemediatedbyupdatingthepackagetoversion`4.0.3-35.amzn2.0.1`orhigher,using`yumupdatelibtiff`.\",\"detailedName\":\"libtiff\",\"detectionMethod\":\"PACKAGE\",\"epssPercentile\":46.2,\"epssProbability\":0.1,\"epssSeverity\":\"LOW\",\"exploitabilityScore\":1.8,\"firstDetectedAt\":\"2022-05-01T11:36:10.063767Z\",\"fixedVersion\":\"4.0.3-35.amzn2.0.1\",\"hasCisaKevExploit\":false,\"hasExploit\":false,\"id\":\"5e95ff50-5490-514e-87f7-11e56f3230ff\",\"ignoreRules\":{\"enabled\":true,\"expiredAt\":\"2023-08-16T18:40:57Z\",\"id\":\"aj3jqtvnaf\",\"name\":\"abc\"},\"impactScore\":3.6,\"lastDetectedAt\":\"2023-08-16T18:40:57Z\",\"layerMetadata\":{\"details\":\"xxxx\",\"id\":\"5e95ff50-5490-514e-87f7-11e56f3230ff\",\"isBaseLayer\":true},\"link\":\"https://alas.aws.amazon.com/AL2/ALAS-2022-1780.html\",\"locationPath\":\"package/library/file\",\"name\":\"CVE-2020-3333\",\"portalUrl\":\"https://app.wiz.io/explorer/vulnerability-findings#~(entity~(~'xxx-xxx*2cSECURITY_TOOL_FINDING))\",\"projects\":[{\"businessUnit\":\"\",\"id\":\"83b76efe-a7b6-5762-8a53-8e8f59e68bd8\",\"name\":\"Project2\",\"riskProfile\":{\"businessImpact\":\"MBI\"},\"slug\":\"project-2\"},{\"businessUnit\":\"Dev\",\"id\":\"af52828c-4eb1-5c4e-847c-ebc3a5ead531\",\"name\":\"project4\",\"riskProfile\":{\"businessImpact\":\"MBI\"},\"slug\":\"project-4\"},{\"businessUnit\":\"Dev\",\"id\":\"d6ac50bb-aec0-52fc-80ab-bacd7b02f178\",\"name\":\"Project1\",\"riskProfile\":{\"businessImpact\":\"MBI\"},\"slug\":\"project1\"}],\"remediation\":\"yumupdatelibtiff\",\"resolutionReason\":\"resolutionReason\",\"resolvedAt\":\"2023-08-16T18:40:57Z\",\"score\":5.5,\"status\":\"OPEN\",\"validatedInRuntime\":true,\"vendorSeverity\":\"MEDIUM\",\"version\":\"4.0.3-35.amzn2\",\"vulnerableAsset\":{\"cloudPlatform\":\"AWS\",\"cloudProviderURL\":\"https://us-east-1.console.aws.amazon.com/ec2/v2/home?region=us-east-1#InstanceDetails:instanceId=i-0a0f7e1451da5f4a3\",\"hasLimitedInternetExposure\":true,\"hasWideInternetExposure\":true,\"id\":\"c828de0d-4c42-5b1c-946b-2edee094d0b3\",\"ipAddresses\":[\"89.160.20.112\",\"89.160.20.128\"],\"isAccessibleFromOtherSubscriptions\":false,\"isAccessibleFromOtherVnets\":false,\"isAccessibleFromVPN\":false,\"name\":\"test-4\",\"operatingSystem\":\"Linux\",\"providerUniqueId\":\"arn:aws:ec2:us-east-1:998231069301:instance/i-0a0f7e1451da5f4a3\",\"region\":\"us-east-1\",\"status\":\"Active\",\"subscriptionExternalId\":\"998231069301\",\"subscriptionId\":\"94e76baa-85fd-5928-b829-1669a2ca9660\",\"subscriptionName\":\"wiz-integrations\",\"tags\":{\"Name\":\"test-4\"},\"type\":\"VIRTUAL_MACHINE\"}}", "type": [ @@ -677,13 +677,24 @@ An example event for `vulnerability` looks as following: "input": { "type": "cel" }, - "message": "Thepackage`libtiff`version`4.0.3-35.amzn2`wasdetectedin`YUMpackagemanager`onamachinerunning`Amazon2(Karoo)`isvulnerableto`CVE-2020-35522`,whichexistsinversions`\u003c4.0.3-35.amzn2.0.1`.\n\nThevulnerabilitywasfoundinthe[OfficialAmazonLinuxSecurityAdvisories](https://alas.aws.amazon.com/AL2/ALAS-2022-1780.html)withvendorseverity:`Medium`([NVD](https://nvd.nist.gov/vuln/detail/CVE-2020-35522)severity:`Medium`).\n\nThevulnerabilitycanberemediatedbyupdatingthepackagetoversion`4.0.3-35.amzn2.0.1`orhigher,using`yumupdatelibtiff`.", + "message": "Thepackage`libtiff`version`4.0.3-35.amzn2`wasdetectedin`YUMpackagemanager`onamachinerunning`Amazon2(Karoo)`isvulnerableto`CVE-2020-35522`,whichexistsinversions`<4.0.3-35.amzn2.0.1`.\n\nThevulnerabilitywasfoundinthe[OfficialAmazonLinuxSecurityAdvisories](https://alas.aws.amazon.com/AL2/ALAS-2022-1780.html)withvendorseverity:`Medium`([NVD](https://nvd.nist.gov/vuln/detail/CVE-2020-35522)severity:`Medium`).\n\nThevulnerabilitycanberemediatedbyupdatingthepackagetoversion`4.0.3-35.amzn2.0.1`orhigher,using`yumupdatelibtiff`.", + "observer": { + "vendor": "Wiz" + }, + "package": { + "fixed_version": "4.0.3-35.amzn2.0.1", + "version": "4.0.3-35.amzn2" + }, "related": { "ip": [ "89.160.20.112", "89.160.20.128" ] }, + "resource": { + "id": "arn:aws:ec2:us-east-1:998231069301:instance/i-0a0f7e1451da5f4a3", + "name": "test-4" + }, "tags": [ "preserve_original_event", "preserve_duplicate_custom_fields", @@ -691,9 +702,17 @@ An example event for `vulnerability` looks as following: "wiz-vulnerability" ], "vulnerability": { + "cwe": "CVE-2020-3333", "description": "In LibTIFF, there is a memory malloc failure in tif_pixarlog.c. A crafted TIFF document can lead to an abort, resulting in a remote denial of service attack.", "id": "CVE-2020-3333", + "package": { + "fixed_version": "4.0.3-35.amzn2.0.1", + "version": "4.0.3-35.amzn2" + }, "reference": "https://alas.aws.amazon.com/AL2/ALAS-2022-1780.html", + "score": { + "base": 5.5 + }, "severity": "MEDIUM" }, "wiz": { @@ -701,7 +720,7 @@ An example event for `vulnerability` looks as following: "cve_description": "In LibTIFF, there is a memory malloc failure in tif_pixarlog.c. A crafted TIFF document can lead to an abort, resulting in a remote denial of service attack.", "cvss_severity": "MEDIUM", "data_source_name": "data Source", - "description": "Thepackage`libtiff`version`4.0.3-35.amzn2`wasdetectedin`YUMpackagemanager`onamachinerunning`Amazon2(Karoo)`isvulnerableto`CVE-2020-35522`,whichexistsinversions`\u003c4.0.3-35.amzn2.0.1`.\n\nThevulnerabilitywasfoundinthe[OfficialAmazonLinuxSecurityAdvisories](https://alas.aws.amazon.com/AL2/ALAS-2022-1780.html)withvendorseverity:`Medium`([NVD](https://nvd.nist.gov/vuln/detail/CVE-2020-35522)severity:`Medium`).\n\nThevulnerabilitycanberemediatedbyupdatingthepackagetoversion`4.0.3-35.amzn2.0.1`orhigher,using`yumupdatelibtiff`.", + "description": "Thepackage`libtiff`version`4.0.3-35.amzn2`wasdetectedin`YUMpackagemanager`onamachinerunning`Amazon2(Karoo)`isvulnerableto`CVE-2020-35522`,whichexistsinversions`<4.0.3-35.amzn2.0.1`.\n\nThevulnerabilitywasfoundinthe[OfficialAmazonLinuxSecurityAdvisories](https://alas.aws.amazon.com/AL2/ALAS-2022-1780.html)withvendorseverity:`Medium`([NVD](https://nvd.nist.gov/vuln/detail/CVE-2020-35522)severity:`Medium`).\n\nThevulnerabilitycanberemediatedbyupdatingthepackagetoversion`4.0.3-35.amzn2.0.1`orhigher,using`yumupdatelibtiff`.", "detailed_name": "libtiff", "detection_method": "PACKAGE", "epss": { @@ -817,6 +836,12 @@ An example event for `vulnerability` looks as following: | event.module | Event module. | constant_keyword | | input.type | Type of filebeat input. | keyword | | log.offset | Log offset. | long | +| package.fixed_version | | keyword | +| resource.id | | keyword | +| resource.name | | keyword | +| vulnerability.cwe | | keyword | +| vulnerability.package.fixed_version | | keyword | +| vulnerability.package.version | | keyword | | wiz.vulnerability.cve_description | | keyword | | wiz.vulnerability.cvss_severity | | keyword | | wiz.vulnerability.data_source_name | | keyword | diff --git a/packages/wiz/manifest.yml b/packages/wiz/manifest.yml index 739c6a2e67d..bbdd35b58df 100644 --- a/packages/wiz/manifest.yml +++ b/packages/wiz/manifest.yml @@ -1,7 +1,7 @@ format_version: 3.0.2 name: wiz title: Wiz -version: "1.6.0" +version: "1.7.0" description: Collect logs from Wiz with Elastic Agent. type: integration categories: From ed87221c447a2bdc25d67ede42063e2ebbf145c3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Chema=20Mart=C3=ADnez?= Date: Wed, 28 Aug 2024 16:27:34 +0200 Subject: [PATCH 31/33] [Crowdstrike] Fix handling of event.created and timestamp fields for FDR events (#10862) Remove the use of AgentLocalTime and ContextTimeStamp as the event timestamp. The reason of this is the use of local timestamps (non UTC) as the @timestamp without taking the timezone into account. --- packages/crowdstrike/changelog.yml | 5 + .../test/pipeline/test-fdr.log-expected.json | 248 ++++++++++++------ .../_dev/test/system/test-default-config.yml | 2 +- .../test/system/test-keep-metadata-config.yml | 2 +- .../elasticsearch/ingest_pipeline/default.yml | 23 +- .../data_stream/fdr/fields/fields.yml | 5 +- packages/crowdstrike/docs/README.md | 2 +- packages/crowdstrike/manifest.yml | 2 +- 8 files changed, 184 insertions(+), 105 deletions(-) diff --git a/packages/crowdstrike/changelog.yml b/packages/crowdstrike/changelog.yml index 47848ee5ab5..5ecc4efcfaf 100644 --- a/packages/crowdstrike/changelog.yml +++ b/packages/crowdstrike/changelog.yml @@ -1,4 +1,9 @@ # newer versions go on top +- version: "1.39.3" + changes: + - description: Fix handling of event.created and timestamp fields for FDR events. + type: bugfix + link: https://github.com/elastic/integrations/pull/10862 - version: "1.39.2" changes: - description: Fix cursor timestamp handling. diff --git a/packages/crowdstrike/data_stream/fdr/_dev/test/pipeline/test-fdr.log-expected.json b/packages/crowdstrike/data_stream/fdr/_dev/test/pipeline/test-fdr.log-expected.json index 79253fb8dbc..876f7d1271b 100644 --- a/packages/crowdstrike/data_stream/fdr/_dev/test/pipeline/test-fdr.log-expected.json +++ b/packages/crowdstrike/data_stream/fdr/_dev/test/pipeline/test-fdr.log-expected.json @@ -1,9 +1,10 @@ { "expected": [ { - "@timestamp": "2021-07-07T17:05:21.137Z", + "@timestamp": "2021-07-07T17:05:21.162Z", "crowdstrike": { "ConfigStateHash": "1620585913", + "ContextTimeStamp": "2021-07-07T17:05:21.137Z", "EffectiveTransmissionClass": "2", "Entitlements": "15", "RGID": "501", @@ -99,11 +100,12 @@ } }, { - "@timestamp": "2021-07-07T17:05:23.068Z", + "@timestamp": "2021-07-07T17:05:24.102Z", "crowdstrike": { "AsepWrittenCount": 0, "ConfigStateHash": "3090255842", "ContextProcessId": "365053603452626914", + "ContextTimeStamp": "2021-07-07T17:05:23.068Z", "DirectoryCreatedCount": 0, "DnsRequestCount": 0, "EffectiveTransmissionClass": "3", @@ -188,10 +190,11 @@ } }, { - "@timestamp": "2021-07-07T17:04:48.594Z", + "@timestamp": "2021-07-07T17:04:48.615Z", "crowdstrike": { "ConfigStateHash": "1620585913", "ConnectionFlags": "0", + "ContextTimeStamp": "2021-07-07T17:04:48.594Z", "EffectiveTransmissionClass": "3", "Entitlements": "15", "InContext": "0", @@ -575,10 +578,11 @@ } }, { - "@timestamp": "2021-07-07T17:05:04.982Z", + "@timestamp": "2021-07-07T17:05:05.511Z", "crowdstrike": { "ConfigStateHash": "1701000200", "ConnectionFlags": "0", + "ContextTimeStamp": "2021-07-07T17:05:04.982Z", "EffectiveTransmissionClass": "3", "Entitlements": "15", "InContext": "0", @@ -681,10 +685,11 @@ } }, { - "@timestamp": "2021-07-07T17:05:21.866Z", + "@timestamp": "2021-07-07T17:05:22.009Z", "crowdstrike": { "ConfigStateHash": "3090255842", "ConnectionFlags": "0", + "ContextTimeStamp": "2021-07-07T17:05:21.866Z", "EffectiveTransmissionClass": "3", "Entitlements": "15", "InContext": "0", @@ -785,10 +790,11 @@ } }, { - "@timestamp": "2021-07-07T17:05:23.901Z", + "@timestamp": "2021-07-07T17:05:24.048Z", "crowdstrike": { "ConfigStateHash": "3090255842", "ConnectionFlags": "0", + "ContextTimeStamp": "2021-07-07T17:05:23.901Z", "EffectiveTransmissionClass": "3", "Entitlements": "15", "InContext": "0", @@ -987,10 +993,11 @@ } }, { - "@timestamp": "2021-07-07T17:05:03.713Z", + "@timestamp": "2021-07-07T17:05:03.947Z", "crowdstrike": { "ConfigStateHash": "1701000200", "ConnectionFlags": "0", + "ContextTimeStamp": "2021-07-07T17:05:03.713Z", "EffectiveTransmissionClass": "3", "Entitlements": "15", "InContext": "0", @@ -1079,9 +1086,10 @@ } }, { - "@timestamp": "2021-07-07T17:05:20.973Z", + "@timestamp": "2021-07-07T17:05:21.081Z", "crowdstrike": { "ConfigStateHash": "3090255842", + "ContextTimeStamp": "2021-07-07T17:05:20.973Z", "EffectiveTransmissionClass": "2", "Entitlements": "15", "cid": "ffffffff15754bcfb5f9152ec7ac90ac", @@ -1159,10 +1167,11 @@ } }, { - "@timestamp": "2021-07-07T17:05:30.308Z", + "@timestamp": "2021-07-07T17:05:30.841Z", "crowdstrike": { "ConfigStateHash": "3469235958", "ConnectionFlags": "0", + "ContextTimeStamp": "2021-07-07T17:05:30.308Z", "EffectiveTransmissionClass": "3", "Entitlements": "15", "InContext": "0", @@ -1561,9 +1570,10 @@ } }, { - "@timestamp": "2021-07-07T17:05:28.570Z", + "@timestamp": "2021-07-07T17:05:28.717Z", "crowdstrike": { "ConfigStateHash": "3090255842", + "ContextTimeStamp": "2021-07-07T17:05:28.570Z", "EffectiveTransmissionClass": "2", "Entitlements": "15", "cid": "ffffffff15754bcfb5f9152ec7ac90ac", @@ -1642,10 +1652,11 @@ } }, { - "@timestamp": "2021-07-07T17:05:12.700Z", + "@timestamp": "2021-07-07T17:05:12.892Z", "crowdstrike": { "ConfigStateHash": "1620585913", "ConnectionFlags": "0", + "ContextTimeStamp": "2021-07-07T17:05:12.700Z", "EffectiveTransmissionClass": "3", "Entitlements": "15", "InContext": "0", @@ -1746,9 +1757,10 @@ } }, { - "@timestamp": "2021-07-07T17:04:35.806Z", + "@timestamp": "2021-07-07T17:04:36.111Z", "crowdstrike": { "ConfigStateHash": "1620585913", + "ContextTimeStamp": "2021-07-07T17:04:35.806Z", "EffectiveTransmissionClass": "2", "Entitlements": "15", "cid": "ffffffff15754bcfb5f9152ec7ac90ac", @@ -1829,9 +1841,10 @@ } }, { - "@timestamp": "2021-07-07T17:05:04.770Z", + "@timestamp": "2021-07-07T17:05:40.055Z", "crowdstrike": { "ConfigStateHash": "1620585913", + "ContextTimeStamp": "2021-07-07T17:05:04.770Z", "EffectiveTransmissionClass": "2", "Entitlements": "15", "cid": "ffffffff15754bcfb5f9152ec7ac90ac", @@ -1996,9 +2009,10 @@ } }, { - "@timestamp": "2021-07-07T17:04:59.994Z", + "@timestamp": "2021-07-07T17:05:00.089Z", "crowdstrike": { "ConfigStateHash": "3090255842", + "ContextTimeStamp": "2021-07-07T17:04:59.994Z", "EffectiveTransmissionClass": "2", "Entitlements": "15", "Flags": "0", @@ -2084,10 +2098,11 @@ } }, { - "@timestamp": "2021-07-07T17:05:17.658Z", + "@timestamp": "2021-07-07T17:05:17.986Z", "crowdstrike": { "ConfigStateHash": "1479784503", "ConnectionFlags": "0", + "ContextTimeStamp": "2021-07-07T17:05:17.658Z", "EffectiveTransmissionClass": "3", "Entitlements": "15", "InContext": "0", @@ -2201,9 +2216,10 @@ } }, { - "@timestamp": "2021-07-07T17:04:56.750Z", + "@timestamp": "2021-07-07T17:04:56.804Z", "crowdstrike": { "ConfigStateHash": "3090255842", + "ContextTimeStamp": "2021-07-07T17:04:56.750Z", "EffectiveTransmissionClass": "2", "Entitlements": "15", "VolumeAppearanceTime": "1625677422.647", @@ -2580,10 +2596,11 @@ } }, { - "@timestamp": "2021-07-07T17:05:07.037Z", + "@timestamp": "2021-07-07T17:05:07.086Z", "crowdstrike": { "ConfigStateHash": "3090255842", "ConnectionFlags": "0", + "ContextTimeStamp": "2021-07-07T17:05:07.037Z", "EffectiveTransmissionClass": "3", "Entitlements": "15", "InContext": "0", @@ -2671,9 +2688,10 @@ } }, { - "@timestamp": "2021-07-07T17:05:36.729Z", + "@timestamp": "2021-07-07T17:05:36.784Z", "crowdstrike": { "ConfigStateHash": "3090255842", + "ContextTimeStamp": "2021-07-07T17:05:36.729Z", "EffectiveTransmissionClass": "2", "Entitlements": "15", "cid": "ffffffff15754bcfb5f9152ec7ac90ac", @@ -2750,9 +2768,10 @@ } }, { - "@timestamp": "2021-07-07T17:05:04.542Z", + "@timestamp": "2021-07-07T17:05:04.614Z", "crowdstrike": { "ConfigStateHash": "3090255842", + "ContextTimeStamp": "2021-07-07T17:05:04.542Z", "EffectiveTransmissionClass": "2", "Entitlements": "15", "cid": "ffffffff15754bcfb5f9152ec7ac90ac", @@ -2823,9 +2842,10 @@ } }, { - "@timestamp": "2021-07-07T01:52:50.595Z", + "@timestamp": "2021-07-07T17:04:40.056Z", "crowdstrike": { "ConfigStateHash": "3967242894", + "ContextTimeStamp": "2021-07-07T01:52:50.595Z", "EffectiveTransmissionClass": "2", "Entitlements": "15", "IOServiceClass": "IOUSBDevice:IOUSBNub:IOService:IORegistryEntry:OSObject", @@ -2893,9 +2913,10 @@ } }, { - "@timestamp": "2021-07-07T01:50:02.031Z", + "@timestamp": "2021-07-07T17:04:38.739Z", "crowdstrike": { "ConfigStateHash": "3967242894", + "ContextTimeStamp": "2021-07-07T01:50:02.031Z", "DeviceId": "251658248", "EffectiveTransmissionClass": "2", "Entitlements": "15", @@ -3059,10 +3080,11 @@ } }, { - "@timestamp": "2021-07-07T17:04:34.875Z", + "@timestamp": "2021-07-07T17:04:35.413Z", "crowdstrike": { "ConfigStateHash": "1701000200", "ConnectionFlags": "0", + "ContextTimeStamp": "2021-07-07T17:04:34.875Z", "EffectiveTransmissionClass": "3", "Entitlements": "15", "InContext": "0", @@ -3224,9 +3246,10 @@ } }, { - "@timestamp": "2021-07-07T17:04:53.531Z", + "@timestamp": "2021-07-07T17:04:53.756Z", "crowdstrike": { "ConfigStateHash": "3090255842", + "ContextTimeStamp": "2021-07-07T17:04:53.531Z", "EffectiveTransmissionClass": "2", "Entitlements": "15", "RequestType": "1", @@ -3467,10 +3490,11 @@ } }, { - "@timestamp": "2021-07-07T17:05:09.064Z", + "@timestamp": "2021-07-07T17:05:09.069Z", "crowdstrike": { "BundleID": "com.apple.driver.AudioAUUC", "ConfigStateHash": "1620585913", + "ContextTimeStamp": "2021-07-07T17:05:09.064Z", "EffectiveTransmissionClass": "2", "Entitlements": "15", "cid": "ffffffff15754bcfb5f9152ec7ac90ac", @@ -3844,9 +3868,10 @@ } }, { - "@timestamp": "2021-07-07T17:05:24.929Z", + "@timestamp": "2021-07-07T17:05:25.128Z", "crowdstrike": { "ConfigStateHash": "3090255842", + "ContextTimeStamp": "2021-07-07T17:05:24.929Z", "EffectiveTransmissionClass": "2", "Entitlements": "15", "cid": "ffffffff15754bcfb5f9152ec7ac90ac", @@ -3945,9 +3970,10 @@ } }, { - "@timestamp": "2021-07-07T17:04:48.523Z", + "@timestamp": "2021-07-07T17:04:48.576Z", "crowdstrike": { "ConfigStateHash": "3090255842", + "ContextTimeStamp": "2021-07-07T17:04:48.523Z", "EffectiveTransmissionClass": "2", "Entitlements": "15", "cid": "ffffffff15754bcfb5f9152ec7ac90ac", @@ -4099,9 +4125,10 @@ } }, { - "@timestamp": "2021-07-07T01:50:11.845Z", + "@timestamp": "2021-07-07T17:04:39.336Z", "crowdstrike": { "ConfigStateHash": "3967242894", + "ContextTimeStamp": "2021-07-07T01:50:11.845Z", "EffectiveTransmissionClass": "2", "Entitlements": "15", "MachOSubType": "3", @@ -4186,10 +4213,11 @@ } }, { - "@timestamp": "2021-07-07T01:50:08.014Z", + "@timestamp": "2021-07-07T17:04:38.929Z", "crowdstrike": { "ConfigStateHash": "3967242894", "ConnectionFlags": "0", + "ContextTimeStamp": "2021-07-07T01:50:08.014Z", "EffectiveTransmissionClass": "3", "Entitlements": "15", "InContext": "0", @@ -4466,9 +4494,10 @@ } }, { - "@timestamp": "2021-07-07T17:05:33.027Z", + "@timestamp": "2021-07-07T17:05:33.060Z", "crowdstrike": { "ConfigStateHash": "1620585913", + "ContextTimeStamp": "2021-07-07T17:05:33.027Z", "EffectiveTransmissionClass": "2", "Entitlements": "15", "VnodeModificationType": "0", @@ -4914,9 +4943,10 @@ } }, { - "@timestamp": "2021-07-07T17:04:14.557Z", + "@timestamp": "2021-07-07T17:04:14.723Z", "crowdstrike": { "ConfigStateHash": "3090255842", + "ContextTimeStamp": "2021-07-07T17:04:14.557Z", "EffectiveTransmissionClass": "2", "Entitlements": "15", "cid": "ffffffff15754bcfb5f9152ec7ac90ac", @@ -4995,7 +5025,7 @@ } }, { - "@timestamp": "2021-07-07T17:04:05.731Z", + "@timestamp": "2021-07-07T17:04:20.451Z", "crowdstrike": { "AgentLoadFlags": "0", "AgentLocalTime": "2021-07-07T17:04:05.731Z", @@ -5010,6 +5040,7 @@ "ConfigIDPlatform": "4", "ConfigStateHash": "3967242894", "ConfigurationVersion": "10", + "ContextTimeStamp": "2021-07-07T17:04:05.731Z", "CpuFeaturesMask": "7494065083858915", "CpuSignature": "591594", "CpuVendor": "0", @@ -5098,9 +5129,10 @@ } }, { - "@timestamp": "2021-07-07T17:03:58.515Z", + "@timestamp": "2021-07-07T17:03:58.553Z", "crowdstrike": { "ConfigStateHash": "3090255842", + "ContextTimeStamp": "2021-07-07T17:03:58.515Z", "EffectiveTransmissionClass": "2", "Entitlements": "15", "UnixMode": "384", @@ -5427,9 +5459,10 @@ } }, { - "@timestamp": "2021-07-07T17:02:33.633Z", + "@timestamp": "2021-07-07T17:02:33.895Z", "crowdstrike": { "ConfigStateHash": "3090255842", + "ContextTimeStamp": "2021-07-07T17:02:33.633Z", "EffectiveTransmissionClass": "2", "Entitlements": "15", "cid": "ffffffff15754bcfb5f9152ec7ac90ac", @@ -5675,9 +5708,10 @@ } }, { - "@timestamp": "2021-07-07T17:04:42.148Z", + "@timestamp": "2021-07-07T17:04:42.403Z", "crowdstrike": { "ConfigStateHash": "1620585913", + "ContextTimeStamp": "2021-07-07T17:04:42.148Z", "EffectiveTransmissionClass": "2", "Entitlements": "15", "VnodeModificationType": "6", @@ -5756,10 +5790,11 @@ } }, { - "@timestamp": "2021-07-07T17:05:10.959Z", + "@timestamp": "2021-07-07T17:05:11.067Z", "crowdstrike": { "ConfigStateHash": "1284133626", "ContextProcessId": "130732827553316", + "ContextTimeStamp": "2021-07-07T17:05:10.959Z", "EffectiveTransmissionClass": "2", "Entitlements": "15", "cid": "ffffffff15754bcfb5f9152ec7ac90ac", @@ -5899,9 +5934,10 @@ } }, { - "@timestamp": "2021-07-07T17:02:12.283Z", + "@timestamp": "2021-07-07T17:02:14.451Z", "crowdstrike": { "ConfigStateHash": "3090255842", + "ContextTimeStamp": "2021-07-07T17:02:12.283Z", "EffectiveTransmissionClass": "2", "Entitlements": "15", "VolumeIsNetwork": "0", @@ -5970,10 +6006,11 @@ } }, { - "@timestamp": "2021-07-07T17:04:34.525Z", + "@timestamp": "2021-07-07T17:04:34.879Z", "crowdstrike": { "ConfigStateHash": "2300098580", "ConnectionFlags": "0", + "ContextTimeStamp": "2021-07-07T17:04:34.525Z", "EffectiveTransmissionClass": "3", "Entitlements": "15", "InContext": "0", @@ -6061,9 +6098,10 @@ } }, { - "@timestamp": "2021-07-07T17:05:26.828Z", + "@timestamp": "2021-07-07T17:05:27.114Z", "crowdstrike": { "ConfigStateHash": "1620585913", + "ContextTimeStamp": "2021-07-07T17:05:26.828Z", "ELFSubType": "4", "EffectiveTransmissionClass": "2", "Entitlements": "15", @@ -6224,9 +6262,10 @@ } }, { - "@timestamp": "2021-07-07T17:03:59.099Z", + "@timestamp": "2021-07-07T17:03:59.398Z", "crowdstrike": { "ConfigStateHash": "3090255842", + "ContextTimeStamp": "2021-07-07T17:03:59.099Z", "EffectiveTransmissionClass": "2", "Entitlements": "15", "USN": "89566685", @@ -6386,9 +6425,10 @@ } }, { - "@timestamp": "2021-07-07T17:03:02.785Z", + "@timestamp": "2021-07-07T17:03:03.057Z", "crowdstrike": { "ConfigStateHash": "1325353086", + "ContextTimeStamp": "2021-07-07T17:03:02.785Z", "EffectiveTransmissionClass": "2", "Entitlements": "15", "IsOnRemovableDisk": "0", @@ -6833,11 +6873,12 @@ } }, { - "@timestamp": "2020-11-08T17:04:56.730Z", + "@timestamp": "2020-11-08T17:04:59.646Z", "crowdstrike": { "AsepWrittenCount": 0, "ConfigStateHash": "1789338890", "ContextProcessId": "317713210176499254", + "ContextTimeStamp": "2020-11-08T17:04:56.730Z", "DirectoryCreatedCount": 0, "DnsRequestCount": 0, "Entitlements": "15", @@ -6925,7 +6966,7 @@ } }, { - "@timestamp": "2020-11-08T17:04:57.926Z", + "@timestamp": "2020-11-08T17:04:59.935Z", "crowdstrike": { "AllocateVirtualMemoryCount": 0, "ArchiveFileWrittenCount": 0, @@ -6936,6 +6977,7 @@ "ConHostProcessId": "3099352216141", "ConfigStateHash": "3343111420", "ContextProcessId": "3100508103359", + "ContextTimeStamp": "2020-11-08T17:04:57.926Z", "CreateProcessCount": 0, "CycleTime": 2937514388, "DirectoryCreatedCount": 0, @@ -7066,11 +7108,12 @@ } }, { - "@timestamp": "2020-11-08T17:05:01.341Z", + "@timestamp": "2020-11-08T17:05:00.139Z", "crowdstrike": { "AsepWrittenCount": 0, "ConfigStateHash": "3344040805", "ContextProcessId": "311775981885093125", + "ContextTimeStamp": "2020-11-08T17:05:01.341Z", "DirectoryCreatedCount": 0, "DnsRequestCount": 0, "Entitlements": "15", @@ -7269,9 +7312,10 @@ } }, { - "@timestamp": "2020-11-08T17:04:55.961Z", + "@timestamp": "2020-11-08T17:04:59.913Z", "crowdstrike": { "ConfigStateHash": "2784638081", + "ContextTimeStamp": "2020-11-08T17:04:55.961Z", "DnsRequestCount": 1, "DualRequest": "0", "EffectiveTransmissionClass": "3", @@ -7351,9 +7395,10 @@ } }, { - "@timestamp": "2020-11-08T17:05:01.645Z", + "@timestamp": "2020-11-08T17:05:02.247Z", "crowdstrike": { "ConfigStateHash": "4288861242", + "ContextTimeStamp": "2020-11-08T17:05:01.645Z", "Entitlements": "15", "UnixMode": "32768", "cid": "ffffffff30a3407dae27d0503611022d", @@ -7546,9 +7591,10 @@ } }, { - "@timestamp": "2020-11-08T17:05:14.133Z", + "@timestamp": "2020-11-08T17:05:14.427Z", "crowdstrike": { "ConfigStateHash": "3899738370", + "ContextTimeStamp": "2020-11-08T17:05:14.133Z", "DesiredAccess": "1180054", "EffectiveTransmissionClass": "3", "Entitlements": "15", @@ -7638,10 +7684,11 @@ } }, { - "@timestamp": "2020-11-08T17:05:16.421Z", + "@timestamp": "2020-11-08T17:05:16.502Z", "crowdstrike": { "ConfigStateHash": "1306766522", "ConnectionFlags": "0", + "ContextTimeStamp": "2020-11-08T17:05:16.421Z", "Entitlements": "15", "InContext": "0", "LocalAddressIP4": [ @@ -7742,10 +7789,11 @@ } }, { - "@timestamp": "2020-11-08T17:05:16.849Z", + "@timestamp": "2020-11-08T17:05:16.942Z", "crowdstrike": { "ConfigStateHash": "2602391615", "ConnectionFlags": "0", + "ContextTimeStamp": "2020-11-08T17:05:16.849Z", "EffectiveTransmissionClass": "3", "Entitlements": "15", "InContext": "0", @@ -7859,11 +7907,12 @@ } }, { - "@timestamp": "2020-11-08T17:04:51.781Z", + "@timestamp": "2020-11-08T17:05:21.077Z", "crowdstrike": { "AuthenticationId": "6580764513", "AuthenticationPackage": "Negotiate", "ConfigStateHash": "3011122681", + "ContextTimeStamp": "2020-11-08T17:04:51.781Z", "EffectiveTransmissionClass": "2", "Entitlements": "15", "LogonDomain": "NT AUTHORITY", @@ -7951,10 +8000,11 @@ } }, { - "@timestamp": "2020-11-08T17:05:20.785Z", + "@timestamp": "2020-11-08T17:05:21.109Z", "crowdstrike": { "AuthenticationId": "2007206396", "ConfigStateHash": "3011122681", + "ContextTimeStamp": "2020-11-08T17:05:20.785Z", "EffectiveTransmissionClass": "3", "Entitlements": "15", "FileEcpBitmask": "0", @@ -8142,9 +8192,10 @@ } }, { - "@timestamp": "2020-11-08T17:03:45.966Z", + "@timestamp": "2020-11-08T17:05:49.643Z", "crowdstrike": { "ConfigStateHash": "537307300", + "ContextTimeStamp": "2020-11-08T17:03:45.966Z", "DesiredAccess": "1180054", "EffectiveTransmissionClass": "3", "Entitlements": "15", @@ -8234,10 +8285,11 @@ } }, { - "@timestamp": "2020-11-08T17:05:50.066Z", + "@timestamp": "2020-11-08T17:05:50.545Z", "crowdstrike": { "ConfigStateHash": "3765958535", "ConnectionFlags": "0", + "ContextTimeStamp": "2020-11-08T17:05:50.066Z", "EffectiveTransmissionClass": "3", "Entitlements": "15", "InContext": "0", @@ -8329,10 +8381,11 @@ } }, { - "@timestamp": "2020-11-08T17:05:52.993Z", + "@timestamp": "2020-11-08T17:05:54.274Z", "crowdstrike": { "ClientComputerName": "com1", "ConfigStateHash": "3011122681", + "ContextTimeStamp": "2020-11-08T17:05:52.993Z", "EffectiveTransmissionClass": "2", "Entitlements": "15", "EtwRawThreadId": 5304, @@ -8435,9 +8488,10 @@ } }, { - "@timestamp": "2020-11-08T17:05:51.534Z", + "@timestamp": "2020-11-08T17:05:54.670Z", "crowdstrike": { "ConfigStateHash": "3343111420", + "ContextTimeStamp": "2020-11-08T17:05:51.534Z", "EffectiveTransmissionClass": "3", "Entitlements": "15", "FileObject": "18446636884348143072", @@ -8521,11 +8575,12 @@ } }, { - "@timestamp": "2020-11-08T17:05:35.209Z", + "@timestamp": "2020-11-08T17:06:00.047Z", "crowdstrike": { "AsepWrittenCount": 0, "ConfigStateHash": "230795414", "ContextProcessId": "318137549555284836", + "ContextTimeStamp": "2020-11-08T17:05:35.209Z", "DirectoryCreatedCount": 0, "DnsRequestCount": 0, "Entitlements": "15", @@ -8613,10 +8668,11 @@ } }, { - "@timestamp": "2020-11-08T17:06:11.731Z", + "@timestamp": "2020-11-08T17:06:13.077Z", "crowdstrike": { "ApiReturnValue": "1", "ConfigStateHash": "3338885535", + "ContextTimeStamp": "2020-11-08T17:06:11.731Z", "EffectiveTransmissionClass": "3", "Entitlements": "15", "cid": "ffffffff30a3407dae27d0503611022d", @@ -8776,9 +8832,10 @@ } }, { - "@timestamp": "2020-11-08T17:05:46.590Z", + "@timestamp": "2020-11-08T17:06:17.513Z", "crowdstrike": { "ConfigStateHash": "1763245019", + "ContextTimeStamp": "2020-11-08T17:05:46.590Z", "EffectiveTransmissionClass": "3", "Entitlements": "15", "FileObject": "18446622606546437424", @@ -8864,9 +8921,10 @@ } }, { - "@timestamp": "2020-11-08T17:06:05.213Z", + "@timestamp": "2020-11-08T17:06:20.332Z", "crowdstrike": { "ConfigStateHash": "402097454", + "ContextTimeStamp": "2020-11-08T17:06:05.213Z", "DesiredAccess": "1048577", "EffectiveTransmissionClass": "3", "Entitlements": "15", @@ -8955,10 +9013,11 @@ } }, { - "@timestamp": "2020-11-08T17:06:36.468Z", + "@timestamp": "2020-11-08T17:06:36.635Z", "crowdstrike": { "AuthenticationId": "999", "ConfigStateHash": "3343111420", + "ContextTimeStamp": "2020-11-08T17:06:36.468Z", "EffectiveTransmissionClass": "3", "Entitlements": "15", "InterfaceGuid": "367ABB81-9844-35F1-AD32-98F038001003", @@ -9052,10 +9111,11 @@ } }, { - "@timestamp": "2020-11-08T17:06:40.751Z", + "@timestamp": "2020-11-08T17:06:40.836Z", "crowdstrike": { "ConfigStateHash": "203564169", "ConnectionFlags": "0", + "ContextTimeStamp": "2020-11-08T17:06:40.751Z", "Entitlements": "15", "InContext": "0", "LocalAddressIP6": [ @@ -9369,9 +9429,10 @@ } }, { - "@timestamp": "2020-11-08T09:58:32.519Z", + "@timestamp": "2020-11-08T17:07:22.091Z", "crowdstrike": { "ConfigStateHash": "1763245019", + "ContextTimeStamp": "2020-11-08T09:58:32.519Z", "DesiredAccess": "1179785", "EffectiveTransmissionClass": "3", "Entitlements": "15", @@ -9461,7 +9522,7 @@ } }, { - "@timestamp": "2020-11-08T17:07:54.377Z", + "@timestamp": "2020-11-08T17:07:56.657Z", "crowdstrike": { "AllocateVirtualMemoryCount": 0, "ArchiveFileWrittenCount": 0, @@ -9472,6 +9533,7 @@ "ConHostProcessId": "1731198143955", "ConfigStateHash": "2030177841", "ContextProcessId": "1741732942772", + "ContextTimeStamp": "2020-11-08T17:07:54.377Z", "CycleTime": 473618996, "DirectoryCreatedCount": 0, "DirectoryEnumeratedCount": 0, @@ -9601,10 +9663,11 @@ } }, { - "@timestamp": "2020-11-08T17:08:37.892Z", + "@timestamp": "2020-11-08T17:08:49.571Z", "crowdstrike": { "AuthenticationId": "895027", "ConfigStateHash": "3338885535", + "ContextTimeStamp": "2020-11-08T17:08:37.892Z", "EffectiveTransmissionClass": "3", "Entitlements": "15", "FileEcpBitmask": "0", @@ -9693,10 +9756,11 @@ } }, { - "@timestamp": "2020-11-08T17:09:11.158Z", + "@timestamp": "2020-11-08T17:09:11.798Z", "crowdstrike": { "ConfigStateHash": "3765958535", "ConnectionFlags": "0", + "ContextTimeStamp": "2020-11-08T17:09:11.158Z", "EffectiveTransmissionClass": "3", "Entitlements": "15", "InContext": "0", @@ -9797,9 +9861,10 @@ } }, { - "@timestamp": "2020-11-08T14:34:30.744Z", + "@timestamp": "2020-11-08T17:09:15.495Z", "crowdstrike": { "ConfigStateHash": "1457965279", + "ContextTimeStamp": "2020-11-08T14:34:30.744Z", "Entitlements": "15", "VnodeModificationType": "10", "cid": "ffffffff30a3407dae27d0503611022d", @@ -9882,9 +9947,10 @@ } }, { - "@timestamp": "2020-11-08T17:06:31.803Z", + "@timestamp": "2020-11-08T17:06:33.422Z", "crowdstrike": { "ConfigStateHash": "3011122681", + "ContextTimeStamp": "2020-11-08T17:06:31.803Z", "EffectiveTransmissionClass": "2", "Entitlements": "15", "UserLogonFlags": "1", @@ -9963,10 +10029,11 @@ } }, { - "@timestamp": "2020-11-08T17:05:36.669Z", + "@timestamp": "2020-11-08T17:06:39.798Z", "crowdstrike": { "ConfigStateHash": "1858880895", "ConnectionFlags": "0", + "ContextTimeStamp": "2020-11-08T17:05:36.669Z", "EffectiveTransmissionClass": "3", "Entitlements": "15", "InContext": "0", @@ -10074,9 +10141,10 @@ } }, { - "@timestamp": "2020-11-08T16:42:35.987Z", + "@timestamp": "2020-11-08T17:06:53.224Z", "crowdstrike": { "ConfigStateHash": "1789338890", + "ContextTimeStamp": "2020-11-08T16:42:35.987Z", "Entitlements": "15", "TargetFileName": "/Library/Application Support/JAMF/tmp/6B24D2B6-BC17-4470-8078-91A787A19478", "cid": "ffffffff30a3407dae27d0503611022d", @@ -10159,10 +10227,11 @@ } }, { - "@timestamp": "2020-11-08T17:07:48.323Z", + "@timestamp": "2020-11-08T17:07:48.755Z", "crowdstrike": { "ConfigStateHash": "203564169", "ConnectionFlags": "0", + "ContextTimeStamp": "2020-11-08T17:07:48.323Z", "Entitlements": "15", "InContext": "0", "LocalAddressIP6": [ @@ -10249,9 +10318,10 @@ } }, { - "@timestamp": "2020-11-08T17:08:00.307Z", + "@timestamp": "2020-11-08T17:08:43.217Z", "crowdstrike": { "ConfigStateHash": "3765958535", + "ContextTimeStamp": "2020-11-08T17:08:00.307Z", "DualRequest": "0", "EffectiveTransmissionClass": "3", "Entitlements": "15", @@ -10326,8 +10396,9 @@ } }, { - "@timestamp": "2020-11-08T17:08:35.034Z", + "@timestamp": "2020-11-08T17:08:49.102Z", "crowdstrike": { + "ContextTimeStamp": "2020-11-08T17:08:35.034Z", "EffectiveTransmissionClass": "3", "Entitlements": "15", "VolumeDeviceCharacteristics": "131072", @@ -10410,10 +10481,11 @@ } }, { - "@timestamp": "2020-11-08T17:05:27.011Z", + "@timestamp": "2020-11-08T17:05:28.936Z", "crowdstrike": { "ConfigStateHash": "1789338890", "ConnectionFlags": "0", + "ContextTimeStamp": "2020-11-08T17:05:27.011Z", "Entitlements": "15", "InContext": "0", "LocalAddressIP4": [ @@ -10501,10 +10573,11 @@ } }, { - "@timestamp": "2020-11-08T17:06:25.108Z", + "@timestamp": "2020-11-08T17:06:24.068Z", "crowdstrike": { "AuthenticationId": "999", "ConfigStateHash": "3338885535", + "ContextTimeStamp": "2020-11-08T17:06:25.108Z", "EffectiveTransmissionClass": "3", "Entitlements": "15", "InterfaceGuid": "367ABB81-9844-35F1-AD32-98F038001003", @@ -10589,9 +10662,10 @@ } }, { - "@timestamp": "2020-11-08T17:08:19.018Z", + "@timestamp": "2020-11-08T17:08:22.512Z", "crowdstrike": { "ConfigStateHash": "3338885535", + "ContextTimeStamp": "2020-11-08T17:08:19.018Z", "EffectiveTransmissionClass": "3", "Entitlements": "15", "TargetThreadId": "24238019995551", @@ -10661,10 +10735,11 @@ } }, { - "@timestamp": "2020-11-08T17:07:07.625Z", + "@timestamp": "2020-11-08T17:07:44.313Z", "crowdstrike": { "AuthenticationId": "3443175", "ConfigStateHash": "3338885535", + "ContextTimeStamp": "2020-11-08T17:07:07.625Z", "EffectiveTransmissionClass": "3", "Entitlements": "15", "FileEcpBitmask": "0", @@ -11019,10 +11094,11 @@ } }, { - "@timestamp": "2020-11-08T15:57:10.593Z", + "@timestamp": "2020-11-08T15:57:11.298Z", "crowdstrike": { "AuthenticationId": "703298", "ConfigStateHash": "2642284486", + "ContextTimeStamp": "2020-11-08T15:57:10.593Z", "EffectiveTransmissionClass": "3", "Entitlements": "15", "FileEcpBitmask": "0", @@ -11110,9 +11186,10 @@ } }, { - "@timestamp": "2020-11-08T15:54:59.164Z", + "@timestamp": "2020-11-08T15:54:59.812Z", "crowdstrike": { "ConfigStateHash": "666346415", + "ContextTimeStamp": "2020-11-08T15:54:59.164Z", "EffectiveTransmissionClass": "3", "Entitlements": "15", "VolumeName": "\\Device\\HarddiskVolume27", @@ -11184,9 +11261,10 @@ } }, { - "@timestamp": "2020-11-08T15:58:18.548Z", + "@timestamp": "2020-11-08T15:57:20.625Z", "crowdstrike": { "ConfigStateHash": "3429017943", + "ContextTimeStamp": "2020-11-08T15:58:18.548Z", "Entitlements": "15", "cid": "ffffffff30a3407dae27d0503611022d", "name": "FirewallDisabledMacV1" @@ -11254,7 +11332,7 @@ } }, { - "@timestamp": "2021-11-09T05:47:19.952Z", + "@timestamp": "2021-11-09T09:00:27.353Z", "crowdstrike": { "AgentLoadFlags": "0", "AgentLocalTime": "2021-11-09T05:47:19.952Z", @@ -11269,14 +11347,13 @@ "ProductType": "1", "SystemManufacturer": "Apple Inc.", "SystemProductName": "MacBookPro16,2", - "Time": "2021-11-09T09:00:27.353Z", "cid": "ffffffff30a3407dae27d0503611022ff" }, "ecs": { "version": "8.11.0" }, "event": { - "created": "2021-11-09T05:47:19.952Z", + "created": "2021-11-09T09:00:27.353Z", "original": "{\"AgentLoadFlags\":\"0\",\"AgentLocalTime\":\"1636436839.9529998\",\"AgentTimeOffset\":\"125.319\",\"AgentVersion\":\"6.31.14404.0\",\"BiosManufacturer\":\"Apple Inc.\",\"BiosVersion\":\"1554.140.20.0.0 (iBridge: 18.16.14759.0.1,0)\",\"ChassisType\":\"Laptop\",\"City\":\"San Francisco\",\"ComputerName\":\"mac1\",\"ConfigBuild\":\"1007.4.0014404.1\",\"ConfigIDBuild\":\"14404\",\"Continent\":\"North America\",\"Country\":\"United States\",\"FalconGroupingTags\":\"-\",\"FirstSeen\":\"1625682391.0\",\"HostHiddenStatus\":\"Visible\",\"MachineDomain\":\"none\",\"OU\":\"none\",\"PointerSize\":\"none\",\"ProductType\":\"1\",\"SensorGroupingTags\":\"-\",\"ServicePackMajor\":\"none\",\"SiteName\":\"none\",\"SystemManufacturer\":\"Apple Inc.\",\"SystemProductName\":\"MacBookPro16,2\",\"Time\":\"1636448427.3539999\",\"Timezone\":\"America/Los_Angeles\",\"Version\":\"Big Sur (11.0)\",\"aid\":\"fffffffffffaaaaaaaaabbbbbbbb\",\"aip\":\"67.43.156.14\",\"cid\":\"ffffffff30a3407dae27d0503611022ff\",\"event_platform\":\"Mac\"}" }, "host": { @@ -11540,9 +11617,10 @@ } }, { - "@timestamp": "2022-12-03T18:43:39.000Z", + "@timestamp": "2020-11-08T15:54:59.812Z", "crowdstrike": { "ConfigStateHash": "666346415", + "ContextTimeStamp": "2022-12-03T18:43:39.000Z", "EffectiveTransmissionClass": "3", "EndTime": "2022-12-03T18:42:00.000Z", "Entitlements": "15", @@ -11780,10 +11858,11 @@ } }, { - "@timestamp": "2020-11-08T15:57:10.593Z", + "@timestamp": "2020-11-08T15:57:11.298Z", "crowdstrike": { "AuthenticationId": "703298", "ConfigStateHash": "2642284486", + "ContextTimeStamp": "2020-11-08T15:57:10.593Z", "EffectiveTransmissionClass": "3", "Entitlements": "15", "FileEcpBitmask": "0", @@ -11872,10 +11951,11 @@ } }, { - "@timestamp": "2024-05-07T10:46:39.690Z", + "@timestamp": "2024-05-07T10:46:39.943Z", "crowdstrike": { "AuthenticationId": "111112312312312321", "ConfigStateHash": "821711964", + "ContextTimeStamp": "2024-05-07T10:46:39.690Z", "EffectiveTransmissionClass": "2", "Entitlements": "15", "LogonTime": "2024-05-07T10:46:39.631Z", diff --git a/packages/crowdstrike/data_stream/fdr/_dev/test/system/test-default-config.yml b/packages/crowdstrike/data_stream/fdr/_dev/test/system/test-default-config.yml index 4ba8520ccbf..7c777e927d5 100644 --- a/packages/crowdstrike/data_stream/fdr/_dev/test/system/test-default-config.yml +++ b/packages/crowdstrike/data_stream/fdr/_dev/test/system/test-default-config.yml @@ -12,4 +12,4 @@ data_stream: queue_url: "{{TF_OUTPUT_queue_url}}" preserve_original_event: true assert: - hit_count: 125 + hit_count: 124 diff --git a/packages/crowdstrike/data_stream/fdr/_dev/test/system/test-keep-metadata-config.yml b/packages/crowdstrike/data_stream/fdr/_dev/test/system/test-keep-metadata-config.yml index 28dcf347894..8b28f5788d4 100644 --- a/packages/crowdstrike/data_stream/fdr/_dev/test/system/test-keep-metadata-config.yml +++ b/packages/crowdstrike/data_stream/fdr/_dev/test/system/test-keep-metadata-config.yml @@ -13,4 +13,4 @@ data_stream: preserve_original_event: true keep_metadata: true assert: - hit_count: 131 + hit_count: 130 diff --git a/packages/crowdstrike/data_stream/fdr/elasticsearch/ingest_pipeline/default.yml b/packages/crowdstrike/data_stream/fdr/elasticsearch/ingest_pipeline/default.yml index 8e8afa51154..46658726382 100644 --- a/packages/crowdstrike/data_stream/fdr/elasticsearch/ingest_pipeline/default.yml +++ b/packages/crowdstrike/data_stream/fdr/elasticsearch/ingest_pipeline/default.yml @@ -61,9 +61,9 @@ processors: ignore_failure: true if: ctx.event?.created == null - date: - tag: date-agent-local-time - description: Parse timestamp from event. - field: crowdstrike.AgentLocalTime + tag: date-Time + description: Parse Time from event. + field: crowdstrike.Time target_field: event.created formats: - ISO8601 @@ -84,7 +84,7 @@ processors: tag: set-timestamp field: "@timestamp" copy_from: event.created - if: ctx.event?.created != null && (ctx.crowdstrike?.ContextTimeStamp == null || ctx.crowdstrike?.ContextTimeStamp == "") + if: ctx.event?.created != null - set: tag: set-timestamp-ingest field: "@timestamp" @@ -107,13 +107,6 @@ processors: if (timestamp > 0x0100000000000000L) { // See https://devblogs.microsoft.com/oldnewthing/20030905-02/?p=42653 for constant. ctx.crowdstrike.ContextTimeStamp = (timestamp / 10000000) - 11644473600L; } - - date: - tag: date-context-timestamp - if: (ctx.crowdstrike?.ContextTimeStamp != null && ctx.crowdstrike?.ContextTimeStamp != "") - field: crowdstrike.ContextTimeStamp - formats: - - UNIX - ignore_failure: true - script: tag: date-start-timestamp-from-nt description: Conditionally convert StartTime from Windows NT timestamp format to UNIX. @@ -2437,11 +2430,11 @@ processors: - UNIX if: ctx.crowdstrike?.FirstSeen != null && ctx.crowdstrike?.FirstSeen != "" - date: - field: crowdstrike.Time - target_field: crowdstrike.Time + field: crowdstrike.ContextTimeStamp + target_field: crowdstrike.ContextTimeStamp formats: - UNIX - if: ctx.crowdstrike?.Time != null && ctx.crowdstrike?.Time != "" + if: ctx.crowdstrike?.ContextTimeStamp != null && ctx.crowdstrike?.ContextTimeStamp != "" - date: field: crowdstrike.BiosReleaseDate target_field: crowdstrike.BiosReleaseDate @@ -2513,7 +2506,7 @@ processors: - _temp - crowdstrike.timestamp - crowdstrike._time - - crowdstrike.ContextTimeStamp + - crowdstrike.Time - crowdstrike.CreationTimeStamp - crowdstrike.DomainName - crowdstrike.ConnectionDirection diff --git a/packages/crowdstrike/data_stream/fdr/fields/fields.yml b/packages/crowdstrike/data_stream/fdr/fields/fields.yml index 447764287c9..9f93c8a7736 100644 --- a/packages/crowdstrike/data_stream/fdr/fields/fields.yml +++ b/packages/crowdstrike/data_stream/fdr/fields/fields.yml @@ -57,6 +57,9 @@ type: keyword - name: ContextProcessId type: keyword + - name: ContextTimeStamp + type: date + description: System local time of event creation. - name: CreateProcessCount type: long - name: CreateProcessType @@ -422,8 +425,6 @@ type: keyword - name: Technique type: keyword - - name: Time - type: date - name: Timeout type: long - name: TokenType diff --git a/packages/crowdstrike/docs/README.md b/packages/crowdstrike/docs/README.md index 61036fc392d..b90683ad833 100644 --- a/packages/crowdstrike/docs/README.md +++ b/packages/crowdstrike/docs/README.md @@ -1104,6 +1104,7 @@ and/or `session_token`. | crowdstrike.ConnectType | | keyword | | crowdstrike.ConnectionFlags | | keyword | | crowdstrike.ContextProcessId | | keyword | +| crowdstrike.ContextTimeStamp | System local time of event creation. | date | | crowdstrike.CpuClockSpeed | | keyword | | crowdstrike.CpuFeaturesMask | | keyword | | crowdstrike.CpuProcessorName | | keyword | @@ -1362,7 +1363,6 @@ and/or `session_token`. | crowdstrike.TargetFileName | | keyword | | crowdstrike.TargetThreadId | | keyword | | crowdstrike.Technique | | keyword | -| crowdstrike.Time | | date | | crowdstrike.Timeout | | long | | crowdstrike.TokenType | | keyword | | crowdstrike.USN | | keyword | diff --git a/packages/crowdstrike/manifest.yml b/packages/crowdstrike/manifest.yml index 814c70c5928..171a1fea09d 100644 --- a/packages/crowdstrike/manifest.yml +++ b/packages/crowdstrike/manifest.yml @@ -1,6 +1,6 @@ name: crowdstrike title: CrowdStrike -version: "1.39.2" +version: "1.39.3" description: Collect logs from Crowdstrike with Elastic Agent. type: integration format_version: "3.0.3" From 17ca4d98c4a814ea0161bab29373967759b98e03 Mon Sep 17 00:00:00 2001 From: Taylor Swanson <90622908+taylor-swanson@users.noreply.github.com> Date: Wed, 28 Aug 2024 09:40:07 -0500 Subject: [PATCH 32/33] [squid] Rewrite squid integration (#10882) - Remove rsa2elk code - Rewrite integration using ingest pipeline for processing - Drop 'generated' format - Generate new pipeline test results with existing test cases --- .../_dev/deploy/docker/docker-compose.yml | 7 +- ...d-log-access1.log => squid-log-access.log} | 0 .../sample_logs/squid-log-generated.log | 100 - packages/squid/changelog.yml | 5 + .../{test-access1.log => test-access.log} | 0 .../pipeline/test-access.log-expected.json | 6518 +++++++++++++++++ .../pipeline/test-access1.log-expected.json | 904 --- .../log/_dev/test/pipeline/test-generated.log | 100 - .../pipeline/test-generated.log-expected.json | 904 --- .../test/system/test-filestream-config.yml | 9 + .../_dev/test/system/test-logfile-config.yml | 6 - .../log/_dev/test/system/test-tcp-config.yml | 3 + .../log/_dev/test/system/test-tls-config.yml | 62 + .../log/_dev/test/system/test-udp-config.yml | 3 + .../log/agent/stream/filestream.yml.hbs | 19 + .../log/agent/stream/stream.yml.hbs | 3057 -------- .../data_stream/log/agent/stream/tcp.yml.hbs | 3049 +------- .../data_stream/log/agent/stream/udp.yml.hbs | 3046 +------- .../elasticsearch/ingest_pipeline/default.yml | 191 +- .../data_stream/log/fields/base-fields.yml | 24 + packages/squid/data_stream/log/fields/ecs.yml | 258 - .../squid/data_stream/log/fields/fields.yml | 1768 +---- packages/squid/data_stream/log/manifest.yml | 114 +- .../squid/data_stream/log/sample_event.json | 124 +- packages/squid/docs/README.md | 828 +-- packages/squid/img/squid-logo.png | Bin 0 -> 32940 bytes packages/squid/manifest.yml | 29 +- 27 files changed, 6943 insertions(+), 14185 deletions(-) rename packages/squid/_dev/deploy/docker/sample_logs/{squid-log-access1.log => squid-log-access.log} (100%) delete mode 100644 packages/squid/_dev/deploy/docker/sample_logs/squid-log-generated.log rename packages/squid/data_stream/log/_dev/test/pipeline/{test-access1.log => test-access.log} (100%) create mode 100644 packages/squid/data_stream/log/_dev/test/pipeline/test-access.log-expected.json delete mode 100644 packages/squid/data_stream/log/_dev/test/pipeline/test-access1.log-expected.json delete mode 100644 packages/squid/data_stream/log/_dev/test/pipeline/test-generated.log delete mode 100644 packages/squid/data_stream/log/_dev/test/pipeline/test-generated.log-expected.json create mode 100644 packages/squid/data_stream/log/_dev/test/system/test-filestream-config.yml delete mode 100644 packages/squid/data_stream/log/_dev/test/system/test-logfile-config.yml create mode 100644 packages/squid/data_stream/log/_dev/test/system/test-tls-config.yml create mode 100644 packages/squid/data_stream/log/agent/stream/filestream.yml.hbs delete mode 100644 packages/squid/data_stream/log/agent/stream/stream.yml.hbs delete mode 100644 packages/squid/data_stream/log/fields/ecs.yml create mode 100644 packages/squid/img/squid-logo.png diff --git a/packages/squid/_dev/deploy/docker/docker-compose.yml b/packages/squid/_dev/deploy/docker/docker-compose.yml index 7f5d4be570f..1f686f607a8 100644 --- a/packages/squid/_dev/deploy/docker/docker-compose.yml +++ b/packages/squid/_dev/deploy/docker/docker-compose.yml @@ -1,6 +1,6 @@ version: '2.3' services: - squid-log-logfile: + squid-log-filestream: image: alpine volumes: - ./sample_logs:/sample_logs:ro @@ -16,3 +16,8 @@ services: volumes: - ./sample_logs:/sample_logs:ro command: log --start-signal=SIGHUP --delay=5s --addr elastic-agent:9537 -p=tcp /sample_logs/squid-log-*.log + squid-log-tls: + image: docker.elastic.co/observability/stream:v0.15.0 + volumes: + - ./sample_logs:/sample_logs:ro + command: log --start-signal=SIGHUP --delay=5s --addr elastic-agent:9538 -p=tls --insecure /sample_logs/squid-log-*.log diff --git a/packages/squid/_dev/deploy/docker/sample_logs/squid-log-access1.log b/packages/squid/_dev/deploy/docker/sample_logs/squid-log-access.log similarity index 100% rename from packages/squid/_dev/deploy/docker/sample_logs/squid-log-access1.log rename to packages/squid/_dev/deploy/docker/sample_logs/squid-log-access.log diff --git a/packages/squid/_dev/deploy/docker/sample_logs/squid-log-generated.log b/packages/squid/_dev/deploy/docker/sample_logs/squid-log-generated.log deleted file mode 100644 index 14078eea632..00000000000 --- a/packages/squid/_dev/deploy/docker/sample_logs/squid-log-generated.log +++ /dev/null @@ -1,100 +0,0 @@ -10.251.224.219 7337 [29/Jan/2016:6:09:59 nto] "PROPFIND https://example.org/exercita/der.htm?odoco=ria#min ite" 10.234.224.44 etdo tation "quasiarc" liqua ciade 5699 "https://example.net/umq/ntium.gif?nes=eab#aliqu" "Mozilla/5.0 (Linux; Android 10; SM-A715F Build/QP1A.190711.020; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/83.0.4103.83 Mobile Safari/537.36 [FB_IAB/Orca-Android;FBAV/266.0.0.16.117;]" deny -10.102.123.34 7178 [12/Feb/2016:1:12:33 nostrud] "PURGE https://www.example.org/enderitq/sperna.txt?billoi=oreetdol#nidolor tatemU" 10.70.36.222 estlabo doeiu "nia" olupt volup 208 "https://example.com/eosquir/orsi.txt?itessequ=vol#luptat" "Mozilla/5.0 (Linux; Android 10; SM-A305FN Build/QP1A.190711.020; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/78.0.3904.96 Mobile Safari/537.36 YandexSearch/8.10 YandexSearchBrowser/8.10" deny -10.15.135.248 7269 [26/Feb/2016:8:15:08 mquia] "OPTIONS https://internal.example.com/aqu/utper.jpg?eFinib=omm#iin proident" 10.142.172.64 lupt tia "oloremqu" temvel iatu 5493 "https://example.net/dolo/meumfug.gif?roinBCS=ufugiatn#tionulam" "Mozilla/5.0 (Linux; Android 8.1.0; SM-A260G Build/OPR6; rv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Rocket/2.1.17(19420) Chrome/81.0.4044.138 Mobile Safari/537.36" accept -10.44.134.153 5162 [12/Mar/2016:3:17:42 nci] "GET https://api.example.org/ceroinBC/ratvolup.gif?iatu=ionofde#con uia" quiavo 1156 "https://mail.example.com/consec/taliquip.html?radip=tNequ#gelit" "Mozilla/5.0 (Linux; Android 9; 5024D_RU Build/PPR1.180610.011) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.92 Mobile Safari/537.36 YaApp_Android/10.61 YaSearchBrowser/10.61" allow 10.81.122.126 taev 160.145000 -10.160.95.56 1980 [26/Mar/2016:10:20:16 aqui] "PUT https://api.example.org/isetq/estqui.gif?magn=equuntu#eos enimad" 10.171.175.51 boreet onev "tenima" laboreet aquaeabi 5738 "https://api.example.net/veleumi/tia.gif?ude=maveniam#uian" "Mozilla/5.0 (Linux; Android 9; POCOPHONE F1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.83 Mobile Safari/537.36" cancel -10.175.107.139 4243 [09/Apr/2016:5:22:51 antium] "HEAD https://www.example.org/inesci/rsitvolu.txt?pori=occ#ect reetdolo" 10.12.195.60 uiano mrema "autfu" natura aboris 2946 "https://api.example.com/ssitaspe/gitsedqu.jpg?iutal=dexe#urerep" "Mozilla/5.0 (Linux; Android 9; ZTE Blade V1000RU Build/PPR1.180610.011) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Mobile Safari/537.36 YaApp_Android/10.91 YaSearchBrowser/10.91" accept -10.198.136.50 6875 [24/Apr/2016:12:25:25 llam] "DELETE https://www5.example.com/ari/eataevit.txt?iam=mqua#atat quunt" 10.207.249.121 iciade tsed "orai" mUt usmodte 1296 "https://www.example.org/ametcons/porainc.jpg?temsequ=emquiavo#nonnu" "Mozilla/5.0 (Linux; U; Android 4.0.3; es-us; GT-P3100 Build/IML74K) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Safari/534.30" allow -10.34.9.93 124 [08/May/2016:7:27:59 onse] "PROPFIND https://example.org/tatno/imav.htm?ofdeF=tion#orsitame quiratio" 10.116.120.216 qua umdo "sed" apariat mol 1510 "https://internal.example.net/turveli/toccae.htm?erc=taliqu#temUten" "Mozilla/5.0 (Linux; Android 9; Notepad_K10) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.83 Safari/537.36" accept -10.90.131.186 6343 [22/May/2016:2:30:33 nimadmin] "HEAD https://example.org/uaera/sitas.txt?aedic=atquovo#iumto aboreetd" 10.30.216.41 enim saute "vel" quu undeo 5794 "https://mail.example.net/atuse/ddoeiu.gif?idolore=onse#liq" "Mozilla/5.0 (Linux; Android 10; STK-L21 Build/HUAWEISTK-L21) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.83 Mobile Safari/537.36 YaApp_Android/10.91 YaSearchBrowser/10.91" accept -10.8.88.110 7618 [05/Jun/2016:9:33:08 ionul] "CONNECT https://mail.example.org/edquiano/loru.htm?end=enia#nsequu cup" 10.203.172.203 idestla Nemoeni "uradi" aborumSe luptat 6884 "https://www5.example.org/strude/ctetura.htm?ittenbyC=aperi#lor" "Mozilla/5.0 (Linux; Android 9; POCOPHONE F1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.83 Mobile Safari/537.36" accept -10.71.34.9 267 [20/Jun/2016:4:35:42 dolore] "UNLOCK https://www.example.org/iqui/etc.txt?tatiset=eprehen#xercitat lpa" 10.158.185.163 rudexerc aliq "rsitam" quam adm 987 "https://www.example.org/ritatis/oloremi.txt?icab=mwr#fugi" "Mozilla/5.0 (Linux; U; Android 7.1.2; uz-uz; Redmi 4X Build/N2G47H) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/71.0.3578.141 Mobile Safari/537.36 XiaoMi/MiuiBrowser/12.2.3-g" allow -10.210.74.24 6423 [04/Jul/2016:11:38:16 untut] "OPTIONS https://internal.example.net/ommod/sequatur.txt?tlabo=suntexp#ugiatnu stiae" 10.201.76.240 amqu uines "nsec" onse emips 2655 "https://example.net/tion/eataev.htm?uiineavo=tisetq#irati" "Mozilla/5.0 (compatible; Yahoo Ad monitoring; https://help.yahoo.com/kb/yahoo-ad-monitoring-SLN24857.html) yahoo.adquality.lwd.desktop/1591143192-10" accept -10.114.138.121 1939 [18/Jul/2016:6:40:50 tati] "COPY https://api.example.org/oriosamn/deFinibu.gif?iciatisu=rehender#eporroqu uat" 10.206.136.206 suntinc xeac "nidolo" tatn eli 6462 "https://www.example.net/pida/nse.html?emeumfu=CSed#lupt" "Mozilla/5.0 (Linux; Android 8.0.0; VS996) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.83 Mobile Safari/537.36" deny -10.200.199.166 3727 [02/Aug/2016:1:43:25 amvolup] "COPY https://mail.example.org/rehend/tio.html?numqu=qui#civeli lum" 10.134.161.118 tat ipitla "quae" maccusa uptat 3458 "https://www.example.com/xerci/aqu.htm?olorema=iades#siarchi" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.122 YaBrowser/20.3.0.2221 Yowser/2.5 Safari/537.36" block -10.122.46.71 2807 [16/Aug/2016:8:45:59 ihilm] "NONE https://www.example.org/eav/ionevo.txt?siar=orev#iamquis quirat" 10.76.3.41 isc aturve "emulla" mpori aaliquaU 2989 "https://www5.example.com/ern/psaquae.html?nsectet=utla#utei" "Mozilla/5.0 (Linux; Android 8.0.0; VS996) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.83 Mobile Safari/537.36" allow -10.164.250.63 2530 [30/Aug/2016:3:48:33 eritqu] "PROPFIND https://internal.example.net/wri/bor.jpg?hitect=dol#leumiu namali" 10.249.213.83 nsecte itame "eumfug" lit asun 1250 "https://api.example.com/oluptate/onseq.html?labore=texp#tMalor" "Mozilla/5.0 (Linux; Android 6.0; Lenovo A2016a40 Build/MRA58K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.106 Mobile Safari/537.36 YaApp_Android/10.30 YaSearchBrowser/10.30" accept -10.61.242.75 2591 [13/Sep/2016:10:51:07 dantiumt] "HEAD https://api.example.net/equat/doloreme.htm?ione=ihilmole#eriamea amre" 10.236.248.65 pisciv iquidex "radipisc" tmo fficiade 3280 "https://www5.example.net/uioffi/oru.jpg?one=etMalor#ipi" "Mozilla/5.0 (Linux; Android 9; G8142) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.83 Mobile Safari/537.36" cancel -10.13.59.31 5685 [28/Sep/2016:5:53:42 sperna] "PUT https://www5.example.com/estia/tper.gif?volupt=osqui#xerc iutali" 10.214.7.83 liquide etdol "uela" boN eprehend 2462 "https://internal.example.net/lamcolab/ati.jpg?gel=lorsitam#mpo" "Mozilla/5.0 (Linux; Android 9; LG-US998) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.83 Mobile Safari/537.36" block -10.89.201.140 2447 [12/Oct/2016:12:56:16 uamei] "GET https://internal.example.net/sin/rvel.htm?nimid=itatione#isnis uptasn" 10.49.92.179 osamn isnisiu "bore" tsu tcons 3128 "https://api.example.org/lorinre/olorsita.gif?idata=rumwritt#magnid" "Mozilla/5.0 (Linux; Android 8.1.0; SM-A260G Build/OPR6; rv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Rocket/2.1.17(19420) Chrome/81.0.4044.138 Mobile Safari/537.36" accept -10.235.7.92 5787 [26/Oct/2016:7:58:50 nsecte] "PURGE https://api.example.org/abo/veniamqu.gif?aliquide=ofde#equat derit" 10.90.86.89 piscin lapar "laboree" tfu udan 5516 "https://mail.example.net/xeacomm/mveleu.htm?utlabor=rau#idex" "Mozilla/5.0 (Linux; Android 6.0; QMobile X700 PRO II) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.92 Mobile Safari/537.36" deny -10.14.211.43 4762 [10/Nov/2016:3:01:24 eiu] "PROPFIND https://api.example.org/autfu/gnaaliq.jpg?olupta=litse#icabo itatio" 10.14.48.16 sintoc volupt "siste" uiinea Utenima 1612 "https://www5.example.net/ptatem/Nequepor.html?ugiatnu=ciati#nto" "Mozilla/5.0 (Linux; U; Android 4.0.3; es-us; GT-P3100 Build/IML74K) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Safari/534.30" cancel -10.47.25.230 5491 [24/Nov/2016:10:03:59 ese] "CONNECT https://internal.example.net/ptatemq/luptatev.html?Nequepo=ipsumd#ntocc uteirure" 10.93.123.174 evelit reetdolo "smo" etcons iusmodi 1563 "https://example.com/uiac/epte.gif?itam=aper#santiumd" "Mozilla/5.0 (Linux; Android 10; SM-A305FN Build/QP1A.190711.020; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/78.0.3904.96 Mobile Safari/537.36 YandexSearch/8.10 YandexSearchBrowser/8.10" block -10.7.46.36 837 [08/Dec/2016:5:06:33 nonn] "MKOL https://www5.example.net/quiavol/rrorsi.gif?iatisu=sec#cons sBon" 10.233.48.103 leumiur tlab "aperiame" isc ullamcor 584 "https://www5.example.com/tateve/itinvol.txt?tenatus=cipitlab#ipsumd" "Mozilla/5.0 (Linux; U; Android 4.0.3; es-us; GT-P3100 Build/IML74K) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Safari/534.30" cancel -10.93.220.10 2805 [23/Dec/2016:12:09:07 com] "PROPATCH https://api.example.net/orain/tiumt.jpg?litessec=itas#edquia sequatu" 10.27.58.92 amvo qui "tasn" Nemoenim squirati 63 "https://mail.example.com/nbyCic/utlabor.html?iciade=ntiumt#iquipe" "Mozilla/5.0 (Linux; Android 8.1.0; SM-A260G Build/OPR6; rv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Rocket/2.1.17(19420) Chrome/81.0.4044.138 Mobile Safari/537.36" accept -10.213.144.249 4427 [06/Jan/2017:7:11:41 taedicta] "PURGE https://www.example.net/str/idolore.txt?eetdolo=cteturad#untut uamni" 10.135.217.12 metMalo ntexplic "archite" loreme untu 5676 "https://example.net/con/nisist.gif?ium=esciuntN#idunt" "Mozilla/5.0 (Linux; Android 9; G8142) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.83 Mobile Safari/537.36" block -10.13.226.57 3275 [20/Jan/2017:2:14:16 runtm] "PURGE https://mail.example.net/velitse/oditem.html?torever=oremi#mestq temUt" 10.233.239.112 npr mquelau "iadolor" amcol adeser 3780 "https://internal.example.com/tqu/reprehen.gif?quam=quid#fugiat" "Mozilla/5.0 (Linux; Android 9; Notepad_K10) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.83 Safari/537.36" cancel -10.161.203.252 301 [03/Feb/2017:9:16:50 emquia] "CONNECT https://internal.example.org/isnisi/ritatise.gif?tamet=quatur#uisa eFi" 10.21.169.127 rpori ice "oles" edic seq 2835 "https://example.com/tatn/dolorsit.jpg?billo=labo#oNemoeni" "Mozilla/5.0 (Linux; Android 9; G8142) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.83 Mobile Safari/537.36" accept -10.17.215.111 148 [18/Feb/2017:4:19:24 ratv] "LOCK https://www.example.net/ianon/tsed.htm?ameiusm=proide#ano piscinge" 10.69.139.26 ditemp edqui "nre" veli volupta 7124 "https://api.example.com/ersp/enderi.jpg?adi=umwrit#uptate" "Mozilla/5.0 (Linux; Android 6.0; Lenovo A2016a40 Build/MRA58K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.106 Mobile Safari/537.36 YaApp_Android/10.30 YaSearchBrowser/10.30" block -10.10.213.83 7206 [04/Mar/2017:11:21:59 nisi] "COPY https://www5.example.org/ncididun/umSe.jpg?ise=itau#apariat vitaedi" 10.104.80.189 dolore onsecte "nBCSedut" ugiat onulam 1542 "https://mail.example.org/oditautf/quatu.jpg?lumdolor=nonp#labo" "Mozilla/5.0 (Linux; Android 9; G8142) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.83 Mobile Safari/537.36" accept -10.125.131.91 3480 [18/Mar/2017:6:24:33 urv] "UNLOCK https://example.org/uatur/adminimv.gif?exeacom=roidents#tem dol" 10.116.230.217 mvele isis "uasiar" utlab emUteni 7122 "https://api.example.org/lor/velillu.html?dolorem=tvolu#nreprehe" "Opera/9.80 (Series 60; Opera Mini/7.1.32444/174.101; U; ru) Presto/2.12.423 Version/12.16" block -10.26.96.202 2751 [02/Apr/2017:1:27:07 rautodi] "ICP_QUERY https://api.example.com/ven/rQu.html?doloreme=dun#reprehe tincu" 10.119.90.128 lor oraincid "intocc" amcorp ntsunt 4826 "https://mail.example.com/olo/psumqu.txt?fdeF=iquidexe#diconse" "Mozilla/5.0 (Linux; Android 10; STK-L21 Build/HUAWEISTK-L21) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.83 Mobile Safari/537.36 YaApp_Android/10.91 YaSearchBrowser/10.91" cancel -10.0.98.205 126 [16/Apr/2017:8:29:41 edquiac] "HEAD https://api.example.net/eseru/quamest.html?qua=rsita#ate ipsamvo" 10.76.110.144 tdol upt "mex" tatem untutlab 3386 "https://mail.example.com/plicab/oremq.html?uisaute=imide#poriss" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.122 YaBrowser/20.3.0.2221 Yowser/2.5 Safari/537.36" deny -10.224.11.165 1646 [30/Apr/2017:3:32:16 nof] "MOVE https://internal.example.org/mvolu/conse.txt?aincidu=nimadmin#isiu licabo" 10.135.46.242 lupta xeaco "nvolupt" oremi elites 1940 "https://www.example.org/boNemoe/onsequ.html?amvolupt=onevolu#mnis" "Mozilla/5.0 (Linux; Android 6.0; QMobile X700 PRO II) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.92 Mobile Safari/537.36" deny -10.27.44.4 4686 [14/May/2017:10:34:50 sequatD] "TRACE https://internal.example.org/isciv/rroqu.html?uisa=tametco#ilmol eri" 10.154.53.249 tae autodit "elit" cidunt plica 7398 "https://internal.example.org/emqu/nderi.html?accusant=onse#admin" "Mozilla/5.0 (Linux; Android 10; SM-A305FN Build/QP1A.190711.020; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/78.0.3904.96 Mobile Safari/537.36 YandexSearch/8.10 YandexSearchBrowser/8.10" accept -10.93.39.140 4275 [29/May/2017:5:37:24 ute] "COPY https://www5.example.net/uaeratv/isa.txt?periam=dqu#pid rExc" 10.150.245.88 orisn reetd "prehen" ntutlabo iusmodte 1738 "https://example.org/isc/Nequepor.txt?rem=idid#tesse" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.122 YaBrowser/20.3.0.2221 Yowser/2.5 Safari/537.36" cancel -10.61.92.2 6595 [12/Jun/2017:12:39:58 maliquam] "UNLOCK https://www5.example.com/orroq/vitaedic.txt?orisni=ons#remagn ecillu" 10.73.207.70 llamco atu "untincul" ssecil commodi 3023 "https://mail.example.net/tate/onevo.htm?emvele=isnost#olorem" "Mozilla/5.0 (Linux; Android 6.0; Lenovo A2016a40 Build/MRA58K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.106 Mobile Safari/537.36 YaApp_Android/10.30 YaSearchBrowser/10.30" block -10.84.32.178 5271 [26/Jun/2017:7:42:33 aliq] "GET https://example.net/mven/olorsit.gif?oremag=illu#ruredo mac" temUt 2741 "https://internal.example.com/uamnihi/risnis.html?scingeli=isn#sBono" "Mozilla/5.0 (Linux; Android 8.1.0; SM-A260G Build/OPR6; rv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Rocket/2.1.17(19420) Chrome/81.0.4044.138 Mobile Safari/537.36" allow 10.50.124.116 numquam 104.719000 -10.173.222.131 918 [11/Jul/2017:2:45:07 ori] "TRACE https://www5.example.net/rum/eataevi.html?ulla=iqu#oin hil" 10.211.234.224 uiadol Duisa "lupta" aUt boNem 5564 "https://api.example.org/maveni/onevo.htm?liquaUte=alorum#obeataev" "Mozilla/5.0 (Linux; Android 9; G8142) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.83 Mobile Safari/537.36" accept -10.11.83.126 6581 [25/Jul/2017:9:47:41 naaliq] "PROPFIND https://mail.example.net/osquir/mod.txt?fugitse=imad#tinvolup tsed" 10.0.157.225 itam atu "lloin" remipsum tempor 1282 "https://www5.example.net/incidid/rure.htm?edquian=loremeu#aturve" "Mozilla/5.0 (Linux; Android 9; POCOPHONE F1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.83 Mobile Safari/537.36" deny -10.228.77.21 6889 [08/Aug/2017:4:50:15 lamc] "PUT https://api.example.com/asper/umq.txt?itasper=uae#mve uia" 10.92.237.93 mad onse "redol" gnaa mod 5107 "https://www5.example.com/toditaut/voluptat.htm?strumex=eprehend#asnu" "Mozilla/5.0 (Linux; U; Android 4.0.3; es-us; GT-P3100 Build/IML74K) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Safari/534.30" cancel -10.102.215.23 3665 [22/Aug/2017:11:52:50 esseq] "POST https://www5.example.net/quatD/isqua.jpg?oloreseo=iruredol#veniamqu licaboN" 10.20.28.92 econs ntexpl "dunt" litsedq nderiti 409 "https://api.example.com/Cic/olorema.txt?iscive=quasiar#aeab" "Opera/9.80 (Series 60; Opera Mini/7.1.32444/174.101; U; ru) Presto/2.12.423 Version/12.16" allow -10.45.28.159 5627 [06/Sep/2017:6:55:24 ree] "NONE https://api.example.net/ation/luptas.html?iatqu=lorsi#repreh plic" 10.17.87.79 tetur tionula "ritqu" ecatcupi uamei 4595 "https://www5.example.com/onse/olorem.gif?duntutla=ntium#iration" "Mozilla/5.0 (Linux; Android 7.0; SM-S337TL) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.83 Mobile Safari/537.36" block -10.177.238.45 5137 [20/Sep/2017:1:57:58 ssusci] "DELETE https://internal.example.com/mpo/unte.jpg?ueipsa=scipitl#eumi quasiarc" 10.189.94.51 tetura rsp "oluptat" metco acom 5704 "https://api.example.com/tem/exeacomm.txt?taliqui=mides#ciun" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.122 YaBrowser/20.3.0.2221 Yowser/2.5 Safari/537.36" allow -10.46.77.76 5169 [04/Oct/2017:9:00:32 anim] "GET https://www.example.org/uov/quaeab.jpg?moles=dipiscin#olup aco" 10.101.85.169 natu liquid "enim" Finibus radi 5697 "https://example.com/taed/umdolo.html?rroqu=dquiaco#nibus" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.122 YaBrowser/20.3.0.2221 Yowser/2.5 Safari/537.36" accept -10.24.54.129 77 [19/Oct/2017:4:03:07 eprehend] "HEAD https://example.net/edolo/ugiatquo.jpg?eosquira=pta#snos orsi" 10.231.7.209 lorsita eavol "osamnis" temaccu scipitl 1247 "https://www5.example.org/caboNem/urExcept.txt?litesseq=atcupida#tessequa" "Mozilla/5.0 (Linux; Android 10; ASUS_X01BDA) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.162 Mobile Safari/537.36" block -10.121.163.5 7803 [02/Nov/2017:11:05:41 redol] "CONNECT https://api.example.org/isci/dolor.htm?orinrep=quiavol#nrepreh ratv" 10.77.129.175 tali BCS "qui" ugiatquo incidid 2617 "https://www.example.com/sBonor/fugits.jpg?amc=vol#admi" "Mozilla/5.0 (Linux; Android 9; LG-US998) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.83 Mobile Safari/537.36" allow -10.51.236.148 329 [16/Nov/2017:6:08:15 adol] "PROPFIND https://mail.example.com/roide/tem.gif?rerepre=nculpaq#culpaqui tvolup" 10.116.146.114 col obea "emp" agnaaliq est 1444 "https://www.example.com/inculp/onofd.gif?umdolors=dolori#asperna" "Mozilla/5.0 (Linux; Android 10; STK-L21 Build/HUAWEISTK-L21) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.83 Mobile Safari/537.36 YaApp_Android/10.91 YaSearchBrowser/10.91" deny -10.244.108.135 6997 [01/Dec/2017:1:10:49 ume] "NONE https://internal.example.net/rautod/olest.jpg?lapar=ritati#edquia itesse" 10.217.222.99 ame amvolu "mip" tion tobeatae 2512 "https://api.example.com/iqua/luptat.txt?oremqu=uradi#velitsed" "Mozilla/5.0 (Linux; Android 6.0; U20 Build/MRA58K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.147 Mobile Safari/537.36 YaApp_Android/10.90 YaSearchBrowser/10.90" block -10.4.69.152 3833 [15/Dec/2017:8:13:24 scivel] "PUT https://api.example.org/iusmodt/enim.txt?aquio=ersp#iame orroquis" 10.150.198.112 ntmoll mexer "estla" uipexe abor 1370 "https://www.example.net/remips/illoi.jpg?abori=uisnostr#reetdol" "Mozilla/5.0 (Linux; Android 10; SM-A305FN Build/QP1A.190711.020; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/78.0.3904.96 Mobile Safari/537.36 YandexSearch/8.10 YandexSearchBrowser/8.10" block -10.45.114.111 357 [29/Dec/2017:3:15:58 olup] "POST https://example.org/abillo/undeom.html?oraincid=quaer#eetdo tlab" 10.45.54.107 seddoeiu nse "aali" edictasu mdolors 7490 "https://www5.example.org/atis/atDuis.txt?nisiut=rumwri#velill" "Mozilla/5.0 (Linux; Android 10; SM-A715F Build/QP1A.190711.020; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/83.0.4103.83 Mobile Safari/537.36 [FB_IAB/Orca-Android;FBAV/266.0.0.16.117;]" accept -10.49.242.174 4078 [12/Jan/2018:10:18:32 tat] "TRACE https://mail.example.net/uam/orumSec.jpg?isnisiu=suntincu#sse venia" 10.205.28.24 oeni untutlab "tvolup" consecte pteurs 742 "https://www5.example.net/ons/tiaecon.html?unt=tass#tiumdol" "Mozilla/5.0 (Linux; Android 6.0; U20 Build/MRA58K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.147 Mobile Safari/537.36 YaApp_Android/10.90 YaSearchBrowser/10.90" allow -10.17.202.219 487 [27/Jan/2018:5:21:06 iame] "HEAD https://www5.example.org/umiurer/rere.txt?mnisi=usmo#iamea imaveni" 10.183.223.149 cor odoco "oin" itseddoe elites 6366 "https://mail.example.com/eursinto/litesse.html?licaboNe=tautfug#giatquov" "Mozilla/5.0 (compatible; Yahoo Ad monitoring; https://help.yahoo.com/kb/yahoo-ad-monitoring-SLN24857.html) yahoo.adquality.lwd.desktop/1591143192-10" deny -10.81.140.173 7623 [10/Feb/2018:12:23:41 itae] "MOVE https://internal.example.net/atnula/ditautf.jpg?iquidex=olup#remipsu tan" 10.88.172.222 doconse etdol "dolorsi" nturmag tura 6695 "https://internal.example.org/totam/ntoccae.htm?idunt=atqu#naturau" "mobmail android 2.1.3.3150" cancel -10.162.129.196 4247 [24/Feb/2018:7:26:15 snisi] "OPTIONS https://api.example.net/uscip/umS.txt?quiacons=uisa#xeacommo Cicero" 10.247.53.179 issu identsu "piscivel" hend eacommo 6835 "https://example.com/osquira/umd.gif?scipi=tur#acon" "mobmail android 2.1.3.3150" accept -10.110.86.230 536 [11/Mar/2018:2:28:49 eFini] "UNLOCK https://mail.example.com/mrema/ullamc.txt?eufug=roquisq#temporai uido" 10.172.148.223 snulap enimadm "stenatu" upta atc 3066 "https://www5.example.net/asnulap/ipi.htm?orissu=fic#sBon" "Mozilla/5.0 (Linux; Android 5.1.1; Android Build/LMY47V) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Mobile Safari/537.36 YaApp_Android/9.80 YaSearchBrowser/9.80" accept -10.93.159.170 3481 [25/Mar/2018:9:31:24 emullam] "GET https://www5.example.com/isau/itinvol.txt?saquaea=ons#orsitam modico" 10.232.19.43 porinc riame "riat" sseq eriam 729 "https://internal.example.net/imve/essequam.gif?urQuis=etcon#onsequu" "Mozilla/5.0 (Linux; Android 6.0; QMobile X700 PRO II) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.92 Mobile Safari/537.36" deny -10.207.97.192 973 [08/Apr/2018:4:33:58 emp] "ICP_QUERY https://api.example.net/veli/venia.htm?etdolor=uat#onemulla riaturEx" 10.55.55.72 nculp asp "eacom" mag gelitse 2007 "https://example.net/lab/llumq.htm?tetura=rumet#uptasnul" "Mozilla/5.0 (Linux; Android 7.0; SM-S337TL) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.83 Mobile Safari/537.36" cancel -10.41.156.88 203 [22/Apr/2018:11:36:32 oco] "MOVE https://internal.example.net/ainci/osqu.jpg?sus=imavenia#expli ugiat" 10.89.73.240 orem ntorever "pisciv" fugiatqu seos 5561 "https://www5.example.net/elillum/veleumi.gif?tvol=oluptate#lit" "Mozilla/5.0 (Linux; Android 9; 5024D_RU Build/PPR1.180610.011) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.92 Mobile Safari/537.36 YaApp_Android/10.61 YaSearchBrowser/10.61" deny -10.54.44.231 5292 [07/May/2018:6:39:06 aco] "CONNECT https://www.example.org/runtm/eturadip.htm?psumd=oloree#seos rios" 10.101.183.86 mvenia mcorpo "ntexpl" abor oreverit 6451 "https://internal.example.net/tat/eufugia.htm?tau=fficia#est" "Mozilla/5.0 (compatible; Yahoo Ad monitoring; https://help.yahoo.com/kb/yahoo-ad-monitoring-SLN24857.html) yahoo.adquality.lwd.desktop/1591143192-10" allow -10.181.177.74 3378 [21/May/2018:1:41:41 itsedd] "LOCK https://internal.example.org/liquipex/uisnos.html?ventor=lupt#umwri odoc" 10.130.150.189 oreeu nvo "iamqui" tassita colabori 1223 "https://www.example.net/lpa/isn.htm?iat=ffic#siuta" "Mozilla/5.0 (Linux; Android 9; U307AS) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.83 Mobile Safari/537.36" accept -10.76.220.3 2492 [04/Jun/2018:8:44:15 serrorsi] "GET https://api.example.org/mquisnos/lore.txt?siar=isn#veniamq lup" 10.83.130.95 ipitlabo userror "eacommo" nderi liqua 7030 "https://api.example.net/henderit/remq.jpg?voluptas=velill#rspic" "Mozilla/5.0 (Linux; Android 4.1.2; Micromax P410i Build/JZO54K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.111 Mobile Safari/537.36" deny -10.219.245.58 7073 [19/Jun/2018:3:46:49 snisiut] "COPY https://www.example.com/quas/occaeca.htm?ender=dico#uptatem upt" 10.166.160.217 olor radip "rchitect" Dui iameaqu 2429 "https://api.example.com/asnulap/yCiceroi.jpg?ender=inc#tect" "Opera/9.80 (Series 60; Opera Mini/7.1.32444/174.101; U; ru) Presto/2.12.423 Version/12.16" deny -10.121.121.153 723 [03/Jul/2018:10:49:23 smoditem] "UNLOCK https://www5.example.org/uidolo/umdolore.jpg?oquisq=abori#sit catcu" 10.183.243.246 amni tatio "amquisno" modoc magnam 3267 "https://example.com/idatat/onev.html?lesti=oreseo#reprehen" "Mozilla/5.0 (Linux; Android 10; STK-L21 Build/HUAWEISTK-L21) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.83 Mobile Safari/537.36 YaApp_Android/10.91 YaSearchBrowser/10.91" cancel -10.54.5.47 1585 [17/Jul/2018:5:51:58 mmodi] "OPTIONS https://internal.example.net/eniamqu/inimav.htm?imadm=uta#tisu remagnam" 10.202.224.209 iusmodit aturv "ectetura" obeataev umf 3141 "https://www.example.com/quaeabil/emip.htm?urExc=tDuis#iqu" "Mozilla/5.0 (Linux; Android 4.1.2; Micromax P410i Build/JZO54K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.111 Mobile Safari/537.36" cancel -10.72.99.69 3172 [01/Aug/2018:12:54:32 oremeumf] "PROPFIND https://mail.example.net/sintocca/mipsumqu.htm?tnulapar=ico#giatquo lors" 10.170.234.233 accus uatu "mquis" lab uido 2046 "https://mail.example.com/tena/aal.jpg?CSedu=mcol#lup" "Mozilla/5.0 (Linux; Android 9; POCOPHONE F1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.83 Mobile Safari/537.36" allow -10.245.240.47 4017 [15/Aug/2018:7:57:06 itaedict] "DELETE https://api.example.org/rep/remap.html?siarc=fdeFin#eleumi edic" 10.142.130.227 olabori odic "iuta" liquaUte scivelit 7795 "https://internal.example.net/scipit/lloinve.htm?evolup=rvelil#isiutali" "Mozilla/5.0 (Linux; Android 9; ZTE Blade V1000RU Build/PPR1.180610.011) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Mobile Safari/537.36 YaApp_Android/10.91 YaSearchBrowser/10.91" allow -10.62.188.193 4104 [29/Aug/2018:2:59:40 atu] "DELETE https://api.example.net/eturad/tDuis.htm?enimadmi=tateveli#osa mini" 10.61.110.7 oremque quaU "ufugi" cin tmo 508 "https://example.com/oremip/its.jpg?iavol=natuserr#ostrudex" "Mozilla/5.0 (compatible; Yahoo Ad monitoring; https://help.yahoo.com/kb/yahoo-ad-monitoring-SLN24857.html) yahoo.adquality.lwd.desktop/1591143192-10" deny -10.172.139.78 6533 [12/Sep/2018:10:02:15 lamco] "COPY https://www.example.net/hender/ptatemU.htm?mquisnos=tnulapa#madmi tlabore" 10.68.198.188 doeiu onsectet "dentsunt" inea animid 2119 "https://mail.example.net/onnumqua/quioff.html?upt=atatnonp#nvol" "Mozilla/5.0 (Linux; Android 9; 5024D_RU Build/PPR1.180610.011) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.92 Mobile Safari/537.36 YaApp_Android/10.61 YaSearchBrowser/10.61" block -10.172.47.7 2805 [27/Sep/2018:5:04:49 midest] "CONNECT https://www.example.org/iduntutl/rsitam.htm?ntor=oinBCSed#oid rchit" 10.169.63.169 ariat midestl "quatu" avolu teturad 3465 "https://api.example.net/iquaUten/prehende.gif?rpo=velites#nonpro" "Opera/9.80 (Series 60; Opera Mini/7.1.32444/174.101; U; ru) Presto/2.12.423 Version/12.16" block -10.32.98.109 5012 [11/Oct/2018:12:07:23 dexercit] "PURGE https://example.org/itessequ/porissu.html?uip=ectobea#dat aUtenima" 10.62.10.137 eeufugi deomnisi "olupta" oll laboree 3880 "https://api.example.org/cupidata/stiaecon.htm?rsint=itl#ttenb" "Mozilla/5.0 (Linux; Android 9; LG-US998) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.83 Mobile Safari/537.36" cancel -10.176.62.146 5945 [25/Oct/2018:7:09:57 lors] "COPY https://api.example.net/enimad/tis.txt?mipsumq=ident#nimide quelaud" 10.255.40.12 rro oeiusmo "nimv" emeu tatemac 5192 "https://www5.example.com/teursint/etMa.gif?lamcolab=ceroinB#umqui" "Mozilla/5.0 (Linux; Android 6.0; U20 Build/MRA58K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.147 Mobile Safari/537.36 YaApp_Android/10.90 YaSearchBrowser/10.90" deny -10.194.198.46 3387 [09/Nov/2018:2:12:32 cta] "GET https://api.example.org/taspe/yCiceroi.htm?cti=ommodoc#nse mveniam" tuser 2694 "https://internal.example.com/tlaboru/aeabillo.txt?equuntu=quamni#turveli" "Mozilla/5.0 (iPhone; CPU iPhone OS 13_4_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 LightSpeed [FBAN/MessengerLiteForiOS;FBAV/266.0.0.32.114;FBBV/216059178;FBDV/iPhone10,6;FBMD/iPhone;FBSN/iOS;FBSV/13.4.1;FBSS/3;FBCR/;FBID/phone;FBLC/en_US;FBOP/0]" deny 10.88.98.31 rured 105.243000 -10.5.49.20 7503 [23/Nov/2018:9:15:06 macc] "OPTIONS https://example.com/beat/rro.jpg?uisau=qua#iarchite emsequi" 10.1.27.133 edqu tationu "gnaaliq" olore ntutlab 6881 "https://www5.example.com/gnama/esciun.html?ratvo=ntutl#volupt" "Mozilla/5.0 (Linux; Android 6.0; Lenovo A2016a40 Build/MRA58K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.106 Mobile Safari/537.36 YaApp_Android/10.30 YaSearchBrowser/10.30" block -10.11.73.145 6972 [07/Dec/2018:4:17:40 uisautem] "POST https://www5.example.org/loremq/turmagni.txt?emUtenim=ende#dexea aco" 10.70.244.155 olorsi caboNemo "uptas" temaccus ons 2160 "https://internal.example.com/ctetur/mvolupta.html?oreeu=mea#ssec" "Mozilla/5.0 (iPhone; CPU iPhone OS 13_4_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 LightSpeed [FBAN/MessengerLiteForiOS;FBAV/266.0.0.32.114;FBBV/216059178;FBDV/iPhone10,6;FBMD/iPhone;FBSN/iOS;FBSV/13.4.1;FBSS/3;FBCR/;FBID/phone;FBLC/en_US;FBOP/0]" accept -10.204.214.98 985 [21/Dec/2018:11:20:14 equ] "PURGE https://www5.example.net/deomnisi/ddoe.txt?oremi=ectobeat#ecte abo" 10.121.80.158 boriosa cillumdo "ditau" moenimip uames 7663 "https://internal.example.com/lor/oreeu.html?eturadip=nost#atus" "Mozilla/5.0 (Linux; Android 7.0; SM-S337TL) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.83 Mobile Safari/537.36" accept -10.74.115.33 4006 [05/Jan/2019:6:22:49 nsequat] "PURGE https://api.example.net/tiset/sci.jpg?rauto=doloreeu#lors eumfu" 10.139.151.19 eumf roquisq "uasi" maveniam uis 5533 "https://www.example.com/imi/animi.htm?ama=tatnonp#ntiumt" "Mozilla/5.0 (Linux; Android 10; SM-A305FN Build/QP1A.190711.020; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/78.0.3904.96 Mobile Safari/537.36 YandexSearch/8.10 YandexSearchBrowser/8.10" block -10.191.220.1 6454 [19/Jan/2019:1:25:23 ctetura] "DELETE https://api.example.net/tDuisau/aturve.htm?tper=pisciv#tconsect pariat" 10.242.48.203 ctobeat isi "idexeac" ntu tdolo 3872 "https://mail.example.com/olupt/ola.jpg?etquasia=qua#adm" "Mozilla/5.0 (Linux; Android 9; Notepad_K10) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.83 Safari/537.36" deny -10.109.88.27 5568 [02/Feb/2019:8:27:57 cidu] "PROPATCH https://internal.example.com/oluptate/todi.jpg?tdolo=ident#scip eacommod" 10.254.10.98 adipisc aparia "maliq" ccusant epteurs 6661 "https://www5.example.org/oditau/onsec.gif?temqui=lup#aeca" "Mozilla/5.0 (Linux; Android 9; Pixel 3 Build/PD1A.180720.030) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.158 Mobile Safari/537.36" accept -10.5.148.114 4749 [17/Feb/2019:3:30:32 ntin] "LOCK https://mail.example.com/radipis/lore.html?civeli=eufugia#utlabore tamr" 10.175.138.42 olore onemul "trudexe" remeum etur 890 "https://mail.example.org/quiav/ctionofd.gif?Finibus=uisautei#nevolu" "Mozilla/5.0 (Linux; Android 6.0; ZTE BLADE V7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.83 Mobile Safari/537.36" deny -10.0.0.240 1795 [03/Mar/2019:10:33:06 psa] "PROPFIND https://internal.example.org/olupta/tio.jpg?idestl=litani#emp arch" 10.18.199.203 ugits ittenb "tobeatae" ntut llum 366 "https://example.com/equat/estiaec.htm?mquido=ende#ntmollit" "Mozilla/5.0 (Linux; Android 9; U307AS) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.83 Mobile Safari/537.36" allow -10.1.220.47 6685 [17/Mar/2019:5:35:40 mipsamv] "NONE https://www5.example.com/sequines/cto.gif?temaccu=uamqua#Neq runt" 10.73.80.251 pteurs ercitati "atem" serro lumquid 5939 "https://www5.example.org/imaveni/equ.htm?ssequamn=ave#taliqui" "Mozilla/5.0 (Linux; Android 10; SM-A715F Build/QP1A.190711.020; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/83.0.4103.83 Mobile Safari/537.36 [FB_IAB/Orca-Android;FBAV/266.0.0.16.117;]" allow -10.153.109.61 7499 [01/Apr/2019:12:38:14 numq] "PURGE https://www.example.net/periam/ain.gif?iquipex=mqu#onorume abill" 10.22.34.206 mini mve "tionev" uasiarch velites 1745 "https://api.example.org/equa/edquiaco.gif?olorsit=naaliq#plica" "Mozilla/5.0 (Linux; Android 10; STK-L21 Build/HUAWEISTK-L21) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.83 Mobile Safari/537.36 YaApp_Android/10.91 YaSearchBrowser/10.91" block -10.62.168.226 5334 [15/Apr/2019:7:40:49 bori] "CONNECT https://www.example.net/ecatc/quovolu.jpg?dexe=nemul#Duis lupt" 10.199.103.185 uipe ipsa "con" eirured sequamn 5243 "https://mail.example.com/ciatisun/duntutl.htm?didun=riaturEx#nde" "Mozilla/5.0 (iPhone; CPU iPhone OS 13_4_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 LightSpeed [FBAN/MessengerLiteForiOS;FBAV/266.0.0.32.114;FBBV/216059178;FBDV/iPhone10,6;FBMD/iPhone;FBSN/iOS;FBSV/13.4.1;FBSS/3;FBCR/;FBID/phone;FBLC/en_US;FBOP/0]" allow -10.97.33.56 3541 [29/Apr/2019:2:43:23 rad] "COPY https://example.com/tqui/ssequ.gif?emse=emqui#cipitla tlab" 10.128.84.27 nula ptate "volupta" umfu utla 2478 "https://www5.example.com/dolo/velites.gif?equa=apari#tsunt" "Mozilla/5.0 (Linux; Android 10; ASUS_X01BDA) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.162 Mobile Safari/537.36" block -10.49.169.175 2103 [13/May/2019:9:45:57 sistena] "HEAD https://example.com/caboN/imipsam.jpg?catcupid=ritquiin#quisnost sequines" 10.115.154.104 illum ore "spici" Sedut tatis 7767 "https://www5.example.com/sequines/minimve.gif?toditau=uiad#nvolupta" "Mozilla/5.0 (Linux; Android 8.1.0; SM-A260G Build/OPR6; rv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Rocket/2.1.17(19420) Chrome/81.0.4044.138 Mobile Safari/537.36" allow -10.213.100.153 2571 [28/May/2019:4:48:31 iatquo] "PROPFIND https://www.example.org/oinvento/ali.htm?utaliqui=isciv#osqu ptatemse" 10.33.112.100 catcup enimad "magnaali" velillum ionev 1594 "https://internal.example.com/ameaq/Quis.html?lestiae=iav#umiure" "Mozilla/5.0 (Linux; U; Android 4.0.3; es-us; GT-P3100 Build/IML74K) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Safari/534.30" block -10.216.143.226 2632 [11/Jun/2019:11:51:06 deomn] "CONNECT https://api.example.net/quido/llo.htm?tpersp=assi#rch psa" 10.25.53.93 tvolup oremeu "lab" lla urau 6127 "https://example.net/equamni/atcupi.htm?onemull=mdo#labore" "Mozilla/5.0 (Linux; U; Android 4.0.3; es-us; GT-P3100 Build/IML74K) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Safari/534.30" cancel -10.139.195.188 893 [25/Jun/2019:6:53:40 aliquaU] "HEAD https://www.example.net/tvolu/imve.txt?gnaaliq=quam#deriti edictasu" 10.246.115.57 edquiano mSecti "henderi" taevitae tevel 5926 "https://example.com/ita/iquipexe.jpg?quamqua=quuntur#nihi" "Mozilla/5.0 (Linux; Android 9; G8142) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.83 Mobile Safari/537.36" allow -10.60.56.205 4345 [10/Jul/2019:1:56:14 writtenb] "NONE https://www5.example.com/ugitsed/dminimve.htm?onse=uiac#tquii tesse" 10.82.148.126 inBCSedu ita "ade" nihilmol nder 2214 "https://api.example.net/uunturm/iatn.gif?tseddo=diduntut#rroq" "Mozilla/5.0 (iPhone; CPU iPhone OS 13_4_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 LightSpeed [FBAN/MessengerLiteForiOS;FBAV/266.0.0.32.114;FBBV/216059178;FBDV/iPhone10,6;FBMD/iPhone;FBSN/iOS;FBSV/13.4.1;FBSS/3;FBCR/;FBID/phone;FBLC/en_US;FBOP/0]" block -10.245.251.98 261 [24/Jul/2019:8:58:48 mremaper] "DELETE https://api.example.com/ntium/ide.htm?tamrema=isautem#usan gnamali" 10.6.11.124 edqui tvolu "psu" strud onsequ 5930 "https://www5.example.net/iumto/sequatu.jpg?runtm=mdoloree#que" "Mozilla/5.0 (Linux; Android 6.0; QMobile X700 PRO II) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.92 Mobile Safari/537.36" accept -10.99.55.115 1537 [07/Aug/2019:4:01:23 exerci] "CONNECT https://www5.example.org/iad/ngelits.jpg?mporin=orissusc#utaliqui uov" 10.145.25.55 litsed lumd "tiaec" lorem iamquisn 2079 "https://mail.example.org/aper/entor.txt?lumdol=edutper#utemve" "Mozilla/5.0 (Linux; Android 6.0; ZTE BLADE V7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.83 Mobile Safari/537.36" block -10.187.86.64 3325 [21/Aug/2019:11:03:57 atatn] "TRACE https://mail.example.com/iatnulap/roi.htm?uine=loreeu#eprehe ddoeiusm" 10.6.88.105 uptatemU rem "onorumet" iscivel rinci 249 "https://internal.example.com/eriti/uptateve.htm?rema=mcol#tion" "Mozilla/5.0 (Linux; Android 9; Notepad_K10) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.83 Safari/537.36" allow -10.252.146.132 503 [05/Sep/2019:6:06:31 tat] "CONNECT https://mail.example.org/turv/use.jpg?mtot=macc#illoin eursi" 10.163.9.35 uatDu umq "ipsu" oremip ota 4562 "https://example.com/epteurs/itse.jpg?modi=cip#tla" "Mozilla/5.0 (Linux; Android 8.1.0; SM-A260G Build/OPR6; rv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Rocket/2.1.17(19420) Chrome/81.0.4044.138 Mobile Safari/537.36" accept -10.249.101.177 4465 [19/Sep/2019:1:09:05 quam] "DELETE https://mail.example.com/umdol/rerepr.txt?emipsumq=orinr#ineavol umdo" 10.235.160.245 squamest upta "umquiad" porinc uameiu 4857 "https://api.example.org/mipsa/uas.gif?reeufu=umexe#xce" "Mozilla/5.0 (Linux; Android 8.1.0; SM-A260G Build/OPR6; rv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Rocket/2.1.17(19420) Chrome/81.0.4044.138 Mobile Safari/537.36" deny -10.140.170.171 773 [03/Oct/2019:8:11:40 deom] "TRACE https://internal.example.com/rautod/onorumet.htm?mvo=agnidol#nevolup erspici" 10.73.218.58 quidol tinv "Utenima" nse umq 1831 "https://mail.example.org/meaquei/snisiu.htm?atev=vento#litsed" "Mozilla/5.0 (Linux; Android 9; U307AS) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.83 Mobile Safari/537.36" block -10.248.156.138 2125 [18/Oct/2019:3:14:14 smodit] "OPTIONS https://example.net/dun/xce.jpg?nsequat=mvol#asiar eiu" 10.67.148.40 tcons squamest "ction" emveleum siuta 2155 "https://example.com/epteur/onproi.txt?imveniam=sunte#exerc" "Opera/9.80 (Series 60; Opera Mini/7.1.32444/174.101; U; ru) Presto/2.12.423 Version/12.16" deny -10.83.154.75 4260 [01/Nov/2019:10:16:48 explicab] "UNLOCK https://api.example.com/teiru/mquamei.jpg?pta=uradi#sequu orumetMa" 10.37.33.179 taed eatae "siutali" oloremq sum 6106 "https://www.example.org/ulamc/doe.txt?remquela=toreve#squirat" "Mozilla/5.0 (Linux; Android 7.0; MEIZU M6 Build/NRD90M) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.120 Mobile Safari/537.36 YaApp_Android/10.30 YaSearchBrowser/10.30" accept -10.14.29.202 7842 [15/Nov/2019:5:19:22 modoco] "MKOL https://www5.example.net/dtempor/rroquisq.gif?liquid=uidex#umdolo nimv" 10.84.107.38 tutla usmod "ine" qui itse 2097 "https://www5.example.org/tasn/exeaco.html?metc=aincidu#reprehe" "Mozilla/5.0 (Linux; Android 10; SM-A305FN Build/QP1A.190711.020; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/78.0.3904.96 Mobile Safari/537.36 YandexSearch/8.10 YandexSearchBrowser/8.10" deny -10.221.86.133 6682 [30/Nov/2019:12:21:57 edi] "POST https://api.example.com/ore/adeser.htm?pre=aute#rchite rcit" 10.204.223.184 oinve ptasnul "utaliqui" mcorpor rerepr 6861 "https://example.com/tuserror/agnama.jpg?deritq=boreetdo#teni" "Mozilla/5.0 (Linux; Android 10; SM-A715F Build/QP1A.190711.020; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/83.0.4103.83 Mobile Safari/537.36 [FB_IAB/Orca-Android;FBAV/266.0.0.16.117;]" deny -10.195.4.70 3844 [14/Dec/2019:7:24:31 mfugiat] "PUT https://api.example.com/liqu/dolor.htm?ess=umdo#aer quela" 10.229.39.190 Nequepo edictas "emac" rmagnido exeaco 2574 "https://api.example.org/loremi/nven.htm?usan=ugiatn#squa" "Mozilla/5.0 (Linux; Android 10; STK-L21 Build/HUAWEISTK-L21) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.83 Mobile Safari/537.36 YaApp_Android/10.91 YaSearchBrowser/10.91" deny diff --git a/packages/squid/changelog.yml b/packages/squid/changelog.yml index 1f3ad2c8715..88e71b589b1 100644 --- a/packages/squid/changelog.yml +++ b/packages/squid/changelog.yml @@ -1,4 +1,9 @@ # newer versions go on top +- version: "0.20.0" + changes: + - description: Rewrite integration with standard ingest pipelines. + type: enhancement + link: https://github.com/elastic/integrations/pull/10882 - version: "0.19.3" changes: - description: Add http.request.body.bytes to ECS mappings. diff --git a/packages/squid/data_stream/log/_dev/test/pipeline/test-access1.log b/packages/squid/data_stream/log/_dev/test/pipeline/test-access.log similarity index 100% rename from packages/squid/data_stream/log/_dev/test/pipeline/test-access1.log rename to packages/squid/data_stream/log/_dev/test/pipeline/test-access.log diff --git a/packages/squid/data_stream/log/_dev/test/pipeline/test-access.log-expected.json b/packages/squid/data_stream/log/_dev/test/pipeline/test-access.log-expected.json new file mode 100644 index 00000000000..12732378dde --- /dev/null +++ b/packages/squid/data_stream/log/_dev/test/pipeline/test-access.log-expected.json @@ -0,0 +1,6518 @@ +{ + "expected": [ + { + "@timestamp": "2006-09-08T04:21:52.049Z", + "destination": { + "bytes": 19763 + }, + "ecs": { + "version": "8.11.0" + }, + "event": { + "category": [ + "web" + ], + "duration": 5006000000, + "kind": "event", + "original": "1157689312.049 5006 10.105.21.199 TCP_MISS/200 19763 CONNECT login.yahoo.com:443 badeyek DIRECT/209.73.177.115 -", + "outcome": "success", + "type": [ + "access" + ] + }, + "http": { + "request": { + "body": { + "bytes": 19763 + }, + "method": "CONNECT" + } + }, + "observer": { + "product": "Squid", + "type": "proxy", + "vendor": "Squid" + }, + "related": { + "ip": [ + "10.105.21.199" + ], + "user": [ + "badeyek" + ] + }, + "source": { + "address": "10.105.21.199", + "ip": "10.105.21.199", + "user": { + "name": "badeyek" + } + }, + "squid": { + "peer_host": "209.73.177.115", + "peer_status": "DIRECT", + "result_code": "TCP_MISS", + "status_code": 200 + }, + "tags": [ + "preserve_original_event" + ], + "url": { + "original": "login.yahoo.com:443" + } + }, + { + "@timestamp": "2006-09-08T04:22:00.327Z", + "destination": { + "address": "www.goonernews.com", + "bytes": 10182 + }, + "ecs": { + "version": "8.11.0" + }, + "event": { + "category": [ + "web" + ], + "duration": 2864000000, + "kind": "event", + "original": "1157689320.327 2864 10.105.21.199 TCP_MISS/200 10182 GET http://www.goonernews.com/ badeyek DIRECT/207.58.145.61 text/html", + "outcome": "success", + "type": [ + "access" + ] + }, + "http": { + "request": { + "body": { + "bytes": 10182 + }, + "method": "GET" + } + }, + "observer": { + "product": "Squid", + "type": "proxy", + "vendor": "Squid" + }, + "related": { + "ip": [ + "10.105.21.199" + ], + "user": [ + "badeyek" + ] + }, + "source": { + "address": "10.105.21.199", + "ip": "10.105.21.199", + "user": { + "name": "badeyek" + } + }, + "squid": { + "content_type": "text/html", + "peer_host": "207.58.145.61", + "peer_status": "DIRECT", + "result_code": "TCP_MISS", + "status_code": 200 + }, + "tags": [ + "preserve_original_event" + ], + "url": { + "domain": "www.goonernews.com", + "original": "http://www.goonernews.com/", + "path": "/", + "scheme": "http" + } + }, + { + "@timestamp": "2006-09-08T04:22:00.343Z", + "destination": { + "address": "www.goonernews.com", + "bytes": 214 + }, + "ecs": { + "version": "8.11.0" + }, + "event": { + "category": [ + "web" + ], + "duration": 1357000000, + "kind": "event", + "original": "1157689320.343 1357 10.105.21.199 TCP_REFRESH_HIT/304 214 GET http://www.goonernews.com/styles.css badeyek DIRECT/207.58.145.61 -", + "outcome": "success", + "type": [ + "access" + ] + }, + "http": { + "request": { + "body": { + "bytes": 214 + }, + "method": "GET" + } + }, + "observer": { + "product": "Squid", + "type": "proxy", + "vendor": "Squid" + }, + "related": { + "ip": [ + "10.105.21.199" + ], + "user": [ + "badeyek" + ] + }, + "source": { + "address": "10.105.21.199", + "ip": "10.105.21.199", + "user": { + "name": "badeyek" + } + }, + "squid": { + "peer_host": "207.58.145.61", + "peer_status": "DIRECT", + "result_code": "TCP_REFRESH_HIT", + "status_code": 304 + }, + "tags": [ + "preserve_original_event" + ], + "url": { + "domain": "www.goonernews.com", + "extension": "css", + "original": "http://www.goonernews.com/styles.css", + "path": "/styles.css", + "scheme": "http" + } + }, + { + "@timestamp": "2006-09-08T04:22:01.315Z", + "destination": { + "address": "www.goonernews.com", + "bytes": 1464 + }, + "ecs": { + "version": "8.11.0" + }, + "event": { + "category": [ + "web" + ], + "duration": 1000000, + "kind": "event", + "original": "1157689321.315 1 10.105.21.199 TCP_HIT/200 1464 GET http://www.goonernews.com/styles.css badeyek NONE/- text/css", + "outcome": "success", + "type": [ + "access" + ] + }, + "http": { + "request": { + "body": { + "bytes": 1464 + }, + "method": "GET" + } + }, + "observer": { + "product": "Squid", + "type": "proxy", + "vendor": "Squid" + }, + "related": { + "ip": [ + "10.105.21.199" + ], + "user": [ + "badeyek" + ] + }, + "source": { + "address": "10.105.21.199", + "ip": "10.105.21.199", + "user": { + "name": "badeyek" + } + }, + "squid": { + "content_type": "text/css", + "peer_status": "NONE", + "result_code": "TCP_HIT", + "status_code": 200 + }, + "tags": [ + "preserve_original_event" + ], + "url": { + "domain": "www.goonernews.com", + "extension": "css", + "original": "http://www.goonernews.com/styles.css", + "path": "/styles.css", + "scheme": "http" + } + }, + { + "@timestamp": "2006-09-08T04:22:02.780Z", + "destination": { + "address": "www.google-analytics.com", + "bytes": 5626 + }, + "ecs": { + "version": "8.11.0" + }, + "event": { + "category": [ + "web" + ], + "duration": 1464000000, + "kind": "event", + "original": "1157689322.780 1464 10.105.21.199 TCP_HIT/200 5626 GET http://www.google-analytics.com/urchin.js badeyek NONE/- text/javascript", + "outcome": "success", + "type": [ + "access" + ] + }, + "http": { + "request": { + "body": { + "bytes": 5626 + }, + "method": "GET" + } + }, + "observer": { + "product": "Squid", + "type": "proxy", + "vendor": "Squid" + }, + "related": { + "ip": [ + "10.105.21.199" + ], + "user": [ + "badeyek" + ] + }, + "source": { + "address": "10.105.21.199", + "ip": "10.105.21.199", + "user": { + "name": "badeyek" + } + }, + "squid": { + "content_type": "text/javascript", + "peer_status": "NONE", + "result_code": "TCP_HIT", + "status_code": 200 + }, + "tags": [ + "preserve_original_event" + ], + "url": { + "domain": "www.google-analytics.com", + "extension": "js", + "original": "http://www.google-analytics.com/urchin.js", + "path": "/urchin.js", + "scheme": "http" + } + }, + { + "@timestamp": "2006-09-08T04:22:03.718Z", + "destination": { + "address": "www.goonernews.com", + "bytes": 30169 + }, + "ecs": { + "version": "8.11.0" + }, + "event": { + "category": [ + "web" + ], + "duration": 3856000000, + "kind": "event", + "original": "1157689323.718 3856 10.105.21.199 TCP_MISS/200 30169 GET http://www.goonernews.com/ badeyek DIRECT/207.58.145.61 text/html", + "outcome": "success", + "type": [ + "access" + ] + }, + "http": { + "request": { + "body": { + "bytes": 30169 + }, + "method": "GET" + } + }, + "observer": { + "product": "Squid", + "type": "proxy", + "vendor": "Squid" + }, + "related": { + "ip": [ + "10.105.21.199" + ], + "user": [ + "badeyek" + ] + }, + "source": { + "address": "10.105.21.199", + "ip": "10.105.21.199", + "user": { + "name": "badeyek" + } + }, + "squid": { + "content_type": "text/html", + "peer_host": "207.58.145.61", + "peer_status": "DIRECT", + "result_code": "TCP_MISS", + "status_code": 200 + }, + "tags": [ + "preserve_original_event" + ], + "url": { + "domain": "www.goonernews.com", + "original": "http://www.goonernews.com/", + "path": "/", + "scheme": "http" + } + }, + { + "@timestamp": "2006-09-08T04:22:04.156Z", + "destination": { + "address": "www.google-analytics.com", + "bytes": 399 + }, + "ecs": { + "version": "8.11.0" + }, + "event": { + "category": [ + "web" + ], + "duration": 1372000000, + "kind": "event", + "original": "1157689324.156 1372 10.105.21.199 TCP_MISS/200 399 GET http://www.google-analytics.com/__utm.gif? badeyek DIRECT/66.102.9.147 image/gif", + "outcome": "success", + "type": [ + "access" + ] + }, + "http": { + "request": { + "body": { + "bytes": 399 + }, + "method": "GET" + } + }, + "observer": { + "product": "Squid", + "type": "proxy", + "vendor": "Squid" + }, + "related": { + "ip": [ + "10.105.21.199" + ], + "user": [ + "badeyek" + ] + }, + "source": { + "address": "10.105.21.199", + "ip": "10.105.21.199", + "user": { + "name": "badeyek" + } + }, + "squid": { + "content_type": "image/gif", + "peer_host": "66.102.9.147", + "peer_status": "DIRECT", + "result_code": "TCP_MISS", + "status_code": 200 + }, + "tags": [ + "preserve_original_event" + ], + "url": { + "domain": "www.google-analytics.com", + "extension": "gif", + "original": "http://www.google-analytics.com/__utm.gif?", + "path": "/__utm.gif", + "query": "", + "scheme": "http" + } + }, + { + "@timestamp": "2006-09-08T04:22:04.266Z", + "destination": { + "address": "www.goonernews.com", + "bytes": 215 + }, + "ecs": { + "version": "8.11.0" + }, + "event": { + "category": [ + "web" + ], + "duration": 1457000000, + "kind": "event", + "original": "1157689324.266 1457 10.105.21.199 TCP_REFRESH_HIT/304 215 GET http://www.goonernews.com/graphics/newslogo.gif badeyek DIRECT/207.58.145.61 -", + "outcome": "success", + "type": [ + "access" + ] + }, + "http": { + "request": { + "body": { + "bytes": 215 + }, + "method": "GET" + } + }, + "observer": { + "product": "Squid", + "type": "proxy", + "vendor": "Squid" + }, + "related": { + "ip": [ + "10.105.21.199" + ], + "user": [ + "badeyek" + ] + }, + "source": { + "address": "10.105.21.199", + "ip": "10.105.21.199", + "user": { + "name": "badeyek" + } + }, + "squid": { + "peer_host": "207.58.145.61", + "peer_status": "DIRECT", + "result_code": "TCP_REFRESH_HIT", + "status_code": 304 + }, + "tags": [ + "preserve_original_event" + ], + "url": { + "domain": "www.goonernews.com", + "extension": "gif", + "original": "http://www.goonernews.com/graphics/newslogo.gif", + "path": "/graphics/newslogo.gif", + "scheme": "http" + } + }, + { + "@timestamp": "2006-09-08T04:22:04.281Z", + "destination": { + "address": "www.goonernews.com", + "bytes": 215 + }, + "ecs": { + "version": "8.11.0" + }, + "event": { + "category": [ + "web" + ], + "duration": 1465000000, + "kind": "event", + "original": "1157689324.281 1465 10.105.21.199 TCP_REFRESH_HIT/304 215 GET http://www.goonernews.com/shop/arsenal_shop_ad.jpg badeyek DIRECT/207.58.145.61 -", + "outcome": "success", + "type": [ + "access" + ] + }, + "http": { + "request": { + "body": { + "bytes": 215 + }, + "method": "GET" + } + }, + "observer": { + "product": "Squid", + "type": "proxy", + "vendor": "Squid" + }, + "related": { + "ip": [ + "10.105.21.199" + ], + "user": [ + "badeyek" + ] + }, + "source": { + "address": "10.105.21.199", + "ip": "10.105.21.199", + "user": { + "name": "badeyek" + } + }, + "squid": { + "peer_host": "207.58.145.61", + "peer_status": "DIRECT", + "result_code": "TCP_REFRESH_HIT", + "status_code": 304 + }, + "tags": [ + "preserve_original_event" + ], + "url": { + "domain": "www.goonernews.com", + "extension": "jpg", + "original": "http://www.goonernews.com/shop/arsenal_shop_ad.jpg", + "path": "/shop/arsenal_shop_ad.jpg", + "scheme": "http" + } + }, + { + "@timestamp": "2006-09-08T04:22:05.734Z", + "destination": { + "address": "www.goonernews.com", + "bytes": 214 + }, + "ecs": { + "version": "8.11.0" + }, + "event": { + "category": [ + "web" + ], + "duration": 1452000000, + "kind": "event", + "original": "1157689325.734 1452 10.105.21.199 TCP_REFRESH_HIT/304 214 GET http://www.goonernews.com/flags/FUS.gif badeyek DIRECT/207.58.145.61 -", + "outcome": "success", + "type": [ + "access" + ] + }, + "http": { + "request": { + "body": { + "bytes": 214 + }, + "method": "GET" + } + }, + "observer": { + "product": "Squid", + "type": "proxy", + "vendor": "Squid" + }, + "related": { + "ip": [ + "10.105.21.199" + ], + "user": [ + "badeyek" + ] + }, + "source": { + "address": "10.105.21.199", + "ip": "10.105.21.199", + "user": { + "name": "badeyek" + } + }, + "squid": { + "peer_host": "207.58.145.61", + "peer_status": "DIRECT", + "result_code": "TCP_REFRESH_HIT", + "status_code": 304 + }, + "tags": [ + "preserve_original_event" + ], + "url": { + "domain": "www.goonernews.com", + "extension": "gif", + "original": "http://www.goonernews.com/flags/FUS.gif", + "path": "/flags/FUS.gif", + "scheme": "http" + } + }, + { + "@timestamp": "2006-09-08T04:22:05.736Z", + "destination": { + "address": "www.goonernews.com", + "bytes": 1353 + }, + "ecs": { + "version": "8.11.0" + }, + "event": { + "category": [ + "web" + ], + "duration": 2000000, + "kind": "event", + "original": "1157689325.736 2 10.105.21.199 TCP_HIT/200 1353 GET http://www.goonernews.com/flags/FGB.gif badeyek NONE/- image/gif", + "outcome": "success", + "type": [ + "access" + ] + }, + "http": { + "request": { + "body": { + "bytes": 1353 + }, + "method": "GET" + } + }, + "observer": { + "product": "Squid", + "type": "proxy", + "vendor": "Squid" + }, + "related": { + "ip": [ + "10.105.21.199" + ], + "user": [ + "badeyek" + ] + }, + "source": { + "address": "10.105.21.199", + "ip": "10.105.21.199", + "user": { + "name": "badeyek" + } + }, + "squid": { + "content_type": "image/gif", + "peer_status": "NONE", + "result_code": "TCP_HIT", + "status_code": 200 + }, + "tags": [ + "preserve_original_event" + ], + "url": { + "domain": "www.goonernews.com", + "extension": "gif", + "original": "http://www.goonernews.com/flags/FGB.gif", + "path": "/flags/FGB.gif", + "scheme": "http" + } + }, + { + "@timestamp": "2006-09-08T04:22:05.953Z", + "destination": { + "address": "as.casalemedia.com", + "bytes": 1013 + }, + "ecs": { + "version": "8.11.0" + }, + "event": { + "category": [ + "web" + ], + "duration": 2603000000, + "kind": "event", + "original": "1157689325.953 2603 10.105.21.199 TCP_MISS/200 1013 GET http://as.casalemedia.com/s? badeyek DIRECT/209.85.16.38 text/html", + "outcome": "success", + "type": [ + "access" + ] + }, + "http": { + "request": { + "body": { + "bytes": 1013 + }, + "method": "GET" + } + }, + "observer": { + "product": "Squid", + "type": "proxy", + "vendor": "Squid" + }, + "related": { + "ip": [ + "10.105.21.199" + ], + "user": [ + "badeyek" + ] + }, + "source": { + "address": "10.105.21.199", + "ip": "10.105.21.199", + "user": { + "name": "badeyek" + } + }, + "squid": { + "content_type": "text/html", + "peer_host": "209.85.16.38", + "peer_status": "DIRECT", + "result_code": "TCP_MISS", + "status_code": 200 + }, + "tags": [ + "preserve_original_event" + ], + "url": { + "domain": "as.casalemedia.com", + "original": "http://as.casalemedia.com/s?", + "path": "/s", + "query": "", + "scheme": "http" + } + }, + { + "@timestamp": "2006-09-08T04:22:06.703Z", + "destination": { + "bytes": 1845 + }, + "ecs": { + "version": "8.11.0" + }, + "event": { + "category": [ + "web" + ], + "duration": 4459000000, + "kind": "event", + "original": "1157689326.703 4459 10.105.21.199 TCP_MISS/200 1845 CONNECT us.bc.yahoo.com:443 badeyek DIRECT/68.142.213.132 -", + "outcome": "success", + "type": [ + "access" + ] + }, + "http": { + "request": { + "body": { + "bytes": 1845 + }, + "method": "CONNECT" + } + }, + "observer": { + "product": "Squid", + "type": "proxy", + "vendor": "Squid" + }, + "related": { + "ip": [ + "10.105.21.199" + ], + "user": [ + "badeyek" + ] + }, + "source": { + "address": "10.105.21.199", + "ip": "10.105.21.199", + "user": { + "name": "badeyek" + } + }, + "squid": { + "peer_host": "68.142.213.132", + "peer_status": "DIRECT", + "result_code": "TCP_MISS", + "status_code": 200 + }, + "tags": [ + "preserve_original_event" + ], + "url": { + "original": "us.bc.yahoo.com:443" + } + }, + { + "@timestamp": "2006-09-08T04:22:07.312Z", + "destination": { + "address": "impgb.tradedoubler.com", + "bytes": 729 + }, + "ecs": { + "version": "8.11.0" + }, + "event": { + "category": [ + "web" + ], + "duration": 1356000000, + "kind": "event", + "original": "1157689327.312 1356 10.105.21.199 TCP_MISS/302 729 GET http://impgb.tradedoubler.com/imp/img/16349696/992098 badeyek DIRECT/217.212.240.172 text/html", + "outcome": "success", + "type": [ + "access" + ] + }, + "http": { + "request": { + "body": { + "bytes": 729 + }, + "method": "GET" + } + }, + "observer": { + "product": "Squid", + "type": "proxy", + "vendor": "Squid" + }, + "related": { + "ip": [ + "10.105.21.199" + ], + "user": [ + "badeyek" + ] + }, + "source": { + "address": "10.105.21.199", + "ip": "10.105.21.199", + "user": { + "name": "badeyek" + } + }, + "squid": { + "content_type": "text/html", + "peer_host": "217.212.240.172", + "peer_status": "DIRECT", + "result_code": "TCP_MISS", + "status_code": 302 + }, + "tags": [ + "preserve_original_event" + ], + "url": { + "domain": "impgb.tradedoubler.com", + "original": "http://impgb.tradedoubler.com/imp/img/16349696/992098", + "path": "/imp/img/16349696/992098", + "scheme": "http" + } + }, + { + "@timestamp": "2006-09-08T04:22:07.751Z", + "destination": { + "address": "4.adbrite.com", + "bytes": 1577 + }, + "ecs": { + "version": "8.11.0" + }, + "event": { + "category": [ + "web" + ], + "duration": 3484000000, + "kind": "event", + "original": "1157689327.751 3484 10.105.21.199 TCP_MISS/200 1577 GET http://4.adbrite.com/mb/text_group.php? badeyek DIRECT/206.169.136.22 text/html", + "outcome": "success", + "type": [ + "access" + ] + }, + "http": { + "request": { + "body": { + "bytes": 1577 + }, + "method": "GET" + } + }, + "observer": { + "product": "Squid", + "type": "proxy", + "vendor": "Squid" + }, + "related": { + "ip": [ + "10.105.21.199" + ], + "user": [ + "badeyek" + ] + }, + "source": { + "address": "10.105.21.199", + "ip": "10.105.21.199", + "user": { + "name": "badeyek" + } + }, + "squid": { + "content_type": "text/html", + "peer_host": "206.169.136.22", + "peer_status": "DIRECT", + "result_code": "TCP_MISS", + "status_code": 200 + }, + "tags": [ + "preserve_original_event" + ], + "url": { + "domain": "4.adbrite.com", + "extension": "php", + "original": "http://4.adbrite.com/mb/text_group.php?", + "path": "/mb/text_group.php", + "query": "", + "scheme": "http" + } + }, + { + "@timestamp": "2006-09-08T04:22:07.803Z", + "destination": { + "address": "www.goonernews.com", + "bytes": 1353 + }, + "ecs": { + "version": "8.11.0" + }, + "event": { + "category": [ + "web" + ], + "duration": 9000000, + "kind": "event", + "original": "1157689327.803 9 10.105.21.199 TCP_HIT/200 1353 GET http://www.goonernews.com/flags/FFR.gif badeyek NONE/- image/gif", + "outcome": "success", + "type": [ + "access" + ] + }, + "http": { + "request": { + "body": { + "bytes": 1353 + }, + "method": "GET" + } + }, + "observer": { + "product": "Squid", + "type": "proxy", + "vendor": "Squid" + }, + "related": { + "ip": [ + "10.105.21.199" + ], + "user": [ + "badeyek" + ] + }, + "source": { + "address": "10.105.21.199", + "ip": "10.105.21.199", + "user": { + "name": "badeyek" + } + }, + "squid": { + "content_type": "image/gif", + "peer_status": "NONE", + "result_code": "TCP_HIT", + "status_code": 200 + }, + "tags": [ + "preserve_original_event" + ], + "url": { + "domain": "www.goonernews.com", + "extension": "gif", + "original": "http://www.goonernews.com/flags/FFR.gif", + "path": "/flags/FFR.gif", + "scheme": "http" + } + }, + { + "@timestamp": "2006-09-08T04:22:09.234Z", + "destination": { + "address": "www.goonernews.com", + "bytes": 214 + }, + "ecs": { + "version": "8.11.0" + }, + "event": { + "category": [ + "web" + ], + "duration": 1431000000, + "kind": "event", + "original": "1157689329.234 1431 10.105.21.199 TCP_REFRESH_HIT/304 214 GET http://www.goonernews.com/flags/FAU.gif badeyek DIRECT/207.58.145.61 -", + "outcome": "success", + "type": [ + "access" + ] + }, + "http": { + "request": { + "body": { + "bytes": 214 + }, + "method": "GET" + } + }, + "observer": { + "product": "Squid", + "type": "proxy", + "vendor": "Squid" + }, + "related": { + "ip": [ + "10.105.21.199" + ], + "user": [ + "badeyek" + ] + }, + "source": { + "address": "10.105.21.199", + "ip": "10.105.21.199", + "user": { + "name": "badeyek" + } + }, + "squid": { + "peer_host": "207.58.145.61", + "peer_status": "DIRECT", + "result_code": "TCP_REFRESH_HIT", + "status_code": 304 + }, + "tags": [ + "preserve_original_event" + ], + "url": { + "domain": "www.goonernews.com", + "extension": "gif", + "original": "http://www.goonernews.com/flags/FAU.gif", + "path": "/flags/FAU.gif", + "scheme": "http" + } + }, + { + "@timestamp": "2006-09-08T04:22:09.280Z", + "destination": { + "address": "www.goonernews.com", + "bytes": 213 + }, + "ecs": { + "version": "8.11.0" + }, + "event": { + "category": [ + "web" + ], + "duration": 1414000000, + "kind": "event", + "original": "1157689329.280 1414 10.105.21.199 TCP_REFRESH_HIT/304 213 GET http://www.goonernews.com/graphics/spacer.gif badeyek DIRECT/207.58.145.61 -", + "outcome": "success", + "type": [ + "access" + ] + }, + "http": { + "request": { + "body": { + "bytes": 213 + }, + "method": "GET" + } + }, + "observer": { + "product": "Squid", + "type": "proxy", + "vendor": "Squid" + }, + "related": { + "ip": [ + "10.105.21.199" + ], + "user": [ + "badeyek" + ] + }, + "source": { + "address": "10.105.21.199", + "ip": "10.105.21.199", + "user": { + "name": "badeyek" + } + }, + "squid": { + "peer_host": "207.58.145.61", + "peer_status": "DIRECT", + "result_code": "TCP_REFRESH_HIT", + "status_code": 304 + }, + "tags": [ + "preserve_original_event" + ], + "url": { + "domain": "www.goonernews.com", + "extension": "gif", + "original": "http://www.goonernews.com/graphics/spacer.gif", + "path": "/graphics/spacer.gif", + "scheme": "http" + } + }, + { + "@timestamp": "2006-09-08T04:22:10.920Z", + "destination": { + "address": "4.adbrite.com", + "bytes": 1784 + }, + "ecs": { + "version": "8.11.0" + }, + "event": { + "category": [ + "web" + ], + "duration": 1686000000, + "kind": "event", + "original": "1157689330.920 1686 10.105.21.199 TCP_MISS/200 1784 GET http://4.adbrite.com/mb/text_group.php? badeyek DIRECT/64.127.126.178 text/html", + "outcome": "success", + "type": [ + "access" + ] + }, + "http": { + "request": { + "body": { + "bytes": 1784 + }, + "method": "GET" + } + }, + "observer": { + "product": "Squid", + "type": "proxy", + "vendor": "Squid" + }, + "related": { + "ip": [ + "10.105.21.199" + ], + "user": [ + "badeyek" + ] + }, + "source": { + "address": "10.105.21.199", + "ip": "10.105.21.199", + "user": { + "name": "badeyek" + } + }, + "squid": { + "content_type": "text/html", + "peer_host": "64.127.126.178", + "peer_status": "DIRECT", + "result_code": "TCP_MISS", + "status_code": 200 + }, + "tags": [ + "preserve_original_event" + ], + "url": { + "domain": "4.adbrite.com", + "extension": "php", + "original": "http://4.adbrite.com/mb/text_group.php?", + "path": "/mb/text_group.php", + "query": "", + "scheme": "http" + } + }, + { + "@timestamp": "2006-09-08T04:22:11.313Z", + "destination": { + "address": "ff.connextra.com", + "bytes": 851 + }, + "ecs": { + "version": "8.11.0" + }, + "event": { + "category": [ + "web" + ], + "duration": 3997000000, + "kind": "event", + "original": "1157689331.313 3997 10.105.21.199 TCP_MISS/302 851 GET http://ff.connextra.com/Ladbrokes/selector/image? badeyek DIRECT/213.160.98.161 -", + "outcome": "success", + "type": [ + "access" + ] + }, + "http": { + "request": { + "body": { + "bytes": 851 + }, + "method": "GET" + } + }, + "observer": { + "product": "Squid", + "type": "proxy", + "vendor": "Squid" + }, + "related": { + "ip": [ + "10.105.21.199" + ], + "user": [ + "badeyek" + ] + }, + "source": { + "address": "10.105.21.199", + "ip": "10.105.21.199", + "user": { + "name": "badeyek" + } + }, + "squid": { + "peer_host": "213.160.98.161", + "peer_status": "DIRECT", + "result_code": "TCP_MISS", + "status_code": 302 + }, + "tags": [ + "preserve_original_event" + ], + "url": { + "domain": "ff.connextra.com", + "original": "http://ff.connextra.com/Ladbrokes/selector/image?", + "path": "/Ladbrokes/selector/image", + "query": "", + "scheme": "http" + } + }, + { + "@timestamp": "2006-09-08T04:22:15.275Z", + "destination": { + "address": "dd.connextra.com", + "bytes": 30904 + }, + "ecs": { + "version": "8.11.0" + }, + "event": { + "category": [ + "web" + ], + "duration": 3962000000, + "kind": "event", + "original": "1157689335.275 3962 10.105.21.199 TCP_MISS/200 30904 GET http://dd.connextra.com/servlet/controller? badeyek DIRECT/213.160.98.160 image/gif", + "outcome": "success", + "type": [ + "access" + ] + }, + "http": { + "request": { + "body": { + "bytes": 30904 + }, + "method": "GET" + } + }, + "observer": { + "product": "Squid", + "type": "proxy", + "vendor": "Squid" + }, + "related": { + "ip": [ + "10.105.21.199" + ], + "user": [ + "badeyek" + ] + }, + "source": { + "address": "10.105.21.199", + "ip": "10.105.21.199", + "user": { + "name": "badeyek" + } + }, + "squid": { + "content_type": "image/gif", + "peer_host": "213.160.98.160", + "peer_status": "DIRECT", + "result_code": "TCP_MISS", + "status_code": 200 + }, + "tags": [ + "preserve_original_event" + ], + "url": { + "domain": "dd.connextra.com", + "original": "http://dd.connextra.com/servlet/controller?", + "path": "/servlet/controller", + "query": "", + "scheme": "http" + } + }, + { + "@timestamp": "2006-09-08T04:22:17.481Z", + "destination": { + "address": "hi5.com", + "bytes": 1661 + }, + "ecs": { + "version": "8.11.0" + }, + "event": { + "category": [ + "web" + ], + "duration": 4000000, + "kind": "event", + "original": "1157689337.481 4 10.105.47.218 TCP_DENIED/407 1661 GET http://hi5.com/ - NONE/- text/html", + "outcome": "failure", + "type": [ + "access" + ] + }, + "http": { + "request": { + "body": { + "bytes": 1661 + }, + "method": "GET" + } + }, + "observer": { + "product": "Squid", + "type": "proxy", + "vendor": "Squid" + }, + "related": { + "ip": [ + "10.105.47.218" + ] + }, + "source": { + "address": "10.105.47.218", + "ip": "10.105.47.218" + }, + "squid": { + "content_type": "text/html", + "peer_status": "NONE", + "result_code": "TCP_DENIED", + "status_code": 407 + }, + "tags": [ + "preserve_original_event" + ], + "url": { + "domain": "hi5.com", + "original": "http://hi5.com/", + "path": "/", + "scheme": "http" + } + }, + { + "@timestamp": "2006-09-08T04:22:22.757Z", + "destination": { + "bytes": 12569 + }, + "ecs": { + "version": "8.11.0" + }, + "event": { + "category": [ + "web" + ], + "duration": 3657000000, + "kind": "event", + "original": "1157689342.757 3657 10.105.21.199 TCP_MISS/200 12569 CONNECT login.yahoo.com:443 badeyek DIRECT/209.73.177.115 -", + "outcome": "success", + "type": [ + "access" + ] + }, + "http": { + "request": { + "body": { + "bytes": 12569 + }, + "method": "CONNECT" + } + }, + "observer": { + "product": "Squid", + "type": "proxy", + "vendor": "Squid" + }, + "related": { + "ip": [ + "10.105.21.199" + ], + "user": [ + "badeyek" + ] + }, + "source": { + "address": "10.105.21.199", + "ip": "10.105.21.199", + "user": { + "name": "badeyek" + } + }, + "squid": { + "peer_host": "209.73.177.115", + "peer_status": "DIRECT", + "result_code": "TCP_MISS", + "status_code": 200 + }, + "tags": [ + "preserve_original_event" + ], + "url": { + "original": "login.yahoo.com:443" + } + }, + { + "@timestamp": "2006-09-08T04:22:23.106Z", + "destination": { + "address": "update.messenger.yahoo.com", + "bytes": 1752 + }, + "ecs": { + "version": "8.11.0" + }, + "event": { + "category": [ + "web" + ], + "duration": 1000000, + "kind": "event", + "original": "1157689343.106 1 10.105.33.214 TCP_DENIED/407 1752 GET http://update.messenger.yahoo.com/msgrcli7.html - NONE/- text/html", + "outcome": "failure", + "type": [ + "access" + ] + }, + "http": { + "request": { + "body": { + "bytes": 1752 + }, + "method": "GET" + } + }, + "observer": { + "product": "Squid", + "type": "proxy", + "vendor": "Squid" + }, + "related": { + "ip": [ + "10.105.33.214" + ] + }, + "source": { + "address": "10.105.33.214", + "ip": "10.105.33.214" + }, + "squid": { + "content_type": "text/html", + "peer_status": "NONE", + "result_code": "TCP_DENIED", + "status_code": 407 + }, + "tags": [ + "preserve_original_event" + ], + "url": { + "domain": "update.messenger.yahoo.com", + "extension": "html", + "original": "http://update.messenger.yahoo.com/msgrcli7.html", + "path": "/msgrcli7.html", + "scheme": "http" + } + }, + { + "@timestamp": "2006-09-08T04:22:23.782Z", + "destination": { + "address": "shttp.msg.yahoo.com", + "bytes": 484 + }, + "ecs": { + "version": "8.11.0" + }, + "event": { + "category": [ + "web" + ], + "duration": 1371000000, + "kind": "event", + "original": "1157689343.782 1371 10.105.33.214 TCP_MISS/200 484 POST http://shttp.msg.yahoo.com/notify/ adeolaegbedokun DIRECT/216.155.194.239 text/plain", + "outcome": "success", + "type": [ + "access" + ] + }, + "http": { + "request": { + "body": { + "bytes": 484 + }, + "method": "POST" + } + }, + "observer": { + "product": "Squid", + "type": "proxy", + "vendor": "Squid" + }, + "related": { + "ip": [ + "10.105.33.214" + ], + "user": [ + "adeolaegbedokun" + ] + }, + "source": { + "address": "10.105.33.214", + "ip": "10.105.33.214", + "user": { + "name": "adeolaegbedokun" + } + }, + "squid": { + "content_type": "text/plain", + "peer_host": "216.155.194.239", + "peer_status": "DIRECT", + "result_code": "TCP_MISS", + "status_code": 200 + }, + "tags": [ + "preserve_original_event" + ], + "url": { + "domain": "shttp.msg.yahoo.com", + "original": "http://shttp.msg.yahoo.com/notify/", + "path": "/notify/", + "scheme": "http" + } + }, + { + "@timestamp": "2006-09-08T04:22:24.736Z", + "destination": { + "address": "hi5.com", + "bytes": 29359 + }, + "ecs": { + "version": "8.11.0" + }, + "event": { + "category": [ + "web" + ], + "duration": 4969000000, + "kind": "event", + "original": "1157689344.736 4969 10.105.47.218 TCP_MISS/200 29359 GET http://hi5.com/ nazsoau DIRECT/204.13.51.238 text/html", + "outcome": "success", + "type": [ + "access" + ] + }, + "http": { + "request": { + "body": { + "bytes": 29359 + }, + "method": "GET" + } + }, + "observer": { + "product": "Squid", + "type": "proxy", + "vendor": "Squid" + }, + "related": { + "ip": [ + "10.105.47.218" + ], + "user": [ + "nazsoau" + ] + }, + "source": { + "address": "10.105.47.218", + "ip": "10.105.47.218", + "user": { + "name": "nazsoau" + } + }, + "squid": { + "content_type": "text/html", + "peer_host": "204.13.51.238", + "peer_status": "DIRECT", + "result_code": "TCP_MISS", + "status_code": 200 + }, + "tags": [ + "preserve_original_event" + ], + "url": { + "domain": "hi5.com", + "original": "http://hi5.com/", + "path": "/", + "scheme": "http" + } + }, + { + "@timestamp": "2006-09-08T04:22:24.798Z", + "destination": { + "address": "hi5.com", + "bytes": 5930 + }, + "ecs": { + "version": "8.11.0" + }, + "event": { + "category": [ + "web" + ], + "duration": 1631000000, + "kind": "event", + "original": "1157689344.798 1631 10.105.47.218 TCP_MISS/200 5930 GET http://hi5.com/friend/styles/homepage.css nazsoau DIRECT/204.13.51.238 text/css", + "outcome": "success", + "type": [ + "access" + ] + }, + "http": { + "request": { + "body": { + "bytes": 5930 + }, + "method": "GET" + } + }, + "observer": { + "product": "Squid", + "type": "proxy", + "vendor": "Squid" + }, + "related": { + "ip": [ + "10.105.47.218" + ], + "user": [ + "nazsoau" + ] + }, + "source": { + "address": "10.105.47.218", + "ip": "10.105.47.218", + "user": { + "name": "nazsoau" + } + }, + "squid": { + "content_type": "text/css", + "peer_host": "204.13.51.238", + "peer_status": "DIRECT", + "result_code": "TCP_MISS", + "status_code": 200 + }, + "tags": [ + "preserve_original_event" + ], + "url": { + "domain": "hi5.com", + "extension": "css", + "original": "http://hi5.com/friend/styles/homepage.css", + "path": "/friend/styles/homepage.css", + "scheme": "http" + } + }, + { + "@timestamp": "2006-09-08T04:22:25.641Z", + "destination": { + "address": "shttp.msg.yahoo.com", + "bytes": 1645 + }, + "ecs": { + "version": "8.11.0" + }, + "event": { + "category": [ + "web" + ], + "duration": 1810000000, + "kind": "event", + "original": "1157689345.641 1810 10.105.33.214 TCP_MISS/200 1645 POST http://shttp.msg.yahoo.com/notify/ adeolaegbedokun DIRECT/216.155.194.239 text/plain", + "outcome": "success", + "type": [ + "access" + ] + }, + "http": { + "request": { + "body": { + "bytes": 1645 + }, + "method": "POST" + } + }, + "observer": { + "product": "Squid", + "type": "proxy", + "vendor": "Squid" + }, + "related": { + "ip": [ + "10.105.33.214" + ], + "user": [ + "adeolaegbedokun" + ] + }, + "source": { + "address": "10.105.33.214", + "ip": "10.105.33.214", + "user": { + "name": "adeolaegbedokun" + } + }, + "squid": { + "content_type": "text/plain", + "peer_host": "216.155.194.239", + "peer_status": "DIRECT", + "result_code": "TCP_MISS", + "status_code": 200 + }, + "tags": [ + "preserve_original_event" + ], + "url": { + "domain": "shttp.msg.yahoo.com", + "original": "http://shttp.msg.yahoo.com/notify/", + "path": "/notify/", + "scheme": "http" + } + }, + { + "@timestamp": "2006-09-08T04:22:26.267Z", + "destination": { + "address": "rms.adobe.com", + "bytes": 1812 + }, + "ecs": { + "version": "8.11.0" + }, + "event": { + "category": [ + "web" + ], + "duration": 880000000, + "kind": "event", + "original": "1157689346.267 880 10.105.37.58 TCP_DENIED/407 1812 GET http://rms.adobe.com/read/0600/win_/ENU/read0600win_ENUadbe0000.xml - NONE/- text/html", + "outcome": "failure", + "type": [ + "access" + ] + }, + "http": { + "request": { + "body": { + "bytes": 1812 + }, + "method": "GET" + } + }, + "observer": { + "product": "Squid", + "type": "proxy", + "vendor": "Squid" + }, + "related": { + "ip": [ + "10.105.37.58" + ] + }, + "source": { + "address": "10.105.37.58", + "ip": "10.105.37.58" + }, + "squid": { + "content_type": "text/html", + "peer_status": "NONE", + "result_code": "TCP_DENIED", + "status_code": 407 + }, + "tags": [ + "preserve_original_event" + ], + "url": { + "domain": "rms.adobe.com", + "extension": "xml", + "original": "http://rms.adobe.com/read/0600/win_/ENU/read0600win_ENUadbe0000.xml", + "path": "/read/0600/win_/ENU/read0600win_ENUadbe0000.xml", + "scheme": "http" + } + }, + { + "@timestamp": "2006-09-08T04:22:27.190Z", + "destination": { + "address": "images.hi5.com", + "bytes": 217 + }, + "ecs": { + "version": "8.11.0" + }, + "event": { + "category": [ + "web" + ], + "duration": 10000000, + "kind": "event", + "original": "1157689347.190 10 10.105.47.218 TCP_IMS_HIT/304 217 GET http://images.hi5.com/styles/style.css nazsoau NONE/- text/css", + "outcome": "success", + "type": [ + "access" + ] + }, + "http": { + "request": { + "body": { + "bytes": 217 + }, + "method": "GET" + } + }, + "observer": { + "product": "Squid", + "type": "proxy", + "vendor": "Squid" + }, + "related": { + "ip": [ + "10.105.47.218" + ], + "user": [ + "nazsoau" + ] + }, + "source": { + "address": "10.105.47.218", + "ip": "10.105.47.218", + "user": { + "name": "nazsoau" + } + }, + "squid": { + "content_type": "text/css", + "peer_status": "NONE", + "result_code": "TCP_IMS_HIT", + "status_code": 304 + }, + "tags": [ + "preserve_original_event" + ], + "url": { + "domain": "images.hi5.com", + "extension": "css", + "original": "http://images.hi5.com/styles/style.css", + "path": "/styles/style.css", + "scheme": "http" + } + }, + { + "@timestamp": "2006-09-08T04:22:27.307Z", + "destination": { + "address": "images.hi5.com", + "bytes": 217 + }, + "ecs": { + "version": "8.11.0" + }, + "event": { + "category": [ + "web" + ], + "duration": 116000000, + "kind": "event", + "original": "1157689347.307 116 10.105.47.218 TCP_IMS_HIT/304 217 GET http://images.hi5.com/friend/styles/buttons_en_us.css nazsoau NONE/- text/css", + "outcome": "success", + "type": [ + "access" + ] + }, + "http": { + "request": { + "body": { + "bytes": 217 + }, + "method": "GET" + } + }, + "observer": { + "product": "Squid", + "type": "proxy", + "vendor": "Squid" + }, + "related": { + "ip": [ + "10.105.47.218" + ], + "user": [ + "nazsoau" + ] + }, + "source": { + "address": "10.105.47.218", + "ip": "10.105.47.218", + "user": { + "name": "nazsoau" + } + }, + "squid": { + "content_type": "text/css", + "peer_status": "NONE", + "result_code": "TCP_IMS_HIT", + "status_code": 304 + }, + "tags": [ + "preserve_original_event" + ], + "url": { + "domain": "images.hi5.com", + "extension": "css", + "original": "http://images.hi5.com/friend/styles/buttons_en_us.css", + "path": "/friend/styles/buttons_en_us.css", + "scheme": "http" + } + }, + { + "@timestamp": "2006-09-08T04:22:27.751Z", + "destination": { + "address": "hi5.com", + "bytes": 27799 + }, + "ecs": { + "version": "8.11.0" + }, + "event": { + "category": [ + "web" + ], + "duration": 6160000000, + "kind": "event", + "original": "1157689347.751 6160 10.105.47.218 TCP_MISS/200 27799 GET http://hi5.com/ nazsoau DIRECT/204.13.51.238 text/html", + "outcome": "success", + "type": [ + "access" + ] + }, + "http": { + "request": { + "body": { + "bytes": 27799 + }, + "method": "GET" + } + }, + "observer": { + "product": "Squid", + "type": "proxy", + "vendor": "Squid" + }, + "related": { + "ip": [ + "10.105.47.218" + ], + "user": [ + "nazsoau" + ] + }, + "source": { + "address": "10.105.47.218", + "ip": "10.105.47.218", + "user": { + "name": "nazsoau" + } + }, + "squid": { + "content_type": "text/html", + "peer_host": "204.13.51.238", + "peer_status": "DIRECT", + "result_code": "TCP_MISS", + "status_code": 200 + }, + "tags": [ + "preserve_original_event" + ], + "url": { + "domain": "hi5.com", + "original": "http://hi5.com/", + "path": "/", + "scheme": "http" + } + }, + { + "@timestamp": "2006-09-08T04:22:29.064Z", + "destination": { + "address": "hi5.com", + "bytes": 4470 + }, + "ecs": { + "version": "8.11.0" + }, + "event": { + "category": [ + "web" + ], + "duration": 1758000000, + "kind": "event", + "original": "1157689349.064 1758 10.105.47.218 TCP_MISS/200 4470 GET http://hi5.com/friend/styles/headernav.css nazsoau DIRECT/204.13.51.238 text/css", + "outcome": "success", + "type": [ + "access" + ] + }, + "http": { + "request": { + "body": { + "bytes": 4470 + }, + "method": "GET" + } + }, + "observer": { + "product": "Squid", + "type": "proxy", + "vendor": "Squid" + }, + "related": { + "ip": [ + "10.105.47.218" + ], + "user": [ + "nazsoau" + ] + }, + "source": { + "address": "10.105.47.218", + "ip": "10.105.47.218", + "user": { + "name": "nazsoau" + } + }, + "squid": { + "content_type": "text/css", + "peer_host": "204.13.51.238", + "peer_status": "DIRECT", + "result_code": "TCP_MISS", + "status_code": 200 + }, + "tags": [ + "preserve_original_event" + ], + "url": { + "domain": "hi5.com", + "extension": "css", + "original": "http://hi5.com/friend/styles/headernav.css", + "path": "/friend/styles/headernav.css", + "scheme": "http" + } + }, + { + "@timestamp": "2006-09-08T04:22:30.829Z", + "destination": { + "address": "shttp.msg.yahoo.com", + "bytes": 382 + }, + "ecs": { + "version": "8.11.0" + }, + "event": { + "category": [ + "web" + ], + "duration": 1393000000, + "kind": "event", + "original": "1157689350.829 1393 10.105.33.214 TCP_MISS/200 382 POST http://shttp.msg.yahoo.com/notify/ adeolaegbedokun DIRECT/216.155.194.239 text/plain", + "outcome": "success", + "type": [ + "access" + ] + }, + "http": { + "request": { + "body": { + "bytes": 382 + }, + "method": "POST" + } + }, + "observer": { + "product": "Squid", + "type": "proxy", + "vendor": "Squid" + }, + "related": { + "ip": [ + "10.105.33.214" + ], + "user": [ + "adeolaegbedokun" + ] + }, + "source": { + "address": "10.105.33.214", + "ip": "10.105.33.214", + "user": { + "name": "adeolaegbedokun" + } + }, + "squid": { + "content_type": "text/plain", + "peer_host": "216.155.194.239", + "peer_status": "DIRECT", + "result_code": "TCP_MISS", + "status_code": 200 + }, + "tags": [ + "preserve_original_event" + ], + "url": { + "domain": "shttp.msg.yahoo.com", + "original": "http://shttp.msg.yahoo.com/notify/", + "path": "/notify/", + "scheme": "http" + } + }, + { + "@timestamp": "2006-09-08T04:22:33.439Z", + "destination": { + "address": "insider.msg.yahoo.com", + "bytes": 24095 + }, + "ecs": { + "version": "8.11.0" + }, + "event": { + "category": [ + "web" + ], + "duration": 3667000000, + "kind": "event", + "original": "1157689353.439 3667 10.105.33.214 TCP_MISS/200 24095 GET http://insider.msg.yahoo.com/? adeolaegbedokun DIRECT/68.142.194.14 text/html", + "outcome": "success", + "type": [ + "access" + ] + }, + "http": { + "request": { + "body": { + "bytes": 24095 + }, + "method": "GET" + } + }, + "observer": { + "product": "Squid", + "type": "proxy", + "vendor": "Squid" + }, + "related": { + "ip": [ + "10.105.33.214" + ], + "user": [ + "adeolaegbedokun" + ] + }, + "source": { + "address": "10.105.33.214", + "ip": "10.105.33.214", + "user": { + "name": "adeolaegbedokun" + } + }, + "squid": { + "content_type": "text/html", + "peer_host": "68.142.194.14", + "peer_status": "DIRECT", + "result_code": "TCP_MISS", + "status_code": 200 + }, + "tags": [ + "preserve_original_event" + ], + "url": { + "domain": "insider.msg.yahoo.com", + "original": "http://insider.msg.yahoo.com/?", + "path": "/", + "query": "", + "scheme": "http" + } + }, + { + "@timestamp": "2006-09-08T04:22:33.939Z", + "destination": { + "address": "radio.launch.yahoo.com", + "bytes": 22964 + }, + "ecs": { + "version": "8.11.0" + }, + "event": { + "category": [ + "web" + ], + "duration": 4899000000, + "kind": "event", + "original": "1157689353.939 4899 10.105.33.214 TCP_MISS/200 22964 GET http://radio.launch.yahoo.com/radio/play/playmessenger.asp adeolaegbedokun DIRECT/68.142.219.132 text/html", + "outcome": "success", + "type": [ + "access" + ] + }, + "http": { + "request": { + "body": { + "bytes": 22964 + }, + "method": "GET" + } + }, + "observer": { + "product": "Squid", + "type": "proxy", + "vendor": "Squid" + }, + "related": { + "ip": [ + "10.105.33.214" + ], + "user": [ + "adeolaegbedokun" + ] + }, + "source": { + "address": "10.105.33.214", + "ip": "10.105.33.214", + "user": { + "name": "adeolaegbedokun" + } + }, + "squid": { + "content_type": "text/html", + "peer_host": "68.142.219.132", + "peer_status": "DIRECT", + "result_code": "TCP_MISS", + "status_code": 200 + }, + "tags": [ + "preserve_original_event" + ], + "url": { + "domain": "radio.launch.yahoo.com", + "extension": "asp", + "original": "http://radio.launch.yahoo.com/radio/play/playmessenger.asp", + "path": "/radio/play/playmessenger.asp", + "scheme": "http" + } + }, + { + "@timestamp": "2006-09-08T04:22:34.877Z", + "destination": { + "address": "shttp.msg.yahoo.com", + "bytes": 646 + }, + "ecs": { + "version": "8.11.0" + }, + "event": { + "category": [ + "web" + ], + "duration": 1349000000, + "kind": "event", + "original": "1157689354.877 1349 10.105.33.214 TCP_MISS/200 646 POST http://shttp.msg.yahoo.com/notify/ adeolaegbedokun DIRECT/216.155.194.239 text/plain", + "outcome": "success", + "type": [ + "access" + ] + }, + "http": { + "request": { + "body": { + "bytes": 646 + }, + "method": "POST" + } + }, + "observer": { + "product": "Squid", + "type": "proxy", + "vendor": "Squid" + }, + "related": { + "ip": [ + "10.105.33.214" + ], + "user": [ + "adeolaegbedokun" + ] + }, + "source": { + "address": "10.105.33.214", + "ip": "10.105.33.214", + "user": { + "name": "adeolaegbedokun" + } + }, + "squid": { + "content_type": "text/plain", + "peer_host": "216.155.194.239", + "peer_status": "DIRECT", + "result_code": "TCP_MISS", + "status_code": 200 + }, + "tags": [ + "preserve_original_event" + ], + "url": { + "domain": "shttp.msg.yahoo.com", + "original": "http://shttp.msg.yahoo.com/notify/", + "path": "/notify/", + "scheme": "http" + } + }, + { + "@timestamp": "2006-09-08T04:22:35.517Z", + "destination": { + "address": "address.yahoo.com", + "bytes": 699 + }, + "ecs": { + "version": "8.11.0" + }, + "event": { + "category": [ + "web" + ], + "duration": 1578000000, + "kind": "event", + "original": "1157689355.517 1578 10.105.33.214 TCP_MISS/200 699 GET http://address.yahoo.com/yab/us? adeolaegbedokun DIRECT/209.191.93.51 text/xml", + "outcome": "success", + "type": [ + "access" + ] + }, + "http": { + "request": { + "body": { + "bytes": 699 + }, + "method": "GET" + } + }, + "observer": { + "product": "Squid", + "type": "proxy", + "vendor": "Squid" + }, + "related": { + "ip": [ + "10.105.33.214" + ], + "user": [ + "adeolaegbedokun" + ] + }, + "source": { + "address": "10.105.33.214", + "ip": "10.105.33.214", + "user": { + "name": "adeolaegbedokun" + } + }, + "squid": { + "content_type": "text/xml", + "peer_host": "209.191.93.51", + "peer_status": "DIRECT", + "result_code": "TCP_MISS", + "status_code": 200 + }, + "tags": [ + "preserve_original_event" + ], + "url": { + "domain": "address.yahoo.com", + "original": "http://address.yahoo.com/yab/us?", + "path": "/yab/us", + "query": "", + "scheme": "http" + } + }, + { + "@timestamp": "2006-09-08T04:22:36.907Z", + "destination": { + "address": "fxfeeds.mozilla.org", + "bytes": 734 + }, + "ecs": { + "version": "8.11.0" + }, + "event": { + "category": [ + "web" + ], + "duration": 6741000000, + "kind": "event", + "original": "1157689356.907 6741 10.105.21.199 TCP_MISS/302 734 GET http://fxfeeds.mozilla.org/rss20.xml badeyek DIRECT/63.245.209.21 text/html", + "outcome": "success", + "type": [ + "access" + ] + }, + "http": { + "request": { + "body": { + "bytes": 734 + }, + "method": "GET" + } + }, + "observer": { + "product": "Squid", + "type": "proxy", + "vendor": "Squid" + }, + "related": { + "ip": [ + "10.105.21.199" + ], + "user": [ + "badeyek" + ] + }, + "source": { + "address": "10.105.21.199", + "ip": "10.105.21.199", + "user": { + "name": "badeyek" + } + }, + "squid": { + "content_type": "text/html", + "peer_host": "63.245.209.21", + "peer_status": "DIRECT", + "result_code": "TCP_MISS", + "status_code": 302 + }, + "tags": [ + "preserve_original_event" + ], + "url": { + "domain": "fxfeeds.mozilla.org", + "extension": "xml", + "original": "http://fxfeeds.mozilla.org/rss20.xml", + "path": "/rss20.xml", + "scheme": "http" + } + }, + { + "@timestamp": "2006-09-08T04:22:37.267Z", + "destination": { + "address": "insider.msg.yahoo.com", + "bytes": 31400 + }, + "ecs": { + "version": "8.11.0" + }, + "event": { + "category": [ + "web" + ], + "duration": 6424000000, + "kind": "event", + "original": "1157689357.267 6424 10.105.33.214 TCP_MISS/200 31400 GET http://insider.msg.yahoo.com/ycontent/? adeolaegbedokun DIRECT/68.142.231.252 text/xml", + "outcome": "success", + "type": [ + "access" + ] + }, + "http": { + "request": { + "body": { + "bytes": 31400 + }, + "method": "GET" + } + }, + "observer": { + "product": "Squid", + "type": "proxy", + "vendor": "Squid" + }, + "related": { + "ip": [ + "10.105.33.214" + ], + "user": [ + "adeolaegbedokun" + ] + }, + "source": { + "address": "10.105.33.214", + "ip": "10.105.33.214", + "user": { + "name": "adeolaegbedokun" + } + }, + "squid": { + "content_type": "text/xml", + "peer_host": "68.142.231.252", + "peer_status": "DIRECT", + "result_code": "TCP_MISS", + "status_code": 200 + }, + "tags": [ + "preserve_original_event" + ], + "url": { + "domain": "insider.msg.yahoo.com", + "original": "http://insider.msg.yahoo.com/ycontent/?", + "path": "/ycontent/", + "query": "", + "scheme": "http" + } + }, + { + "@timestamp": "2006-09-08T04:22:37.720Z", + "destination": { + "address": "insider.msg.yahoo.com", + "bytes": 21152 + }, + "ecs": { + "version": "8.11.0" + }, + "event": { + "category": [ + "web" + ], + "duration": 2831000000, + "kind": "event", + "original": "1157689357.720 2831 10.105.33.214 TCP_MISS/200 21152 GET http://insider.msg.yahoo.com/ycontent/? adeolaegbedokun DIRECT/68.142.194.14 text/xml", + "outcome": "success", + "type": [ + "access" + ] + }, + "http": { + "request": { + "body": { + "bytes": 21152 + }, + "method": "GET" + } + }, + "observer": { + "product": "Squid", + "type": "proxy", + "vendor": "Squid" + }, + "related": { + "ip": [ + "10.105.33.214" + ], + "user": [ + "adeolaegbedokun" + ] + }, + "source": { + "address": "10.105.33.214", + "ip": "10.105.33.214", + "user": { + "name": "adeolaegbedokun" + } + }, + "squid": { + "content_type": "text/xml", + "peer_host": "68.142.194.14", + "peer_status": "DIRECT", + "result_code": "TCP_MISS", + "status_code": 200 + }, + "tags": [ + "preserve_original_event" + ], + "url": { + "domain": "insider.msg.yahoo.com", + "original": "http://insider.msg.yahoo.com/ycontent/?", + "path": "/ycontent/", + "query": "", + "scheme": "http" + } + }, + { + "@timestamp": "2006-09-08T04:22:38.173Z", + "destination": { + "bytes": 1667 + }, + "ecs": { + "version": "8.11.0" + }, + "event": { + "category": [ + "web" + ], + "duration": 1000000, + "kind": "event", + "original": "1157689358.173 1 10.105.37.17 TCP_DENIED/407 1667 CONNECT us.mcafee.com:443 - NONE/- text/html", + "outcome": "failure", + "type": [ + "access" + ] + }, + "http": { + "request": { + "body": { + "bytes": 1667 + }, + "method": "CONNECT" + } + }, + "observer": { + "product": "Squid", + "type": "proxy", + "vendor": "Squid" + }, + "related": { + "ip": [ + "10.105.37.17" + ] + }, + "source": { + "address": "10.105.37.17", + "ip": "10.105.37.17" + }, + "squid": { + "content_type": "text/html", + "peer_status": "NONE", + "result_code": "TCP_DENIED", + "status_code": 407 + }, + "tags": [ + "preserve_original_event" + ], + "url": { + "original": "us.mcafee.com:443" + } + }, + { + "@timestamp": "2006-09-08T04:22:38.174Z", + "destination": { + "address": "us.mcafee.com", + "bytes": 1767 + }, + "ecs": { + "version": "8.11.0" + }, + "event": { + "category": [ + "web" + ], + "duration": 0, + "kind": "event", + "original": "1157689358.174 0 10.105.37.17 TCP_DENIED/407 1767 POST http://us.mcafee.com/apps/agent/submgr/appinstru.asp - NONE/- text/html", + "outcome": "failure", + "type": [ + "access" + ] + }, + "http": { + "request": { + "body": { + "bytes": 1767 + }, + "method": "POST" + } + }, + "observer": { + "product": "Squid", + "type": "proxy", + "vendor": "Squid" + }, + "related": { + "ip": [ + "10.105.37.17" + ] + }, + "source": { + "address": "10.105.37.17", + "ip": "10.105.37.17" + }, + "squid": { + "content_type": "text/html", + "peer_status": "NONE", + "result_code": "TCP_DENIED", + "status_code": 407 + }, + "tags": [ + "preserve_original_event" + ], + "url": { + "domain": "us.mcafee.com", + "extension": "asp", + "original": "http://us.mcafee.com/apps/agent/submgr/appinstru.asp", + "path": "/apps/agent/submgr/appinstru.asp", + "scheme": "http" + } + }, + { + "@timestamp": "2006-09-08T04:22:38.174Z", + "destination": { + "address": "us.mcafee.com", + "bytes": 1761 + }, + "ecs": { + "version": "8.11.0" + }, + "event": { + "category": [ + "web" + ], + "duration": 0, + "kind": "event", + "original": "1157689358.174 0 10.105.37.17 TCP_DENIED/407 1761 POST http://us.mcafee.com/apps/agent/submgr/appsync.asp - NONE/- text/html", + "outcome": "failure", + "type": [ + "access" + ] + }, + "http": { + "request": { + "body": { + "bytes": 1761 + }, + "method": "POST" + } + }, + "observer": { + "product": "Squid", + "type": "proxy", + "vendor": "Squid" + }, + "related": { + "ip": [ + "10.105.37.17" + ] + }, + "source": { + "address": "10.105.37.17", + "ip": "10.105.37.17" + }, + "squid": { + "content_type": "text/html", + "peer_status": "NONE", + "result_code": "TCP_DENIED", + "status_code": 407 + }, + "tags": [ + "preserve_original_event" + ], + "url": { + "domain": "us.mcafee.com", + "extension": "asp", + "original": "http://us.mcafee.com/apps/agent/submgr/appsync.asp", + "path": "/apps/agent/submgr/appsync.asp", + "scheme": "http" + } + }, + { + "@timestamp": "2006-09-08T04:22:38.226Z", + "destination": { + "bytes": 1667 + }, + "ecs": { + "version": "8.11.0" + }, + "event": { + "category": [ + "web" + ], + "duration": 0, + "kind": "event", + "original": "1157689358.226 0 10.105.37.17 TCP_DENIED/407 1667 CONNECT us.mcafee.com:443 - NONE/- text/html", + "outcome": "failure", + "type": [ + "access" + ] + }, + "http": { + "request": { + "body": { + "bytes": 1667 + }, + "method": "CONNECT" + } + }, + "observer": { + "product": "Squid", + "type": "proxy", + "vendor": "Squid" + }, + "related": { + "ip": [ + "10.105.37.17" + ] + }, + "source": { + "address": "10.105.37.17", + "ip": "10.105.37.17" + }, + "squid": { + "content_type": "text/html", + "peer_status": "NONE", + "result_code": "TCP_DENIED", + "status_code": 407 + }, + "tags": [ + "preserve_original_event" + ], + "url": { + "original": "us.mcafee.com:443" + } + }, + { + "@timestamp": "2006-09-08T04:22:38.486Z", + "destination": { + "address": "radio.launch.yahoo.com", + "bytes": 512 + }, + "ecs": { + "version": "8.11.0" + }, + "event": { + "category": [ + "web" + ], + "duration": 711000000, + "kind": "event", + "original": "1157689358.486 711 10.105.33.214 TCP_REFRESH_HIT/304 512 GET http://radio.launch.yahoo.com/radio/clientdata/538/images/btn_stations.gif adeolaegbedokun DIRECT/68.142.219.132 -", + "outcome": "success", + "type": [ + "access" + ] + }, + "http": { + "request": { + "body": { + "bytes": 512 + }, + "method": "GET" + } + }, + "observer": { + "product": "Squid", + "type": "proxy", + "vendor": "Squid" + }, + "related": { + "ip": [ + "10.105.33.214" + ], + "user": [ + "adeolaegbedokun" + ] + }, + "source": { + "address": "10.105.33.214", + "ip": "10.105.33.214", + "user": { + "name": "adeolaegbedokun" + } + }, + "squid": { + "peer_host": "68.142.219.132", + "peer_status": "DIRECT", + "result_code": "TCP_REFRESH_HIT", + "status_code": 304 + }, + "tags": [ + "preserve_original_event" + ], + "url": { + "domain": "radio.launch.yahoo.com", + "extension": "gif", + "original": "http://radio.launch.yahoo.com/radio/clientdata/538/images/btn_stations.gif", + "path": "/radio/clientdata/538/images/btn_stations.gif", + "scheme": "http" + } + }, + { + "@timestamp": "2006-09-08T04:22:38.683Z", + "destination": { + "bytes": 1667 + }, + "ecs": { + "version": "8.11.0" + }, + "event": { + "category": [ + "web" + ], + "duration": 0, + "kind": "event", + "original": "1157689358.683 0 10.105.37.17 TCP_DENIED/407 1667 CONNECT us.mcafee.com:443 - NONE/- text/html", + "outcome": "failure", + "type": [ + "access" + ] + }, + "http": { + "request": { + "body": { + "bytes": 1667 + }, + "method": "CONNECT" + } + }, + "observer": { + "product": "Squid", + "type": "proxy", + "vendor": "Squid" + }, + "related": { + "ip": [ + "10.105.37.17" + ] + }, + "source": { + "address": "10.105.37.17", + "ip": "10.105.37.17" + }, + "squid": { + "content_type": "text/html", + "peer_status": "NONE", + "result_code": "TCP_DENIED", + "status_code": 407 + }, + "tags": [ + "preserve_original_event" + ], + "url": { + "original": "us.mcafee.com:443" + } + }, + { + "@timestamp": "2006-09-08T04:22:39.199Z", + "destination": { + "address": "radio.launch.yahoo.com", + "bytes": 512 + }, + "ecs": { + "version": "8.11.0" + }, + "event": { + "category": [ + "web" + ], + "duration": 713000000, + "kind": "event", + "original": "1157689359.199 713 10.105.33.214 TCP_REFRESH_HIT/304 512 GET http://radio.launch.yahoo.com/radio/clientdata/538/images/btn_stations_over.gif adeolaegbedokun DIRECT/68.142.219.132 -", + "outcome": "success", + "type": [ + "access" + ] + }, + "http": { + "request": { + "body": { + "bytes": 512 + }, + "method": "GET" + } + }, + "observer": { + "product": "Squid", + "type": "proxy", + "vendor": "Squid" + }, + "related": { + "ip": [ + "10.105.33.214" + ], + "user": [ + "adeolaegbedokun" + ] + }, + "source": { + "address": "10.105.33.214", + "ip": "10.105.33.214", + "user": { + "name": "adeolaegbedokun" + } + }, + "squid": { + "peer_host": "68.142.219.132", + "peer_status": "DIRECT", + "result_code": "TCP_REFRESH_HIT", + "status_code": 304 + }, + "tags": [ + "preserve_original_event" + ], + "url": { + "domain": "radio.launch.yahoo.com", + "extension": "gif", + "original": "http://radio.launch.yahoo.com/radio/clientdata/538/images/btn_stations_over.gif", + "path": "/radio/clientdata/538/images/btn_stations_over.gif", + "scheme": "http" + } + }, + { + "@timestamp": "2006-09-08T04:22:39.269Z", + "destination": { + "address": "shttp.msg.yahoo.com", + "bytes": 362 + }, + "ecs": { + "version": "8.11.0" + }, + "event": { + "category": [ + "web" + ], + "duration": 1982000000, + "kind": "event", + "original": "1157689359.269 1982 10.105.33.214 TCP_MISS/200 362 POST http://shttp.msg.yahoo.com/notify/ adeolaegbedokun DIRECT/216.155.194.239 text/plain", + "outcome": "success", + "type": [ + "access" + ] + }, + "http": { + "request": { + "body": { + "bytes": 362 + }, + "method": "POST" + } + }, + "observer": { + "product": "Squid", + "type": "proxy", + "vendor": "Squid" + }, + "related": { + "ip": [ + "10.105.33.214" + ], + "user": [ + "adeolaegbedokun" + ] + }, + "source": { + "address": "10.105.33.214", + "ip": "10.105.33.214", + "user": { + "name": "adeolaegbedokun" + } + }, + "squid": { + "content_type": "text/plain", + "peer_host": "216.155.194.239", + "peer_status": "DIRECT", + "result_code": "TCP_MISS", + "status_code": 200 + }, + "tags": [ + "preserve_original_event" + ], + "url": { + "domain": "shttp.msg.yahoo.com", + "original": "http://shttp.msg.yahoo.com/notify/", + "path": "/notify/", + "scheme": "http" + } + }, + { + "@timestamp": "2006-09-08T04:22:39.924Z", + "destination": { + "address": "radio.launch.yahoo.com", + "bytes": 511 + }, + "ecs": { + "version": "8.11.0" + }, + "event": { + "category": [ + "web" + ], + "duration": 725000000, + "kind": "event", + "original": "1157689359.924 725 10.105.33.214 TCP_REFRESH_HIT/304 511 GET http://radio.launch.yahoo.com/radio/clientdata/538/skins/1/images/bg_left.gif adeolaegbedokun DIRECT/68.142.219.132 -", + "outcome": "success", + "type": [ + "access" + ] + }, + "http": { + "request": { + "body": { + "bytes": 511 + }, + "method": "GET" + } + }, + "observer": { + "product": "Squid", + "type": "proxy", + "vendor": "Squid" + }, + "related": { + "ip": [ + "10.105.33.214" + ], + "user": [ + "adeolaegbedokun" + ] + }, + "source": { + "address": "10.105.33.214", + "ip": "10.105.33.214", + "user": { + "name": "adeolaegbedokun" + } + }, + "squid": { + "peer_host": "68.142.219.132", + "peer_status": "DIRECT", + "result_code": "TCP_REFRESH_HIT", + "status_code": 304 + }, + "tags": [ + "preserve_original_event" + ], + "url": { + "domain": "radio.launch.yahoo.com", + "extension": "gif", + "original": "http://radio.launch.yahoo.com/radio/clientdata/538/skins/1/images/bg_left.gif", + "path": "/radio/clientdata/538/skins/1/images/bg_left.gif", + "scheme": "http" + } + }, + { + "@timestamp": "2006-09-08T04:22:40.611Z", + "destination": { + "address": "radio.launch.yahoo.com", + "bytes": 512 + }, + "ecs": { + "version": "8.11.0" + }, + "event": { + "category": [ + "web" + ], + "duration": 687000000, + "kind": "event", + "original": "1157689360.611 687 10.105.33.214 TCP_REFRESH_HIT/304 512 GET http://radio.launch.yahoo.com/radio/clientdata/538/images/launchcast_radio.gif adeolaegbedokun DIRECT/68.142.219.132 -", + "outcome": "success", + "type": [ + "access" + ] + }, + "http": { + "request": { + "body": { + "bytes": 512 + }, + "method": "GET" + } + }, + "observer": { + "product": "Squid", + "type": "proxy", + "vendor": "Squid" + }, + "related": { + "ip": [ + "10.105.33.214" + ], + "user": [ + "adeolaegbedokun" + ] + }, + "source": { + "address": "10.105.33.214", + "ip": "10.105.33.214", + "user": { + "name": "adeolaegbedokun" + } + }, + "squid": { + "peer_host": "68.142.219.132", + "peer_status": "DIRECT", + "result_code": "TCP_REFRESH_HIT", + "status_code": 304 + }, + "tags": [ + "preserve_original_event" + ], + "url": { + "domain": "radio.launch.yahoo.com", + "extension": "gif", + "original": "http://radio.launch.yahoo.com/radio/clientdata/538/images/launchcast_radio.gif", + "path": "/radio/clientdata/538/images/launchcast_radio.gif", + "scheme": "http" + } + }, + { + "@timestamp": "2006-09-08T04:22:40.980Z", + "destination": { + "address": "us.mcafee.com", + "bytes": 1767 + }, + "ecs": { + "version": "8.11.0" + }, + "event": { + "category": [ + "web" + ], + "duration": 1000000, + "kind": "event", + "original": "1157689360.980 1 10.105.47.191 TCP_DENIED/407 1767 POST http://us.mcafee.com/apps/agent/submgr/appinstru.asp - NONE/- text/html", + "outcome": "failure", + "type": [ + "access" + ] + }, + "http": { + "request": { + "body": { + "bytes": 1767 + }, + "method": "POST" + } + }, + "observer": { + "product": "Squid", + "type": "proxy", + "vendor": "Squid" + }, + "related": { + "ip": [ + "10.105.47.191" + ] + }, + "source": { + "address": "10.105.47.191", + "ip": "10.105.47.191" + }, + "squid": { + "content_type": "text/html", + "peer_status": "NONE", + "result_code": "TCP_DENIED", + "status_code": 407 + }, + "tags": [ + "preserve_original_event" + ], + "url": { + "domain": "us.mcafee.com", + "extension": "asp", + "original": "http://us.mcafee.com/apps/agent/submgr/appinstru.asp", + "path": "/apps/agent/submgr/appinstru.asp", + "scheme": "http" + } + }, + { + "@timestamp": "2006-09-08T04:22:41.188Z", + "destination": { + "address": "us.mcafee.com", + "bytes": 1761 + }, + "ecs": { + "version": "8.11.0" + }, + "event": { + "category": [ + "web" + ], + "duration": 1000000, + "kind": "event", + "original": "1157689361.188 1 10.105.47.191 TCP_DENIED/407 1761 POST http://us.mcafee.com/apps/agent/submgr/appsync.asp - NONE/- text/html", + "outcome": "failure", + "type": [ + "access" + ] + }, + "http": { + "request": { + "body": { + "bytes": 1761 + }, + "method": "POST" + } + }, + "observer": { + "product": "Squid", + "type": "proxy", + "vendor": "Squid" + }, + "related": { + "ip": [ + "10.105.47.191" + ] + }, + "source": { + "address": "10.105.47.191", + "ip": "10.105.47.191" + }, + "squid": { + "content_type": "text/html", + "peer_status": "NONE", + "result_code": "TCP_DENIED", + "status_code": 407 + }, + "tags": [ + "preserve_original_event" + ], + "url": { + "domain": "us.mcafee.com", + "extension": "asp", + "original": "http://us.mcafee.com/apps/agent/submgr/appsync.asp", + "path": "/apps/agent/submgr/appsync.asp", + "scheme": "http" + } + }, + { + "@timestamp": "2006-09-08T04:22:41.393Z", + "destination": { + "address": "radio.launch.yahoo.com", + "bytes": 512 + }, + "ecs": { + "version": "8.11.0" + }, + "event": { + "category": [ + "web" + ], + "duration": 783000000, + "kind": "event", + "original": "1157689361.393 783 10.105.33.214 TCP_REFRESH_HIT/304 512 GET http://radio.launch.yahoo.com/radio/clientdata/538/skins/1/images/bg_right.gif adeolaegbedokun DIRECT/68.142.219.132 -", + "outcome": "success", + "type": [ + "access" + ] + }, + "http": { + "request": { + "body": { + "bytes": 512 + }, + "method": "GET" + } + }, + "observer": { + "product": "Squid", + "type": "proxy", + "vendor": "Squid" + }, + "related": { + "ip": [ + "10.105.33.214" + ], + "user": [ + "adeolaegbedokun" + ] + }, + "source": { + "address": "10.105.33.214", + "ip": "10.105.33.214", + "user": { + "name": "adeolaegbedokun" + } + }, + "squid": { + "peer_host": "68.142.219.132", + "peer_status": "DIRECT", + "result_code": "TCP_REFRESH_HIT", + "status_code": 304 + }, + "tags": [ + "preserve_original_event" + ], + "url": { + "domain": "radio.launch.yahoo.com", + "extension": "gif", + "original": "http://radio.launch.yahoo.com/radio/clientdata/538/skins/1/images/bg_right.gif", + "path": "/radio/clientdata/538/skins/1/images/bg_right.gif", + "scheme": "http" + } + }, + { + "@timestamp": "2006-09-08T04:22:41.564Z", + "destination": { + "address": "radio.launch.yahoo.com", + "bytes": 512 + }, + "ecs": { + "version": "8.11.0" + }, + "event": { + "category": [ + "web" + ], + "duration": 2242000000, + "kind": "event", + "original": "1157689361.564 2242 10.105.33.214 TCP_REFRESH_HIT/304 512 GET http://radio.launch.yahoo.com/radio/clientdata/538/skins/1/images/bg_center.gif adeolaegbedokun DIRECT/68.142.219.132 -", + "outcome": "success", + "type": [ + "access" + ] + }, + "http": { + "request": { + "body": { + "bytes": 512 + }, + "method": "GET" + } + }, + "observer": { + "product": "Squid", + "type": "proxy", + "vendor": "Squid" + }, + "related": { + "ip": [ + "10.105.33.214" + ], + "user": [ + "adeolaegbedokun" + ] + }, + "source": { + "address": "10.105.33.214", + "ip": "10.105.33.214", + "user": { + "name": "adeolaegbedokun" + } + }, + "squid": { + "peer_host": "68.142.219.132", + "peer_status": "DIRECT", + "result_code": "TCP_REFRESH_HIT", + "status_code": 304 + }, + "tags": [ + "preserve_original_event" + ], + "url": { + "domain": "radio.launch.yahoo.com", + "extension": "gif", + "original": "http://radio.launch.yahoo.com/radio/clientdata/538/skins/1/images/bg_center.gif", + "path": "/radio/clientdata/538/skins/1/images/bg_center.gif", + "scheme": "http" + } + }, + { + "@timestamp": "2006-09-08T04:22:42.220Z", + "destination": { + "address": "radio.launch.yahoo.com", + "bytes": 512 + }, + "ecs": { + "version": "8.11.0" + }, + "event": { + "category": [ + "web" + ], + "duration": 827000000, + "kind": "event", + "original": "1157689362.220 827 10.105.33.214 TCP_REFRESH_HIT/304 512 GET http://radio.launch.yahoo.com/radio/clientdata/538/skins/1/images/bg_controls_off.gif adeolaegbedokun DIRECT/68.142.219.132 -", + "outcome": "success", + "type": [ + "access" + ] + }, + "http": { + "request": { + "body": { + "bytes": 512 + }, + "method": "GET" + } + }, + "observer": { + "product": "Squid", + "type": "proxy", + "vendor": "Squid" + }, + "related": { + "ip": [ + "10.105.33.214" + ], + "user": [ + "adeolaegbedokun" + ] + }, + "source": { + "address": "10.105.33.214", + "ip": "10.105.33.214", + "user": { + "name": "adeolaegbedokun" + } + }, + "squid": { + "peer_host": "68.142.219.132", + "peer_status": "DIRECT", + "result_code": "TCP_REFRESH_HIT", + "status_code": 304 + }, + "tags": [ + "preserve_original_event" + ], + "url": { + "domain": "radio.launch.yahoo.com", + "extension": "gif", + "original": "http://radio.launch.yahoo.com/radio/clientdata/538/skins/1/images/bg_controls_off.gif", + "path": "/radio/clientdata/538/skins/1/images/bg_controls_off.gif", + "scheme": "http" + } + }, + { + "@timestamp": "2006-09-08T04:22:42.315Z", + "destination": { + "address": "radio.launch.yahoo.com", + "bytes": 512 + }, + "ecs": { + "version": "8.11.0" + }, + "event": { + "category": [ + "web" + ], + "duration": 751000000, + "kind": "event", + "original": "1157689362.315 751 10.105.33.214 TCP_REFRESH_HIT/304 512 GET http://radio.launch.yahoo.com/radio/common_radio/resources/images/t.gif adeolaegbedokun DIRECT/68.142.219.132 -", + "outcome": "success", + "type": [ + "access" + ] + }, + "http": { + "request": { + "body": { + "bytes": 512 + }, + "method": "GET" + } + }, + "observer": { + "product": "Squid", + "type": "proxy", + "vendor": "Squid" + }, + "related": { + "ip": [ + "10.105.33.214" + ], + "user": [ + "adeolaegbedokun" + ] + }, + "source": { + "address": "10.105.33.214", + "ip": "10.105.33.214", + "user": { + "name": "adeolaegbedokun" + } + }, + "squid": { + "peer_host": "68.142.219.132", + "peer_status": "DIRECT", + "result_code": "TCP_REFRESH_HIT", + "status_code": 304 + }, + "tags": [ + "preserve_original_event" + ], + "url": { + "domain": "radio.launch.yahoo.com", + "extension": "gif", + "original": "http://radio.launch.yahoo.com/radio/common_radio/resources/images/t.gif", + "path": "/radio/common_radio/resources/images/t.gif", + "scheme": "http" + } + }, + { + "@timestamp": "2006-09-08T04:22:42.318Z", + "destination": { + "address": "radio.launch.yahoo.com", + "bytes": 218 + }, + "ecs": { + "version": "8.11.0" + }, + "event": { + "category": [ + "web" + ], + "duration": 3000000, + "kind": "event", + "original": "1157689362.318 3 10.105.33.214 TCP_IMS_HIT/304 218 GET http://radio.launch.yahoo.com/radio/clientdata/538/images/btn_off_state_station.gif adeolaegbedokun NONE/- image/gif", + "outcome": "success", + "type": [ + "access" + ] + }, + "http": { + "request": { + "body": { + "bytes": 218 + }, + "method": "GET" + } + }, + "observer": { + "product": "Squid", + "type": "proxy", + "vendor": "Squid" + }, + "related": { + "ip": [ + "10.105.33.214" + ], + "user": [ + "adeolaegbedokun" + ] + }, + "source": { + "address": "10.105.33.214", + "ip": "10.105.33.214", + "user": { + "name": "adeolaegbedokun" + } + }, + "squid": { + "content_type": "image/gif", + "peer_status": "NONE", + "result_code": "TCP_IMS_HIT", + "status_code": 304 + }, + "tags": [ + "preserve_original_event" + ], + "url": { + "domain": "radio.launch.yahoo.com", + "extension": "gif", + "original": "http://radio.launch.yahoo.com/radio/clientdata/538/images/btn_off_state_station.gif", + "path": "/radio/clientdata/538/images/btn_off_state_station.gif", + "scheme": "http" + } + }, + { + "@timestamp": "2006-09-08T04:22:42.332Z", + "destination": { + "address": "radio.launch.yahoo.com", + "bytes": 218 + }, + "ecs": { + "version": "8.11.0" + }, + "event": { + "category": [ + "web" + ], + "duration": 13000000, + "kind": "event", + "original": "1157689362.332 13 10.105.33.214 TCP_IMS_HIT/304 218 GET http://radio.launch.yahoo.com/radio/clientdata/538/skins/1/images/bg_controls_fill.gif adeolaegbedokun NONE/- image/gif", + "outcome": "success", + "type": [ + "access" + ] + }, + "http": { + "request": { + "body": { + "bytes": 218 + }, + "method": "GET" + } + }, + "observer": { + "product": "Squid", + "type": "proxy", + "vendor": "Squid" + }, + "related": { + "ip": [ + "10.105.33.214" + ], + "user": [ + "adeolaegbedokun" + ] + }, + "source": { + "address": "10.105.33.214", + "ip": "10.105.33.214", + "user": { + "name": "adeolaegbedokun" + } + }, + "squid": { + "content_type": "image/gif", + "peer_status": "NONE", + "result_code": "TCP_IMS_HIT", + "status_code": 304 + }, + "tags": [ + "preserve_original_event" + ], + "url": { + "domain": "radio.launch.yahoo.com", + "extension": "gif", + "original": "http://radio.launch.yahoo.com/radio/clientdata/538/skins/1/images/bg_controls_fill.gif", + "path": "/radio/clientdata/538/skins/1/images/bg_controls_fill.gif", + "scheme": "http" + } + }, + { + "@timestamp": "2006-09-08T04:22:42.341Z", + "destination": { + "address": "us.i1.yimg.com", + "bytes": 2263 + }, + "ecs": { + "version": "8.11.0" + }, + "event": { + "category": [ + "web" + ], + "duration": 8000000, + "kind": "event", + "original": "1157689362.341 8 10.105.33.214 TCP_HIT/200 2263 GET http://us.i1.yimg.com/us.yimg.com/i/us/toolbar50x50.gif adeolaegbedokun NONE/- image/gif", + "outcome": "success", + "type": [ + "access" + ] + }, + "http": { + "request": { + "body": { + "bytes": 2263 + }, + "method": "GET" + } + }, + "observer": { + "product": "Squid", + "type": "proxy", + "vendor": "Squid" + }, + "related": { + "ip": [ + "10.105.33.214" + ], + "user": [ + "adeolaegbedokun" + ] + }, + "source": { + "address": "10.105.33.214", + "ip": "10.105.33.214", + "user": { + "name": "adeolaegbedokun" + } + }, + "squid": { + "content_type": "image/gif", + "peer_status": "NONE", + "result_code": "TCP_HIT", + "status_code": 200 + }, + "tags": [ + "preserve_original_event" + ], + "url": { + "domain": "us.i1.yimg.com", + "extension": "gif", + "original": "http://us.i1.yimg.com/us.yimg.com/i/us/toolbar50x50.gif", + "path": "/us.yimg.com/i/us/toolbar50x50.gif", + "scheme": "http" + } + }, + { + "@timestamp": "2006-09-08T04:22:43.423Z", + "destination": { + "address": "newsrss.bbc.co.uk", + "bytes": 17396 + }, + "ecs": { + "version": "8.11.0" + }, + "event": { + "category": [ + "web" + ], + "duration": 6517000000, + "kind": "event", + "original": "1157689363.423 6517 10.105.21.199 TCP_REFRESH_MISS/200 17396 GET http://newsrss.bbc.co.uk/rss/newsonline_world_edition/front_page/rss.xml badeyek DIRECT/212.58.226.33 application/xml", + "outcome": "success", + "type": [ + "access" + ] + }, + "http": { + "request": { + "body": { + "bytes": 17396 + }, + "method": "GET" + } + }, + "observer": { + "product": "Squid", + "type": "proxy", + "vendor": "Squid" + }, + "related": { + "ip": [ + "10.105.21.199" + ], + "user": [ + "badeyek" + ] + }, + "source": { + "address": "10.105.21.199", + "ip": "10.105.21.199", + "user": { + "name": "badeyek" + } + }, + "squid": { + "content_type": "application/xml", + "peer_host": "212.58.226.33", + "peer_status": "DIRECT", + "result_code": "TCP_REFRESH_MISS", + "status_code": 200 + }, + "tags": [ + "preserve_original_event" + ], + "url": { + "domain": "newsrss.bbc.co.uk", + "extension": "xml", + "original": "http://newsrss.bbc.co.uk/rss/newsonline_world_edition/front_page/rss.xml", + "path": "/rss/newsonline_world_edition/front_page/rss.xml", + "scheme": "http" + } + }, + { + "@timestamp": "2006-09-08T04:22:44.361Z", + "destination": { + "address": "insider.msg.yahoo.com", + "bytes": 407 + }, + "ecs": { + "version": "8.11.0" + }, + "event": { + "category": [ + "web" + ], + "duration": 2140000000, + "kind": "event", + "original": "1157689364.361 2140 10.105.33.214 TCP_MISS/200 407 GET http://insider.msg.yahoo.com/ycontent/beacon.php adeolaegbedokun DIRECT/68.142.231.252 image/gif", + "outcome": "success", + "type": [ + "access" + ] + }, + "http": { + "request": { + "body": { + "bytes": 407 + }, + "method": "GET" + } + }, + "observer": { + "product": "Squid", + "type": "proxy", + "vendor": "Squid" + }, + "related": { + "ip": [ + "10.105.33.214" + ], + "user": [ + "adeolaegbedokun" + ] + }, + "source": { + "address": "10.105.33.214", + "ip": "10.105.33.214", + "user": { + "name": "adeolaegbedokun" + } + }, + "squid": { + "content_type": "image/gif", + "peer_host": "68.142.231.252", + "peer_status": "DIRECT", + "result_code": "TCP_MISS", + "status_code": 200 + }, + "tags": [ + "preserve_original_event" + ], + "url": { + "domain": "insider.msg.yahoo.com", + "extension": "php", + "original": "http://insider.msg.yahoo.com/ycontent/beacon.php", + "path": "/ycontent/beacon.php", + "scheme": "http" + } + }, + { + "@timestamp": "2006-09-08T04:22:44.402Z", + "destination": { + "address": "us.ent1.yimg.com", + "bytes": 219 + }, + "ecs": { + "version": "8.11.0" + }, + "event": { + "category": [ + "web" + ], + "duration": 7000000, + "kind": "event", + "original": "1157689364.402 7 10.105.33.214 TCP_IMS_HIT/304 219 GET http://us.ent1.yimg.com/images.launch.yahoo.com/000/032/457/32457654.jpg adeolaegbedokun NONE/- image/jpeg", + "outcome": "success", + "type": [ + "access" + ] + }, + "http": { + "request": { + "body": { + "bytes": 219 + }, + "method": "GET" + } + }, + "observer": { + "product": "Squid", + "type": "proxy", + "vendor": "Squid" + }, + "related": { + "ip": [ + "10.105.33.214" + ], + "user": [ + "adeolaegbedokun" + ] + }, + "source": { + "address": "10.105.33.214", + "ip": "10.105.33.214", + "user": { + "name": "adeolaegbedokun" + } + }, + "squid": { + "content_type": "image/jpeg", + "peer_status": "NONE", + "result_code": "TCP_IMS_HIT", + "status_code": 304 + }, + "tags": [ + "preserve_original_event" + ], + "url": { + "domain": "us.ent1.yimg.com", + "extension": "jpg", + "original": "http://us.ent1.yimg.com/images.launch.yahoo.com/000/032/457/32457654.jpg", + "path": "/images.launch.yahoo.com/000/032/457/32457654.jpg", + "scheme": "http" + } + }, + { + "@timestamp": "2006-09-08T04:22:44.411Z", + "destination": { + "address": "us.news1.yimg.com", + "bytes": 10593 + }, + "ecs": { + "version": "8.11.0" + }, + "event": { + "category": [ + "web" + ], + "duration": 8000000, + "kind": "event", + "original": "1157689364.411 8 10.105.33.214 TCP_HIT/200 10593 GET http://us.news1.yimg.com/us.yimg.com/p/ap/20060906/thumb.71d29ded334347c48ac88433d033c9a9.pakistan_bin_laden_nyol440.jpg adeolaegbedokun NONE/- image/jpeg", + "outcome": "success", + "type": [ + "access" + ] + }, + "http": { + "request": { + "body": { + "bytes": 10593 + }, + "method": "GET" + } + }, + "observer": { + "product": "Squid", + "type": "proxy", + "vendor": "Squid" + }, + "related": { + "ip": [ + "10.105.33.214" + ], + "user": [ + "adeolaegbedokun" + ] + }, + "source": { + "address": "10.105.33.214", + "ip": "10.105.33.214", + "user": { + "name": "adeolaegbedokun" + } + }, + "squid": { + "content_type": "image/jpeg", + "peer_status": "NONE", + "result_code": "TCP_HIT", + "status_code": 200 + }, + "tags": [ + "preserve_original_event" + ], + "url": { + "domain": "us.news1.yimg.com", + "extension": "jpg", + "original": "http://us.news1.yimg.com/us.yimg.com/p/ap/20060906/thumb.71d29ded334347c48ac88433d033c9a9.pakistan_bin_laden_nyol440.jpg", + "path": "/us.yimg.com/p/ap/20060906/thumb.71d29ded334347c48ac88433d033c9a9.pakistan_bin_laden_nyol440.jpg", + "scheme": "http" + } + }, + { + "@timestamp": "2006-09-08T04:22:45.312Z", + "destination": { + "address": "radio.launch.yahoo.com", + "bytes": 1270 + }, + "ecs": { + "version": "8.11.0" + }, + "event": { + "category": [ + "web" + ], + "duration": 2420000000, + "kind": "event", + "original": "1157689365.312 2420 10.105.33.214 TCP_MISS/302 1270 POST http://radio.launch.yahoo.com/radio/play/authplay.asp adeolaegbedokun DIRECT/68.142.219.132 text/html", + "outcome": "success", + "type": [ + "access" + ] + }, + "http": { + "request": { + "body": { + "bytes": 1270 + }, + "method": "POST" + } + }, + "observer": { + "product": "Squid", + "type": "proxy", + "vendor": "Squid" + }, + "related": { + "ip": [ + "10.105.33.214" + ], + "user": [ + "adeolaegbedokun" + ] + }, + "source": { + "address": "10.105.33.214", + "ip": "10.105.33.214", + "user": { + "name": "adeolaegbedokun" + } + }, + "squid": { + "content_type": "text/html", + "peer_host": "68.142.219.132", + "peer_status": "DIRECT", + "result_code": "TCP_MISS", + "status_code": 302 + }, + "tags": [ + "preserve_original_event" + ], + "url": { + "domain": "radio.launch.yahoo.com", + "extension": "asp", + "original": "http://radio.launch.yahoo.com/radio/play/authplay.asp", + "path": "/radio/play/authplay.asp", + "scheme": "http" + } + }, + { + "@timestamp": "2006-09-08T04:22:46.377Z", + "destination": { + "address": "us.news1.yimg.com", + "bytes": 10519 + }, + "ecs": { + "version": "8.11.0" + }, + "event": { + "category": [ + "web" + ], + "duration": 1966000000, + "kind": "event", + "original": "1157689366.377 1966 10.105.33.214 TCP_MISS/200 10519 GET http://us.news1.yimg.com/us.yimg.com/p/ap/20060908/thumb.443f57762d7349669f609fbf0c97a5f1.academy_awards_host_cacp101.jpg adeolaegbedokun DIRECT/213.160.98.159 image/jpeg", + "outcome": "success", + "type": [ + "access" + ] + }, + "http": { + "request": { + "body": { + "bytes": 10519 + }, + "method": "GET" + } + }, + "observer": { + "product": "Squid", + "type": "proxy", + "vendor": "Squid" + }, + "related": { + "ip": [ + "10.105.33.214" + ], + "user": [ + "adeolaegbedokun" + ] + }, + "source": { + "address": "10.105.33.214", + "ip": "10.105.33.214", + "user": { + "name": "adeolaegbedokun" + } + }, + "squid": { + "content_type": "image/jpeg", + "peer_host": "213.160.98.159", + "peer_status": "DIRECT", + "result_code": "TCP_MISS", + "status_code": 200 + }, + "tags": [ + "preserve_original_event" + ], + "url": { + "domain": "us.news1.yimg.com", + "extension": "jpg", + "original": "http://us.news1.yimg.com/us.yimg.com/p/ap/20060908/thumb.443f57762d7349669f609fbf0c97a5f1.academy_awards_host_cacp101.jpg", + "path": "/us.yimg.com/p/ap/20060908/thumb.443f57762d7349669f609fbf0c97a5f1.academy_awards_host_cacp101.jpg", + "scheme": "http" + } + }, + { + "@timestamp": "2006-09-08T04:22:48.080Z", + "destination": { + "address": "radio.music.yahoo.com", + "bytes": 515 + }, + "ecs": { + "version": "8.11.0" + }, + "event": { + "category": [ + "web" + ], + "duration": 1703000000, + "kind": "event", + "original": "1157689368.080 1703 10.105.33.214 TCP_MISS/200 515 GET http://radio.music.yahoo.com/radio/player/ymsgr/initstationfeed.asp? adeolaegbedokun DIRECT/68.142.219.132 text/xml", + "outcome": "success", + "type": [ + "access" + ] + }, + "http": { + "request": { + "body": { + "bytes": 515 + }, + "method": "GET" + } + }, + "observer": { + "product": "Squid", + "type": "proxy", + "vendor": "Squid" + }, + "related": { + "ip": [ + "10.105.33.214" + ], + "user": [ + "adeolaegbedokun" + ] + }, + "source": { + "address": "10.105.33.214", + "ip": "10.105.33.214", + "user": { + "name": "adeolaegbedokun" + } + }, + "squid": { + "content_type": "text/xml", + "peer_host": "68.142.219.132", + "peer_status": "DIRECT", + "result_code": "TCP_MISS", + "status_code": 200 + }, + "tags": [ + "preserve_original_event" + ], + "url": { + "domain": "radio.music.yahoo.com", + "extension": "asp", + "original": "http://radio.music.yahoo.com/radio/player/ymsgr/initstationfeed.asp?", + "path": "/radio/player/ymsgr/initstationfeed.asp", + "query": "", + "scheme": "http" + } + }, + { + "@timestamp": "2006-09-08T04:22:48.370Z", + "destination": { + "address": "radio.music.yahoo.com", + "bytes": 14411 + }, + "ecs": { + "version": "8.11.0" + }, + "event": { + "category": [ + "web" + ], + "duration": 3057000000, + "kind": "event", + "original": "1157689368.370 3057 10.105.33.214 TCP_MISS/200 14411 GET http://radio.music.yahoo.com/radio/player/ymsgr/initstationfeed.asp? adeolaegbedokun DIRECT/68.142.219.132 text/xml", + "outcome": "success", + "type": [ + "access" + ] + }, + "http": { + "request": { + "body": { + "bytes": 14411 + }, + "method": "GET" + } + }, + "observer": { + "product": "Squid", + "type": "proxy", + "vendor": "Squid" + }, + "related": { + "ip": [ + "10.105.33.214" + ], + "user": [ + "adeolaegbedokun" + ] + }, + "source": { + "address": "10.105.33.214", + "ip": "10.105.33.214", + "user": { + "name": "adeolaegbedokun" + } + }, + "squid": { + "content_type": "text/xml", + "peer_host": "68.142.219.132", + "peer_status": "DIRECT", + "result_code": "TCP_MISS", + "status_code": 200 + }, + "tags": [ + "preserve_original_event" + ], + "url": { + "domain": "radio.music.yahoo.com", + "extension": "asp", + "original": "http://radio.music.yahoo.com/radio/player/ymsgr/initstationfeed.asp?", + "path": "/radio/player/ymsgr/initstationfeed.asp", + "query": "", + "scheme": "http" + } + }, + { + "@timestamp": "2006-09-08T04:22:48.889Z", + "destination": { + "address": "radio.launch.yahoo.com", + "bytes": 1627 + }, + "ecs": { + "version": "8.11.0" + }, + "event": { + "category": [ + "web" + ], + "duration": 808000000, + "kind": "event", + "original": "1157689368.889 808 10.105.33.214 TCP_MISS/200 1627 GET http://radio.launch.yahoo.com/radio/play/authplay.asp? adeolaegbedokun DIRECT/68.142.219.132 text/html", + "outcome": "success", + "type": [ + "access" + ] + }, + "http": { + "request": { + "body": { + "bytes": 1627 + }, + "method": "GET" + } + }, + "observer": { + "product": "Squid", + "type": "proxy", + "vendor": "Squid" + }, + "related": { + "ip": [ + "10.105.33.214" + ], + "user": [ + "adeolaegbedokun" + ] + }, + "source": { + "address": "10.105.33.214", + "ip": "10.105.33.214", + "user": { + "name": "adeolaegbedokun" + } + }, + "squid": { + "content_type": "text/html", + "peer_host": "68.142.219.132", + "peer_status": "DIRECT", + "result_code": "TCP_MISS", + "status_code": 200 + }, + "tags": [ + "preserve_original_event" + ], + "url": { + "domain": "radio.launch.yahoo.com", + "extension": "asp", + "original": "http://radio.launch.yahoo.com/radio/play/authplay.asp?", + "path": "/radio/play/authplay.asp", + "query": "", + "scheme": "http" + } + }, + { + "@timestamp": "2006-09-08T04:22:49.097Z", + "destination": { + "address": "natrocket.kmip.net", + "bytes": 1728 + }, + "ecs": { + "version": "8.11.0" + }, + "event": { + "category": [ + "web" + ], + "duration": 1226000000, + "kind": "event", + "original": "1157689369.097 1226 10.105.37.65 TCP_DENIED/407 1728 GET http://natrocket.kmip.net:5288/iesocks? - NONE/- text/html", + "outcome": "failure", + "type": [ + "access" + ] + }, + "http": { + "request": { + "body": { + "bytes": 1728 + }, + "method": "GET" + } + }, + "observer": { + "product": "Squid", + "type": "proxy", + "vendor": "Squid" + }, + "related": { + "ip": [ + "10.105.37.65" + ] + }, + "source": { + "address": "10.105.37.65", + "ip": "10.105.37.65" + }, + "squid": { + "content_type": "text/html", + "peer_status": "NONE", + "result_code": "TCP_DENIED", + "status_code": 407 + }, + "tags": [ + "preserve_original_event" + ], + "url": { + "domain": "natrocket.kmip.net", + "original": "http://natrocket.kmip.net:5288/iesocks?", + "path": "/iesocks", + "port": 5288, + "query": "", + "scheme": "http" + } + }, + { + "@timestamp": "2006-09-08T04:22:49.702Z", + "destination": { + "address": "natrocket.kmip.net", + "bytes": 1725 + }, + "ecs": { + "version": "8.11.0" + }, + "event": { + "category": [ + "web" + ], + "duration": 0, + "kind": "event", + "original": "1157689369.702 0 10.105.37.65 TCP_DENIED/407 1725 GET http://natrocket.kmip.net:5288/return? - NONE/- text/html", + "outcome": "failure", + "type": [ + "access" + ] + }, + "http": { + "request": { + "body": { + "bytes": 1725 + }, + "method": "GET" + } + }, + "observer": { + "product": "Squid", + "type": "proxy", + "vendor": "Squid" + }, + "related": { + "ip": [ + "10.105.37.65" + ] + }, + "source": { + "address": "10.105.37.65", + "ip": "10.105.37.65" + }, + "squid": { + "content_type": "text/html", + "peer_status": "NONE", + "result_code": "TCP_DENIED", + "status_code": 407 + }, + "tags": [ + "preserve_original_event" + ], + "url": { + "domain": "natrocket.kmip.net", + "original": "http://natrocket.kmip.net:5288/return?", + "path": "/return", + "port": 5288, + "query": "", + "scheme": "http" + } + }, + { + "@timestamp": "2006-09-08T04:22:50.125Z", + "destination": { + "address": "us.news1.yimg.com", + "bytes": 13124 + }, + "ecs": { + "version": "8.11.0" + }, + "event": { + "category": [ + "web" + ], + "duration": 1202000000, + "kind": "event", + "original": "1157689370.125 1202 10.105.33.214 TCP_MISS/200 13124 GET http://us.news1.yimg.com/us.yimg.com/p/ap/20060907/thumb.1caf18e56db54eafb16da58356eb3382.amazon_com_online_video_watw101.jpg adeolaegbedokun DIRECT/213.160.98.159 image/jpeg", + "outcome": "success", + "type": [ + "access" + ] + }, + "http": { + "request": { + "body": { + "bytes": 13124 + }, + "method": "GET" + } + }, + "observer": { + "product": "Squid", + "type": "proxy", + "vendor": "Squid" + }, + "related": { + "ip": [ + "10.105.33.214" + ], + "user": [ + "adeolaegbedokun" + ] + }, + "source": { + "address": "10.105.33.214", + "ip": "10.105.33.214", + "user": { + "name": "adeolaegbedokun" + } + }, + "squid": { + "content_type": "image/jpeg", + "peer_host": "213.160.98.159", + "peer_status": "DIRECT", + "result_code": "TCP_MISS", + "status_code": 200 + }, + "tags": [ + "preserve_original_event" + ], + "url": { + "domain": "us.news1.yimg.com", + "extension": "jpg", + "original": "http://us.news1.yimg.com/us.yimg.com/p/ap/20060907/thumb.1caf18e56db54eafb16da58356eb3382.amazon_com_online_video_watw101.jpg", + "path": "/us.yimg.com/p/ap/20060907/thumb.1caf18e56db54eafb16da58356eb3382.amazon_com_online_video_watw101.jpg", + "scheme": "http" + } + }, + { + "@timestamp": "2006-09-08T04:22:50.862Z", + "destination": { + "address": "radio.launch.yahoo.com", + "bytes": 912 + }, + "ecs": { + "version": "8.11.0" + }, + "event": { + "category": [ + "web" + ], + "duration": 736000000, + "kind": "event", + "original": "1157689370.862 736 10.105.33.214 TCP_MISS/302 912 GET http://radio.launch.yahoo.com/radio/clientdata/515/starter.asp? adeolaegbedokun DIRECT/68.142.219.132 text/html", + "outcome": "success", + "type": [ + "access" + ] + }, + "http": { + "request": { + "body": { + "bytes": 912 + }, + "method": "GET" + } + }, + "observer": { + "product": "Squid", + "type": "proxy", + "vendor": "Squid" + }, + "related": { + "ip": [ + "10.105.33.214" + ], + "user": [ + "adeolaegbedokun" + ] + }, + "source": { + "address": "10.105.33.214", + "ip": "10.105.33.214", + "user": { + "name": "adeolaegbedokun" + } + }, + "squid": { + "content_type": "text/html", + "peer_host": "68.142.219.132", + "peer_status": "DIRECT", + "result_code": "TCP_MISS", + "status_code": 302 + }, + "tags": [ + "preserve_original_event" + ], + "url": { + "domain": "radio.launch.yahoo.com", + "extension": "asp", + "original": "http://radio.launch.yahoo.com/radio/clientdata/515/starter.asp?", + "path": "/radio/clientdata/515/starter.asp", + "query": "", + "scheme": "http" + } + }, + { + "@timestamp": "2006-09-08T04:22:51.690Z", + "destination": { + "address": "radio.launch.yahoo.com", + "bytes": 1450 + }, + "ecs": { + "version": "8.11.0" + }, + "event": { + "category": [ + "web" + ], + "duration": 828000000, + "kind": "event", + "original": "1157689371.690 828 10.105.33.214 TCP_MISS/200 1450 GET http://radio.launch.yahoo.com/radio/player/default.asp? adeolaegbedokun DIRECT/68.142.219.132 text/html", + "outcome": "success", + "type": [ + "access" + ] + }, + "http": { + "request": { + "body": { + "bytes": 1450 + }, + "method": "GET" + } + }, + "observer": { + "product": "Squid", + "type": "proxy", + "vendor": "Squid" + }, + "related": { + "ip": [ + "10.105.33.214" + ], + "user": [ + "adeolaegbedokun" + ] + }, + "source": { + "address": "10.105.33.214", + "ip": "10.105.33.214", + "user": { + "name": "adeolaegbedokun" + } + }, + "squid": { + "content_type": "text/html", + "peer_host": "68.142.219.132", + "peer_status": "DIRECT", + "result_code": "TCP_MISS", + "status_code": 200 + }, + "tags": [ + "preserve_original_event" + ], + "url": { + "domain": "radio.launch.yahoo.com", + "extension": "asp", + "original": "http://radio.launch.yahoo.com/radio/player/default.asp?", + "path": "/radio/player/default.asp", + "query": "", + "scheme": "http" + } + }, + { + "@timestamp": "2006-09-08T04:22:51.987Z", + "destination": { + "address": "us.a2.yimg.com", + "bytes": 30432 + }, + "ecs": { + "version": "8.11.0" + }, + "event": { + "category": [ + "web" + ], + "duration": 3617000000, + "kind": "event", + "original": "1157689371.987 3617 10.105.33.214 TCP_MISS/200 30432 GET http://us.a2.yimg.com/us.yimg.com/a/ya/yahoo_messenger/081106_lrec_msgr_interophitchhiker.swf? adeolaegbedokun DIRECT/213.160.98.152 application/x-shockwave-flash", + "outcome": "success", + "type": [ + "access" + ] + }, + "http": { + "request": { + "body": { + "bytes": 30432 + }, + "method": "GET" + } + }, + "observer": { + "product": "Squid", + "type": "proxy", + "vendor": "Squid" + }, + "related": { + "ip": [ + "10.105.33.214" + ], + "user": [ + "adeolaegbedokun" + ] + }, + "source": { + "address": "10.105.33.214", + "ip": "10.105.33.214", + "user": { + "name": "adeolaegbedokun" + } + }, + "squid": { + "content_type": "application/x-shockwave-flash", + "peer_host": "213.160.98.152", + "peer_status": "DIRECT", + "result_code": "TCP_MISS", + "status_code": 200 + }, + "tags": [ + "preserve_original_event" + ], + "url": { + "domain": "us.a2.yimg.com", + "extension": "swf", + "original": "http://us.a2.yimg.com/us.yimg.com/a/ya/yahoo_messenger/081106_lrec_msgr_interophitchhiker.swf?", + "path": "/us.yimg.com/a/ya/yahoo_messenger/081106_lrec_msgr_interophitchhiker.swf", + "query": "", + "scheme": "http" + } + }, + { + "@timestamp": "2006-09-08T04:22:53.315Z", + "destination": { + "address": "radio.launch.yahoo.com", + "bytes": 14643 + }, + "ecs": { + "version": "8.11.0" + }, + "event": { + "category": [ + "web" + ], + "duration": 1626000000, + "kind": "event", + "original": "1157689373.315 1626 10.105.33.214 TCP_MISS/200 14643 GET http://radio.launch.yahoo.com/radio/player/stickwall.asp? adeolaegbedokun DIRECT/68.142.219.132 text/html", + "outcome": "success", + "type": [ + "access" + ] + }, + "http": { + "request": { + "body": { + "bytes": 14643 + }, + "method": "GET" + } + }, + "observer": { + "product": "Squid", + "type": "proxy", + "vendor": "Squid" + }, + "related": { + "ip": [ + "10.105.33.214" + ], + "user": [ + "adeolaegbedokun" + ] + }, + "source": { + "address": "10.105.33.214", + "ip": "10.105.33.214", + "user": { + "name": "adeolaegbedokun" + } + }, + "squid": { + "content_type": "text/html", + "peer_host": "68.142.219.132", + "peer_status": "DIRECT", + "result_code": "TCP_MISS", + "status_code": 200 + }, + "tags": [ + "preserve_original_event" + ], + "url": { + "domain": "radio.launch.yahoo.com", + "extension": "asp", + "original": "http://radio.launch.yahoo.com/radio/player/stickwall.asp?", + "path": "/radio/player/stickwall.asp", + "query": "", + "scheme": "http" + } + }, + { + "@timestamp": "2006-09-08T04:22:54.065Z", + "destination": { + "address": "us.bc.yahoo.com", + "bytes": 425 + }, + "ecs": { + "version": "8.11.0" + }, + "event": { + "category": [ + "web" + ], + "duration": 2078000000, + "kind": "event", + "original": "1157689374.065 2078 10.105.33.214 TCP_MISS/200 425 GET http://us.bc.yahoo.com/b? adeolaegbedokun DIRECT/68.142.213.132 image/gif", + "outcome": "success", + "type": [ + "access" + ] + }, + "http": { + "request": { + "body": { + "bytes": 425 + }, + "method": "GET" + } + }, + "observer": { + "product": "Squid", + "type": "proxy", + "vendor": "Squid" + }, + "related": { + "ip": [ + "10.105.33.214" + ], + "user": [ + "adeolaegbedokun" + ] + }, + "source": { + "address": "10.105.33.214", + "ip": "10.105.33.214", + "user": { + "name": "adeolaegbedokun" + } + }, + "squid": { + "content_type": "image/gif", + "peer_host": "68.142.213.132", + "peer_status": "DIRECT", + "result_code": "TCP_MISS", + "status_code": 200 + }, + "tags": [ + "preserve_original_event" + ], + "url": { + "domain": "us.bc.yahoo.com", + "original": "http://us.bc.yahoo.com/b?", + "path": "/b", + "query": "", + "scheme": "http" + } + }, + { + "@timestamp": "2006-09-08T04:22:56.221Z", + "destination": { + "address": "insider.msg.yahoo.com", + "bytes": 407 + }, + "ecs": { + "version": "8.11.0" + }, + "event": { + "category": [ + "web" + ], + "duration": 2130000000, + "kind": "event", + "original": "1157689376.221 2130 10.105.33.214 TCP_MISS/200 407 GET http://insider.msg.yahoo.com/ycontent/beacon.php;_ylc=X1MDNTcwMzAyODMEX3IDMgRldnQDdDAEaW50bAN1cwR2ZXIDNywwLDIsMTIw? adeolaegbedokun DIRECT/68.142.194.14 image/gif", + "outcome": "success", + "type": [ + "access" + ] + }, + "http": { + "request": { + "body": { + "bytes": 407 + }, + "method": "GET" + } + }, + "observer": { + "product": "Squid", + "type": "proxy", + "vendor": "Squid" + }, + "related": { + "ip": [ + "10.105.33.214" + ], + "user": [ + "adeolaegbedokun" + ] + }, + "source": { + "address": "10.105.33.214", + "ip": "10.105.33.214", + "user": { + "name": "adeolaegbedokun" + } + }, + "squid": { + "content_type": "image/gif", + "peer_host": "68.142.194.14", + "peer_status": "DIRECT", + "result_code": "TCP_MISS", + "status_code": 200 + }, + "tags": [ + "preserve_original_event" + ], + "url": { + "domain": "insider.msg.yahoo.com", + "extension": "php;_ylc=X1MDNTcwMzAyODMEX3IDMgRldnQDdDAEaW50bAN1cwR2ZXIDNywwLDIsMTIw", + "original": "http://insider.msg.yahoo.com/ycontent/beacon.php;_ylc=X1MDNTcwMzAyODMEX3IDMgRldnQDdDAEaW50bAN1cwR2ZXIDNywwLDIsMTIw?", + "path": "/ycontent/beacon.php;_ylc=X1MDNTcwMzAyODMEX3IDMgRldnQDdDAEaW50bAN1cwR2ZXIDNywwLDIsMTIw", + "query": "", + "scheme": "http" + } + }, + { + "@timestamp": "2006-09-08T04:22:57.171Z", + "destination": { + "bytes": 1476 + }, + "ecs": { + "version": "8.11.0" + }, + "event": { + "category": [ + "web" + ], + "duration": 3412000000, + "kind": "event", + "original": "1157689377.171 3412 10.105.33.214 TCP_MISS/200 1476 CONNECT pclick.internal.yahoo.com:443 adeolaegbedokun DIRECT/216.109.124.55 -", + "outcome": "success", + "type": [ + "access" + ] + }, + "http": { + "request": { + "body": { + "bytes": 1476 + }, + "method": "CONNECT" + } + }, + "observer": { + "product": "Squid", + "type": "proxy", + "vendor": "Squid" + }, + "related": { + "ip": [ + "10.105.33.214" + ], + "user": [ + "adeolaegbedokun" + ] + }, + "source": { + "address": "10.105.33.214", + "ip": "10.105.33.214", + "user": { + "name": "adeolaegbedokun" + } + }, + "squid": { + "peer_host": "216.109.124.55", + "peer_status": "DIRECT", + "result_code": "TCP_MISS", + "status_code": 200 + }, + "tags": [ + "preserve_original_event" + ], + "url": { + "original": "pclick.internal.yahoo.com:443" + } + }, + { + "@timestamp": "2006-09-08T04:22:57.191Z", + "destination": { + "address": "a1568.g.akamai.net", + "bytes": 233 + }, + "ecs": { + "version": "8.11.0" + }, + "event": { + "category": [ + "web" + ], + "duration": 11000000, + "kind": "event", + "original": "1157689377.191 11 10.105.33.214 TCP_IMS_HIT/304 233 GET http://a1568.g.akamai.net/7/1568/1600/20051025184124/radio.launch.yahoo.com/radioapi/includes/js/compVersionedJS/rapiBridge_1_4.js adeolaegbedokun NONE/- application/x-javascript", + "outcome": "success", + "type": [ + "access" + ] + }, + "http": { + "request": { + "body": { + "bytes": 233 + }, + "method": "GET" + } + }, + "observer": { + "product": "Squid", + "type": "proxy", + "vendor": "Squid" + }, + "related": { + "ip": [ + "10.105.33.214" + ], + "user": [ + "adeolaegbedokun" + ] + }, + "source": { + "address": "10.105.33.214", + "ip": "10.105.33.214", + "user": { + "name": "adeolaegbedokun" + } + }, + "squid": { + "content_type": "application/x-javascript", + "peer_status": "NONE", + "result_code": "TCP_IMS_HIT", + "status_code": 304 + }, + "tags": [ + "preserve_original_event" + ], + "url": { + "domain": "a1568.g.akamai.net", + "extension": "js", + "original": "http://a1568.g.akamai.net/7/1568/1600/20051025184124/radio.launch.yahoo.com/radioapi/includes/js/compVersionedJS/rapiBridge_1_4.js", + "path": "/7/1568/1600/20051025184124/radio.launch.yahoo.com/radioapi/includes/js/compVersionedJS/rapiBridge_1_4.js", + "scheme": "http" + } + }, + { + "@timestamp": "2006-09-08T04:22:57.424Z", + "destination": { + "address": "a1568.g.akamai.net", + "bytes": 236 + }, + "ecs": { + "version": "8.11.0" + }, + "event": { + "category": [ + "web" + ], + "duration": 1159000000, + "kind": "event", + "original": "1157689377.424 1159 10.105.33.214 TCP_MISS/304 236 GET http://a1568.g.akamai.net/7/1568/1600/20040405222754/radio.launch.yahoo.com/radio/clientdata/515/other.css adeolaegbedokun DIRECT/213.160.98.159 text/css", + "outcome": "success", + "type": [ + "access" + ] + }, + "http": { + "request": { + "body": { + "bytes": 236 + }, + "method": "GET" + } + }, + "observer": { + "product": "Squid", + "type": "proxy", + "vendor": "Squid" + }, + "related": { + "ip": [ + "10.105.33.214" + ], + "user": [ + "adeolaegbedokun" + ] + }, + "source": { + "address": "10.105.33.214", + "ip": "10.105.33.214", + "user": { + "name": "adeolaegbedokun" + } + }, + "squid": { + "content_type": "text/css", + "peer_host": "213.160.98.159", + "peer_status": "DIRECT", + "result_code": "TCP_MISS", + "status_code": 304 + }, + "tags": [ + "preserve_original_event" + ], + "url": { + "domain": "a1568.g.akamai.net", + "extension": "css", + "original": "http://a1568.g.akamai.net/7/1568/1600/20040405222754/radio.launch.yahoo.com/radio/clientdata/515/other.css", + "path": "/7/1568/1600/20040405222754/radio.launch.yahoo.com/radio/clientdata/515/other.css", + "scheme": "http" + } + }, + { + "@timestamp": "2006-09-08T04:22:58.221Z", + "destination": { + "address": "a1568.g.akamai.net", + "bytes": 238 + }, + "ecs": { + "version": "8.11.0" + }, + "event": { + "category": [ + "web" + ], + "duration": 797000000, + "kind": "event", + "original": "1157689378.221 797 10.105.33.214 TCP_MISS/304 238 GET http://a1568.g.akamai.net/7/1568/1600/20040405222757/radio.launch.yahoo.com/radio/clientdata/515/skins/1/images/bg_left.gif adeolaegbedokun DIRECT/213.160.98.159 image/gif", + "outcome": "success", + "type": [ + "access" + ] + }, + "http": { + "request": { + "body": { + "bytes": 238 + }, + "method": "GET" + } + }, + "observer": { + "product": "Squid", + "type": "proxy", + "vendor": "Squid" + }, + "related": { + "ip": [ + "10.105.33.214" + ], + "user": [ + "adeolaegbedokun" + ] + }, + "source": { + "address": "10.105.33.214", + "ip": "10.105.33.214", + "user": { + "name": "adeolaegbedokun" + } + }, + "squid": { + "content_type": "image/gif", + "peer_host": "213.160.98.159", + "peer_status": "DIRECT", + "result_code": "TCP_MISS", + "status_code": 304 + }, + "tags": [ + "preserve_original_event" + ], + "url": { + "domain": "a1568.g.akamai.net", + "extension": "gif", + "original": "http://a1568.g.akamai.net/7/1568/1600/20040405222757/radio.launch.yahoo.com/radio/clientdata/515/skins/1/images/bg_left.gif", + "path": "/7/1568/1600/20040405222757/radio.launch.yahoo.com/radio/clientdata/515/skins/1/images/bg_left.gif", + "scheme": "http" + } + }, + { + "@timestamp": "2006-09-08T04:22:58.473Z", + "destination": { + "bytes": 2681 + }, + "ecs": { + "version": "8.11.0" + }, + "event": { + "category": [ + "web" + ], + "duration": 3288000000, + "kind": "event", + "original": "1157689378.473 3288 10.105.21.199 TCP_MISS/200 2681 CONNECT login.yahoo.com:443 badeyek DIRECT/209.73.177.115 -", + "outcome": "success", + "type": [ + "access" + ] + }, + "http": { + "request": { + "body": { + "bytes": 2681 + }, + "method": "CONNECT" + } + }, + "observer": { + "product": "Squid", + "type": "proxy", + "vendor": "Squid" + }, + "related": { + "ip": [ + "10.105.21.199" + ], + "user": [ + "badeyek" + ] + }, + "source": { + "address": "10.105.21.199", + "ip": "10.105.21.199", + "user": { + "name": "badeyek" + } + }, + "squid": { + "peer_host": "209.73.177.115", + "peer_status": "DIRECT", + "result_code": "TCP_MISS", + "status_code": 200 + }, + "tags": [ + "preserve_original_event" + ], + "url": { + "original": "login.yahoo.com:443" + } + }, + { + "@timestamp": "2006-09-08T04:22:58.909Z", + "destination": { + "address": "a1568.g.akamai.net", + "bytes": 136 + }, + "ecs": { + "version": "8.11.0" + }, + "event": { + "category": [ + "web" + ], + "duration": 1405000000, + "kind": "event", + "original": "1157689378.909 1405 10.105.33.214 TCP_MISS/304 136 GET http://a1568.g.akamai.net/7/1568/1600/20050829181418/radio.launch.yahoo.com/radio/common_radio/resources/images/noaccess_msgr_uk.gif adeolaegbedokun DIRECT/213.160.98.167 -", + "outcome": "success", + "type": [ + "access" + ] + }, + "http": { + "request": { + "body": { + "bytes": 136 + }, + "method": "GET" + } + }, + "observer": { + "product": "Squid", + "type": "proxy", + "vendor": "Squid" + }, + "related": { + "ip": [ + "10.105.33.214" + ], + "user": [ + "adeolaegbedokun" + ] + }, + "source": { + "address": "10.105.33.214", + "ip": "10.105.33.214", + "user": { + "name": "adeolaegbedokun" + } + }, + "squid": { + "peer_host": "213.160.98.167", + "peer_status": "DIRECT", + "result_code": "TCP_MISS", + "status_code": 304 + }, + "tags": [ + "preserve_original_event" + ], + "url": { + "domain": "a1568.g.akamai.net", + "extension": "gif", + "original": "http://a1568.g.akamai.net/7/1568/1600/20050829181418/radio.launch.yahoo.com/radio/common_radio/resources/images/noaccess_msgr_uk.gif", + "path": "/7/1568/1600/20050829181418/radio.launch.yahoo.com/radio/common_radio/resources/images/noaccess_msgr_uk.gif", + "scheme": "http" + } + }, + { + "@timestamp": "2006-09-08T04:22:58.924Z", + "destination": { + "address": "a1568.g.akamai.net", + "bytes": 237 + }, + "ecs": { + "version": "8.11.0" + }, + "event": { + "category": [ + "web" + ], + "duration": 702000000, + "kind": "event", + "original": "1157689378.924 702 10.105.33.214 TCP_MISS/304 237 GET http://a1568.g.akamai.net/7/1568/1600/20040405222757/radio.launch.yahoo.com/radio/clientdata/515/skins/1/images/bg_right.gif adeolaegbedokun DIRECT/213.160.98.159 image/gif", + "outcome": "success", + "type": [ + "access" + ] + }, + "http": { + "request": { + "body": { + "bytes": 237 + }, + "method": "GET" + } + }, + "observer": { + "product": "Squid", + "type": "proxy", + "vendor": "Squid" + }, + "related": { + "ip": [ + "10.105.33.214" + ], + "user": [ + "adeolaegbedokun" + ] + }, + "source": { + "address": "10.105.33.214", + "ip": "10.105.33.214", + "user": { + "name": "adeolaegbedokun" + } + }, + "squid": { + "content_type": "image/gif", + "peer_host": "213.160.98.159", + "peer_status": "DIRECT", + "result_code": "TCP_MISS", + "status_code": 304 + }, + "tags": [ + "preserve_original_event" + ], + "url": { + "domain": "a1568.g.akamai.net", + "extension": "gif", + "original": "http://a1568.g.akamai.net/7/1568/1600/20040405222757/radio.launch.yahoo.com/radio/clientdata/515/skins/1/images/bg_right.gif", + "path": "/7/1568/1600/20040405222757/radio.launch.yahoo.com/radio/clientdata/515/skins/1/images/bg_right.gif", + "scheme": "http" + } + }, + { + "@timestamp": "2006-09-08T04:22:58.929Z", + "destination": { + "address": "a1568.g.akamai.net", + "bytes": 218 + }, + "ecs": { + "version": "8.11.0" + }, + "event": { + "category": [ + "web" + ], + "duration": 4000000, + "kind": "event", + "original": "1157689378.929 4 10.105.33.214 TCP_IMS_HIT/304 218 GET http://a1568.g.akamai.net/7/1568/1600/20040405222807/radio.launch.yahoo.com/radio/common_radio/resources/images/t.gif adeolaegbedokun NONE/- image/gif", + "outcome": "success", + "type": [ + "access" + ] + }, + "http": { + "request": { + "body": { + "bytes": 218 + }, + "method": "GET" + } + }, + "observer": { + "product": "Squid", + "type": "proxy", + "vendor": "Squid" + }, + "related": { + "ip": [ + "10.105.33.214" + ], + "user": [ + "adeolaegbedokun" + ] + }, + "source": { + "address": "10.105.33.214", + "ip": "10.105.33.214", + "user": { + "name": "adeolaegbedokun" + } + }, + "squid": { + "content_type": "image/gif", + "peer_status": "NONE", + "result_code": "TCP_IMS_HIT", + "status_code": 304 + }, + "tags": [ + "preserve_original_event" + ], + "url": { + "domain": "a1568.g.akamai.net", + "extension": "gif", + "original": "http://a1568.g.akamai.net/7/1568/1600/20040405222807/radio.launch.yahoo.com/radio/common_radio/resources/images/t.gif", + "path": "/7/1568/1600/20040405222807/radio.launch.yahoo.com/radio/common_radio/resources/images/t.gif", + "scheme": "http" + } + }, + { + "@timestamp": "2006-09-08T04:22:59.472Z", + "destination": { + "address": "a1568.g.akamai.net", + "bytes": 238 + }, + "ecs": { + "version": "8.11.0" + }, + "event": { + "category": [ + "web" + ], + "duration": 563000000, + "kind": "event", + "original": "1157689379.472 563 10.105.33.214 TCP_MISS/304 238 GET http://a1568.g.akamai.net/7/1568/1600/20040405222757/radio.launch.yahoo.com/radio/clientdata/515/skins/1/images/bg_controls_off.gif adeolaegbedokun DIRECT/213.160.98.167 image/gif", + "outcome": "success", + "type": [ + "access" + ] + }, + "http": { + "request": { + "body": { + "bytes": 238 + }, + "method": "GET" + } + }, + "observer": { + "product": "Squid", + "type": "proxy", + "vendor": "Squid" + }, + "related": { + "ip": [ + "10.105.33.214" + ], + "user": [ + "adeolaegbedokun" + ] + }, + "source": { + "address": "10.105.33.214", + "ip": "10.105.33.214", + "user": { + "name": "adeolaegbedokun" + } + }, + "squid": { + "content_type": "image/gif", + "peer_host": "213.160.98.167", + "peer_status": "DIRECT", + "result_code": "TCP_MISS", + "status_code": 304 + }, + "tags": [ + "preserve_original_event" + ], + "url": { + "domain": "a1568.g.akamai.net", + "extension": "gif", + "original": "http://a1568.g.akamai.net/7/1568/1600/20040405222757/radio.launch.yahoo.com/radio/clientdata/515/skins/1/images/bg_controls_off.gif", + "path": "/7/1568/1600/20040405222757/radio.launch.yahoo.com/radio/clientdata/515/skins/1/images/bg_controls_off.gif", + "scheme": "http" + } + }, + { + "@timestamp": "2006-09-08T04:22:59.488Z", + "destination": { + "address": "a1568.g.akamai.net", + "bytes": 238 + }, + "ecs": { + "version": "8.11.0" + }, + "event": { + "category": [ + "web" + ], + "duration": 560000000, + "kind": "event", + "original": "1157689379.488 560 10.105.33.214 TCP_MISS/304 238 GET http://a1568.g.akamai.net/7/1568/1600/20040405222756/radio.launch.yahoo.com/radio/clientdata/515/skins/1/images/bg_center.gif adeolaegbedokun DIRECT/213.160.98.159 image/gif", + "outcome": "success", + "type": [ + "access" + ] + }, + "http": { + "request": { + "body": { + "bytes": 238 + }, + "method": "GET" + } + }, + "observer": { + "product": "Squid", + "type": "proxy", + "vendor": "Squid" + }, + "related": { + "ip": [ + "10.105.33.214" + ], + "user": [ + "adeolaegbedokun" + ] + }, + "source": { + "address": "10.105.33.214", + "ip": "10.105.33.214", + "user": { + "name": "adeolaegbedokun" + } + }, + "squid": { + "content_type": "image/gif", + "peer_host": "213.160.98.159", + "peer_status": "DIRECT", + "result_code": "TCP_MISS", + "status_code": 304 + }, + "tags": [ + "preserve_original_event" + ], + "url": { + "domain": "a1568.g.akamai.net", + "extension": "gif", + "original": "http://a1568.g.akamai.net/7/1568/1600/20040405222756/radio.launch.yahoo.com/radio/clientdata/515/skins/1/images/bg_center.gif", + "path": "/7/1568/1600/20040405222756/radio.launch.yahoo.com/radio/clientdata/515/skins/1/images/bg_center.gif", + "scheme": "http" + } + }, + { + "@timestamp": "2006-09-08T04:23:00.159Z", + "destination": { + "address": "a1568.g.akamai.net", + "bytes": 238 + }, + "ecs": { + "version": "8.11.0" + }, + "event": { + "category": [ + "web" + ], + "duration": 685000000, + "kind": "event", + "original": "1157689380.159 685 10.105.33.214 TCP_MISS/304 238 GET http://a1568.g.akamai.net/7/1568/1600/20040405222757/radio.launch.yahoo.com/radio/clientdata/515/skins/1/images/bg_controls_fill.gif adeolaegbedokun DIRECT/213.160.98.167 image/gif", + "outcome": "success", + "type": [ + "access" + ] + }, + "http": { + "request": { + "body": { + "bytes": 238 + }, + "method": "GET" + } + }, + "observer": { + "product": "Squid", + "type": "proxy", + "vendor": "Squid" + }, + "related": { + "ip": [ + "10.105.33.214" + ], + "user": [ + "adeolaegbedokun" + ] + }, + "source": { + "address": "10.105.33.214", + "ip": "10.105.33.214", + "user": { + "name": "adeolaegbedokun" + } + }, + "squid": { + "content_type": "image/gif", + "peer_host": "213.160.98.167", + "peer_status": "DIRECT", + "result_code": "TCP_MISS", + "status_code": 304 + }, + "tags": [ + "preserve_original_event" + ], + "url": { + "domain": "a1568.g.akamai.net", + "extension": "gif", + "original": "http://a1568.g.akamai.net/7/1568/1600/20040405222757/radio.launch.yahoo.com/radio/clientdata/515/skins/1/images/bg_controls_fill.gif", + "path": "/7/1568/1600/20040405222757/radio.launch.yahoo.com/radio/clientdata/515/skins/1/images/bg_controls_fill.gif", + "scheme": "http" + } + }, + { + "@timestamp": "2006-09-08T04:23:01.267Z", + "destination": { + "address": "www.google.com", + "bytes": 1728 + }, + "ecs": { + "version": "8.11.0" + }, + "event": { + "category": [ + "web" + ], + "duration": 1000000, + "kind": "event", + "original": "1157689381.267 1 10.105.37.180 TCP_DENIED/407 1728 GET http://www.google.com/supported_domains - NONE/- text/html", + "outcome": "failure", + "type": [ + "access" + ] + }, + "http": { + "request": { + "body": { + "bytes": 1728 + }, + "method": "GET" + } + }, + "observer": { + "product": "Squid", + "type": "proxy", + "vendor": "Squid" + }, + "related": { + "ip": [ + "10.105.37.180" + ] + }, + "source": { + "address": "10.105.37.180", + "ip": "10.105.37.180" + }, + "squid": { + "content_type": "text/html", + "peer_status": "NONE", + "result_code": "TCP_DENIED", + "status_code": 407 + }, + "tags": [ + "preserve_original_event" + ], + "url": { + "domain": "www.google.com", + "original": "http://www.google.com/supported_domains", + "path": "/supported_domains", + "scheme": "http" + } + }, + { + "@timestamp": "2006-09-08T04:23:01.659Z", + "destination": { + "address": "us.mcafee.com", + "bytes": 1782 + }, + "ecs": { + "version": "8.11.0" + }, + "event": { + "category": [ + "web" + ], + "duration": 0, + "kind": "event", + "original": "1157689381.659 0 10.105.47.191 TCP_DENIED/407 1782 GET http://us.mcafee.com/apps/agent/en-us/agent5/chknews.asp? - NONE/- text/html", + "outcome": "failure", + "type": [ + "access" + ] + }, + "http": { + "request": { + "body": { + "bytes": 1782 + }, + "method": "GET" + } + }, + "observer": { + "product": "Squid", + "type": "proxy", + "vendor": "Squid" + }, + "related": { + "ip": [ + "10.105.47.191" + ] + }, + "source": { + "address": "10.105.47.191", + "ip": "10.105.47.191" + }, + "squid": { + "content_type": "text/html", + "peer_status": "NONE", + "result_code": "TCP_DENIED", + "status_code": 407 + }, + "tags": [ + "preserve_original_event" + ], + "url": { + "domain": "us.mcafee.com", + "extension": "asp", + "original": "http://us.mcafee.com/apps/agent/en-us/agent5/chknews.asp?", + "path": "/apps/agent/en-us/agent5/chknews.asp", + "query": "", + "scheme": "http" + } + }, + { + "@timestamp": "2006-09-08T04:23:01.660Z", + "destination": { + "address": "launch.adserver.yahoo.com", + "bytes": 449 + }, + "ecs": { + "version": "8.11.0" + }, + "event": { + "category": [ + "web" + ], + "duration": 2171000000, + "kind": "event", + "original": "1157689381.660 2171 10.105.33.214 TCP_MISS/200 449 GET http://launch.adserver.yahoo.com/l? adeolaegbedokun DIRECT/216.109.125.112 image/gif", + "outcome": "success", + "type": [ + "access" + ] + }, + "http": { + "request": { + "body": { + "bytes": 449 + }, + "method": "GET" + } + }, + "observer": { + "product": "Squid", + "type": "proxy", + "vendor": "Squid" + }, + "related": { + "ip": [ + "10.105.33.214" + ], + "user": [ + "adeolaegbedokun" + ] + }, + "source": { + "address": "10.105.33.214", + "ip": "10.105.33.214", + "user": { + "name": "adeolaegbedokun" + } + }, + "squid": { + "content_type": "image/gif", + "peer_host": "216.109.125.112", + "peer_status": "DIRECT", + "result_code": "TCP_MISS", + "status_code": 200 + }, + "tags": [ + "preserve_original_event" + ], + "url": { + "domain": "launch.adserver.yahoo.com", + "original": "http://launch.adserver.yahoo.com/l?", + "path": "/l", + "query": "", + "scheme": "http" + } + }, + { + "@timestamp": "2006-09-08T04:23:02.173Z", + "destination": { + "address": "uk.f250.mail.yahoo.com", + "bytes": 11746 + }, + "ecs": { + "version": "8.11.0" + }, + "event": { + "category": [ + "web" + ], + "duration": 3700000000, + "kind": "event", + "original": "1157689382.173 3700 10.105.21.199 TCP_MISS/200 11746 GET http://uk.f250.mail.yahoo.com/dc/launch? badeyek DIRECT/217.12.10.96 text/html", + "outcome": "success", + "type": [ + "access" + ] + }, + "http": { + "request": { + "body": { + "bytes": 11746 + }, + "method": "GET" + } + }, + "observer": { + "product": "Squid", + "type": "proxy", + "vendor": "Squid" + }, + "related": { + "ip": [ + "10.105.21.199" + ], + "user": [ + "badeyek" + ] + }, + "source": { + "address": "10.105.21.199", + "ip": "10.105.21.199", + "user": { + "name": "badeyek" + } + }, + "squid": { + "content_type": "text/html", + "peer_host": "217.12.10.96", + "peer_status": "DIRECT", + "result_code": "TCP_MISS", + "status_code": 200 + }, + "tags": [ + "preserve_original_event" + ], + "url": { + "domain": "uk.f250.mail.yahoo.com", + "original": "http://uk.f250.mail.yahoo.com/dc/launch?", + "path": "/dc/launch", + "query": "", + "scheme": "http" + } + }, + { + "@timestamp": "2006-09-08T04:23:02.622Z", + "destination": { + "bytes": 1670 + }, + "ecs": { + "version": "8.11.0" + }, + "event": { + "category": [ + "web" + ], + "duration": 1000000, + "kind": "event", + "original": "1157689382.622 1 10.105.37.180 TCP_DENIED/407 1670 CONNECT login.live.com:443 - NONE/- text/html", + "outcome": "failure", + "type": [ + "access" + ] + }, + "http": { + "request": { + "body": { + "bytes": 1670 + }, + "method": "CONNECT" + } + }, + "observer": { + "product": "Squid", + "type": "proxy", + "vendor": "Squid" + }, + "related": { + "ip": [ + "10.105.37.180" + ] + }, + "source": { + "address": "10.105.37.180", + "ip": "10.105.37.180" + }, + "squid": { + "content_type": "text/html", + "peer_status": "NONE", + "result_code": "TCP_DENIED", + "status_code": 407 + }, + "tags": [ + "preserve_original_event" + ], + "url": { + "original": "login.live.com:443" + } + }, + { + "@timestamp": "2006-09-08T04:23:04.316Z", + "destination": { + "address": "us.js2.yimg.com", + "bytes": 633 + }, + "ecs": { + "version": "8.11.0" + }, + "event": { + "category": [ + "web" + ], + "duration": 2828000000, + "kind": "event", + "original": "1157689384.316 2828 10.105.21.199 TCP_SWAPFAIL_MISS/200 633 GET http://us.js2.yimg.com/us.js.yimg.com/lib/pim/r/dclient/d/js/uk/77cf3e56414f974dfd8616f56f0f632c_1.js badeyek DIRECT/213.160.98.169 application/x-javascript", + "outcome": "success", + "type": [ + "access" + ] + }, + "http": { + "request": { + "body": { + "bytes": 633 + }, + "method": "GET" + } + }, + "observer": { + "product": "Squid", + "type": "proxy", + "vendor": "Squid" + }, + "related": { + "ip": [ + "10.105.21.199" + ], + "user": [ + "badeyek" + ] + }, + "source": { + "address": "10.105.21.199", + "ip": "10.105.21.199", + "user": { + "name": "badeyek" + } + }, + "squid": { + "content_type": "application/x-javascript", + "peer_host": "213.160.98.169", + "peer_status": "DIRECT", + "result_code": "TCP_SWAPFAIL_MISS", + "status_code": 200 + }, + "tags": [ + "preserve_original_event" + ], + "url": { + "domain": "us.js2.yimg.com", + "extension": "js", + "original": "http://us.js2.yimg.com/us.js.yimg.com/lib/pim/r/dclient/d/js/uk/77cf3e56414f974dfd8616f56f0f632c_1.js", + "path": "/us.js.yimg.com/lib/pim/r/dclient/d/js/uk/77cf3e56414f974dfd8616f56f0f632c_1.js", + "scheme": "http" + } + }, + { + "@timestamp": "2006-09-08T04:23:05.714Z", + "destination": { + "address": "us.js1.yimg.com", + "bytes": 1742 + }, + "ecs": { + "version": "8.11.0" + }, + "event": { + "category": [ + "web" + ], + "duration": 1397000000, + "kind": "event", + "original": "1157689385.714 1397 10.105.21.199 TCP_HIT/200 1742 GET http://us.js1.yimg.com/us.yimg.com/lib/hdr/ygma5.css badeyek NONE/- text/css", + "outcome": "success", + "type": [ + "access" + ] + }, + "http": { + "request": { + "body": { + "bytes": 1742 + }, + "method": "GET" + } + }, + "observer": { + "product": "Squid", + "type": "proxy", + "vendor": "Squid" + }, + "related": { + "ip": [ + "10.105.21.199" + ], + "user": [ + "badeyek" + ] + }, + "source": { + "address": "10.105.21.199", + "ip": "10.105.21.199", + "user": { + "name": "badeyek" + } + }, + "squid": { + "content_type": "text/css", + "peer_status": "NONE", + "result_code": "TCP_HIT", + "status_code": 200 + }, + "tags": [ + "preserve_original_event" + ], + "url": { + "domain": "us.js1.yimg.com", + "extension": "css", + "original": "http://us.js1.yimg.com/us.yimg.com/lib/hdr/ygma5.css", + "path": "/us.yimg.com/lib/hdr/ygma5.css", + "scheme": "http" + } + }, + { + "@timestamp": "2006-09-08T04:23:07.690Z", + "destination": { + "address": "us.js2.yimg.com", + "bytes": 14561 + }, + "ecs": { + "version": "8.11.0" + }, + "event": { + "category": [ + "web" + ], + "duration": 1977000000, + "kind": "event", + "original": "1157689387.690 1977 10.105.21.199 TCP_MISS/200 14561 GET http://us.js2.yimg.com/us.js.yimg.com/lib/pim/r/dclient/d/js/uk/f7fc76100697c9c2d25dd0ec35e563b0_1.js badeyek DIRECT/213.160.98.169 application/x-javascript", + "outcome": "success", + "type": [ + "access" + ] + }, + "http": { + "request": { + "body": { + "bytes": 14561 + }, + "method": "GET" + } + }, + "observer": { + "product": "Squid", + "type": "proxy", + "vendor": "Squid" + }, + "related": { + "ip": [ + "10.105.21.199" + ], + "user": [ + "badeyek" + ] + }, + "source": { + "address": "10.105.21.199", + "ip": "10.105.21.199", + "user": { + "name": "badeyek" + } + }, + "squid": { + "content_type": "application/x-javascript", + "peer_host": "213.160.98.169", + "peer_status": "DIRECT", + "result_code": "TCP_MISS", + "status_code": 200 + }, + "tags": [ + "preserve_original_event" + ], + "url": { + "domain": "us.js2.yimg.com", + "extension": "js", + "original": "http://us.js2.yimg.com/us.js.yimg.com/lib/pim/r/dclient/d/js/uk/f7fc76100697c9c2d25dd0ec35e563b0_1.js", + "path": "/us.js.yimg.com/lib/pim/r/dclient/d/js/uk/f7fc76100697c9c2d25dd0ec35e563b0_1.js", + "scheme": "http" + } + }, + { + "@timestamp": "2006-09-08T04:23:07.771Z", + "destination": { + "address": "us.js1.yimg.com", + "bytes": 68733 + }, + "ecs": { + "version": "8.11.0" + }, + "event": { + "category": [ + "web" + ], + "duration": 80000000, + "kind": "event", + "original": "1157689387.771 80 10.105.21.199 TCP_HIT/200 68733 GET http://us.js1.yimg.com/us.yimg.com/lib/pim/r/medici/13_15/mail/ac.js badeyek NONE/- application/x-javascript", + "outcome": "success", + "type": [ + "access" + ] + }, + "http": { + "request": { + "body": { + "bytes": 68733 + }, + "method": "GET" + } + }, + "observer": { + "product": "Squid", + "type": "proxy", + "vendor": "Squid" + }, + "related": { + "ip": [ + "10.105.21.199" + ], + "user": [ + "badeyek" + ] + }, + "source": { + "address": "10.105.21.199", + "ip": "10.105.21.199", + "user": { + "name": "badeyek" + } + }, + "squid": { + "content_type": "application/x-javascript", + "peer_status": "NONE", + "result_code": "TCP_HIT", + "status_code": 200 + }, + "tags": [ + "preserve_original_event" + ], + "url": { + "domain": "us.js1.yimg.com", + "extension": "js", + "original": "http://us.js1.yimg.com/us.yimg.com/lib/pim/r/medici/13_15/mail/ac.js", + "path": "/us.yimg.com/lib/pim/r/medici/13_15/mail/ac.js", + "scheme": "http" + } + }, + { + "@timestamp": "2006-09-08T04:23:07.830Z", + "destination": { + "address": "us.js2.yimg.com", + "bytes": 898 + }, + "ecs": { + "version": "8.11.0" + }, + "event": { + "category": [ + "web" + ], + "duration": 1000000, + "kind": "event", + "original": "1157689387.830 1 10.105.21.199 TCP_HIT/200 898 GET http://us.js2.yimg.com/us.js.yimg.com/lib/common/utils/2/yahoo_2.0.0-b4.js badeyek NONE/- application/x-javascript", + "outcome": "success", + "type": [ + "access" + ] + }, + "http": { + "request": { + "body": { + "bytes": 898 + }, + "method": "GET" + } + }, + "observer": { + "product": "Squid", + "type": "proxy", + "vendor": "Squid" + }, + "related": { + "ip": [ + "10.105.21.199" + ], + "user": [ + "badeyek" + ] + }, + "source": { + "address": "10.105.21.199", + "ip": "10.105.21.199", + "user": { + "name": "badeyek" + } + }, + "squid": { + "content_type": "application/x-javascript", + "peer_status": "NONE", + "result_code": "TCP_HIT", + "status_code": 200 + }, + "tags": [ + "preserve_original_event" + ], + "url": { + "domain": "us.js2.yimg.com", + "extension": "js", + "original": "http://us.js2.yimg.com/us.js.yimg.com/lib/common/utils/2/yahoo_2.0.0-b4.js", + "path": "/us.js.yimg.com/lib/common/utils/2/yahoo_2.0.0-b4.js", + "scheme": "http" + } + }, + { + "@timestamp": "2006-09-08T04:23:07.832Z", + "destination": { + "address": "us.i1.yimg.com", + "bytes": 26803 + }, + "ecs": { + "version": "8.11.0" + }, + "event": { + "category": [ + "web" + ], + "duration": 60000000, + "kind": "event", + "original": "1157689387.832 60 10.105.21.199 TCP_HIT/200 26803 GET http://us.i1.yimg.com/us.yimg.com/i/us/pim/dclient/d/img/liam_ball_1.gif badeyek NONE/- image/gif", + "outcome": "success", + "type": [ + "access" + ] + }, + "http": { + "request": { + "body": { + "bytes": 26803 + }, + "method": "GET" + } + }, + "observer": { + "product": "Squid", + "type": "proxy", + "vendor": "Squid" + }, + "related": { + "ip": [ + "10.105.21.199" + ], + "user": [ + "badeyek" + ] + }, + "source": { + "address": "10.105.21.199", + "ip": "10.105.21.199", + "user": { + "name": "badeyek" + } + }, + "squid": { + "content_type": "image/gif", + "peer_status": "NONE", + "result_code": "TCP_HIT", + "status_code": 200 + }, + "tags": [ + "preserve_original_event" + ], + "url": { + "domain": "us.i1.yimg.com", + "extension": "gif", + "original": "http://us.i1.yimg.com/us.yimg.com/i/us/pim/dclient/d/img/liam_ball_1.gif", + "path": "/us.yimg.com/i/us/pim/dclient/d/img/liam_ball_1.gif", + "scheme": "http" + } + } + ] +} \ No newline at end of file diff --git a/packages/squid/data_stream/log/_dev/test/pipeline/test-access1.log-expected.json b/packages/squid/data_stream/log/_dev/test/pipeline/test-access1.log-expected.json deleted file mode 100644 index e624feca740..00000000000 --- a/packages/squid/data_stream/log/_dev/test/pipeline/test-access1.log-expected.json +++ /dev/null @@ -1,904 +0,0 @@ -{ - "expected": [ - { - "ecs": { - "version": "8.11.0" - }, - "message": "1157689312.049 5006 10.105.21.199 TCP_MISS/200 19763 CONNECT login.yahoo.com:443 badeyek DIRECT/209.73.177.115 -", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "1157689320.327 2864 10.105.21.199 TCP_MISS/200 10182 GET http://www.goonernews.com/ badeyek DIRECT/207.58.145.61 text/html", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "1157689320.343 1357 10.105.21.199 TCP_REFRESH_HIT/304 214 GET http://www.goonernews.com/styles.css badeyek DIRECT/207.58.145.61 -", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "1157689321.315 1 10.105.21.199 TCP_HIT/200 1464 GET http://www.goonernews.com/styles.css badeyek NONE/- text/css", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "1157689322.780 1464 10.105.21.199 TCP_HIT/200 5626 GET http://www.google-analytics.com/urchin.js badeyek NONE/- text/javascript", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "1157689323.718 3856 10.105.21.199 TCP_MISS/200 30169 GET http://www.goonernews.com/ badeyek DIRECT/207.58.145.61 text/html", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "1157689324.156 1372 10.105.21.199 TCP_MISS/200 399 GET http://www.google-analytics.com/__utm.gif? badeyek DIRECT/66.102.9.147 image/gif", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "1157689324.266 1457 10.105.21.199 TCP_REFRESH_HIT/304 215 GET http://www.goonernews.com/graphics/newslogo.gif badeyek DIRECT/207.58.145.61 -", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "1157689324.281 1465 10.105.21.199 TCP_REFRESH_HIT/304 215 GET http://www.goonernews.com/shop/arsenal_shop_ad.jpg badeyek DIRECT/207.58.145.61 -", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "1157689325.734 1452 10.105.21.199 TCP_REFRESH_HIT/304 214 GET http://www.goonernews.com/flags/FUS.gif badeyek DIRECT/207.58.145.61 -", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "1157689325.736 2 10.105.21.199 TCP_HIT/200 1353 GET http://www.goonernews.com/flags/FGB.gif badeyek NONE/- image/gif", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "1157689325.953 2603 10.105.21.199 TCP_MISS/200 1013 GET http://as.casalemedia.com/s? badeyek DIRECT/209.85.16.38 text/html", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "1157689326.703 4459 10.105.21.199 TCP_MISS/200 1845 CONNECT us.bc.yahoo.com:443 badeyek DIRECT/68.142.213.132 -", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "1157689327.312 1356 10.105.21.199 TCP_MISS/302 729 GET http://impgb.tradedoubler.com/imp/img/16349696/992098 badeyek DIRECT/217.212.240.172 text/html", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "1157689327.751 3484 10.105.21.199 TCP_MISS/200 1577 GET http://4.adbrite.com/mb/text_group.php? badeyek DIRECT/206.169.136.22 text/html", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "1157689327.803 9 10.105.21.199 TCP_HIT/200 1353 GET http://www.goonernews.com/flags/FFR.gif badeyek NONE/- image/gif", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "1157689329.234 1431 10.105.21.199 TCP_REFRESH_HIT/304 214 GET http://www.goonernews.com/flags/FAU.gif badeyek DIRECT/207.58.145.61 -", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "1157689329.280 1414 10.105.21.199 TCP_REFRESH_HIT/304 213 GET http://www.goonernews.com/graphics/spacer.gif badeyek DIRECT/207.58.145.61 -", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "1157689330.920 1686 10.105.21.199 TCP_MISS/200 1784 GET http://4.adbrite.com/mb/text_group.php? badeyek DIRECT/64.127.126.178 text/html", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "1157689331.313 3997 10.105.21.199 TCP_MISS/302 851 GET http://ff.connextra.com/Ladbrokes/selector/image? badeyek DIRECT/213.160.98.161 -", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "1157689335.275 3962 10.105.21.199 TCP_MISS/200 30904 GET http://dd.connextra.com/servlet/controller? badeyek DIRECT/213.160.98.160 image/gif", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "1157689337.481 4 10.105.47.218 TCP_DENIED/407 1661 GET http://hi5.com/ - NONE/- text/html", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "1157689342.757 3657 10.105.21.199 TCP_MISS/200 12569 CONNECT login.yahoo.com:443 badeyek DIRECT/209.73.177.115 -", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "1157689343.106 1 10.105.33.214 TCP_DENIED/407 1752 GET http://update.messenger.yahoo.com/msgrcli7.html - NONE/- text/html", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "1157689343.782 1371 10.105.33.214 TCP_MISS/200 484 POST http://shttp.msg.yahoo.com/notify/ adeolaegbedokun DIRECT/216.155.194.239 text/plain", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "1157689344.736 4969 10.105.47.218 TCP_MISS/200 29359 GET http://hi5.com/ nazsoau DIRECT/204.13.51.238 text/html", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "1157689344.798 1631 10.105.47.218 TCP_MISS/200 5930 GET http://hi5.com/friend/styles/homepage.css nazsoau DIRECT/204.13.51.238 text/css", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "1157689345.641 1810 10.105.33.214 TCP_MISS/200 1645 POST http://shttp.msg.yahoo.com/notify/ adeolaegbedokun DIRECT/216.155.194.239 text/plain", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "1157689346.267 880 10.105.37.58 TCP_DENIED/407 1812 GET http://rms.adobe.com/read/0600/win_/ENU/read0600win_ENUadbe0000.xml - NONE/- text/html", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "1157689347.190 10 10.105.47.218 TCP_IMS_HIT/304 217 GET http://images.hi5.com/styles/style.css nazsoau NONE/- text/css", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "1157689347.307 116 10.105.47.218 TCP_IMS_HIT/304 217 GET http://images.hi5.com/friend/styles/buttons_en_us.css nazsoau NONE/- text/css", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "1157689347.751 6160 10.105.47.218 TCP_MISS/200 27799 GET http://hi5.com/ nazsoau DIRECT/204.13.51.238 text/html", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "1157689349.064 1758 10.105.47.218 TCP_MISS/200 4470 GET http://hi5.com/friend/styles/headernav.css nazsoau DIRECT/204.13.51.238 text/css", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "1157689350.829 1393 10.105.33.214 TCP_MISS/200 382 POST http://shttp.msg.yahoo.com/notify/ adeolaegbedokun DIRECT/216.155.194.239 text/plain", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "1157689353.439 3667 10.105.33.214 TCP_MISS/200 24095 GET http://insider.msg.yahoo.com/? adeolaegbedokun DIRECT/68.142.194.14 text/html", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "1157689353.939 4899 10.105.33.214 TCP_MISS/200 22964 GET http://radio.launch.yahoo.com/radio/play/playmessenger.asp adeolaegbedokun DIRECT/68.142.219.132 text/html", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "1157689354.877 1349 10.105.33.214 TCP_MISS/200 646 POST http://shttp.msg.yahoo.com/notify/ adeolaegbedokun DIRECT/216.155.194.239 text/plain", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "1157689355.517 1578 10.105.33.214 TCP_MISS/200 699 GET http://address.yahoo.com/yab/us? adeolaegbedokun DIRECT/209.191.93.51 text/xml", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "1157689356.907 6741 10.105.21.199 TCP_MISS/302 734 GET http://fxfeeds.mozilla.org/rss20.xml badeyek DIRECT/63.245.209.21 text/html", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "1157689357.267 6424 10.105.33.214 TCP_MISS/200 31400 GET http://insider.msg.yahoo.com/ycontent/? adeolaegbedokun DIRECT/68.142.231.252 text/xml", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "1157689357.720 2831 10.105.33.214 TCP_MISS/200 21152 GET http://insider.msg.yahoo.com/ycontent/? adeolaegbedokun DIRECT/68.142.194.14 text/xml", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "1157689358.173 1 10.105.37.17 TCP_DENIED/407 1667 CONNECT us.mcafee.com:443 - NONE/- text/html", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "1157689358.174 0 10.105.37.17 TCP_DENIED/407 1767 POST http://us.mcafee.com/apps/agent/submgr/appinstru.asp - NONE/- text/html", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "1157689358.174 0 10.105.37.17 TCP_DENIED/407 1761 POST http://us.mcafee.com/apps/agent/submgr/appsync.asp - NONE/- text/html", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "1157689358.226 0 10.105.37.17 TCP_DENIED/407 1667 CONNECT us.mcafee.com:443 - NONE/- text/html", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "1157689358.486 711 10.105.33.214 TCP_REFRESH_HIT/304 512 GET http://radio.launch.yahoo.com/radio/clientdata/538/images/btn_stations.gif adeolaegbedokun DIRECT/68.142.219.132 -", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "1157689358.683 0 10.105.37.17 TCP_DENIED/407 1667 CONNECT us.mcafee.com:443 - NONE/- text/html", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "1157689359.199 713 10.105.33.214 TCP_REFRESH_HIT/304 512 GET http://radio.launch.yahoo.com/radio/clientdata/538/images/btn_stations_over.gif adeolaegbedokun DIRECT/68.142.219.132 -", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "1157689359.269 1982 10.105.33.214 TCP_MISS/200 362 POST http://shttp.msg.yahoo.com/notify/ adeolaegbedokun DIRECT/216.155.194.239 text/plain", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "1157689359.924 725 10.105.33.214 TCP_REFRESH_HIT/304 511 GET http://radio.launch.yahoo.com/radio/clientdata/538/skins/1/images/bg_left.gif adeolaegbedokun DIRECT/68.142.219.132 -", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "1157689360.611 687 10.105.33.214 TCP_REFRESH_HIT/304 512 GET http://radio.launch.yahoo.com/radio/clientdata/538/images/launchcast_radio.gif adeolaegbedokun DIRECT/68.142.219.132 -", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "1157689360.980 1 10.105.47.191 TCP_DENIED/407 1767 POST http://us.mcafee.com/apps/agent/submgr/appinstru.asp - NONE/- text/html", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "1157689361.188 1 10.105.47.191 TCP_DENIED/407 1761 POST http://us.mcafee.com/apps/agent/submgr/appsync.asp - NONE/- text/html", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "1157689361.393 783 10.105.33.214 TCP_REFRESH_HIT/304 512 GET http://radio.launch.yahoo.com/radio/clientdata/538/skins/1/images/bg_right.gif adeolaegbedokun DIRECT/68.142.219.132 -", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "1157689361.564 2242 10.105.33.214 TCP_REFRESH_HIT/304 512 GET http://radio.launch.yahoo.com/radio/clientdata/538/skins/1/images/bg_center.gif adeolaegbedokun DIRECT/68.142.219.132 -", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "1157689362.220 827 10.105.33.214 TCP_REFRESH_HIT/304 512 GET http://radio.launch.yahoo.com/radio/clientdata/538/skins/1/images/bg_controls_off.gif adeolaegbedokun DIRECT/68.142.219.132 -", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "1157689362.315 751 10.105.33.214 TCP_REFRESH_HIT/304 512 GET http://radio.launch.yahoo.com/radio/common_radio/resources/images/t.gif adeolaegbedokun DIRECT/68.142.219.132 -", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "1157689362.318 3 10.105.33.214 TCP_IMS_HIT/304 218 GET http://radio.launch.yahoo.com/radio/clientdata/538/images/btn_off_state_station.gif adeolaegbedokun NONE/- image/gif", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "1157689362.332 13 10.105.33.214 TCP_IMS_HIT/304 218 GET http://radio.launch.yahoo.com/radio/clientdata/538/skins/1/images/bg_controls_fill.gif adeolaegbedokun NONE/- image/gif", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "1157689362.341 8 10.105.33.214 TCP_HIT/200 2263 GET http://us.i1.yimg.com/us.yimg.com/i/us/toolbar50x50.gif adeolaegbedokun NONE/- image/gif", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "1157689363.423 6517 10.105.21.199 TCP_REFRESH_MISS/200 17396 GET http://newsrss.bbc.co.uk/rss/newsonline_world_edition/front_page/rss.xml badeyek DIRECT/212.58.226.33 application/xml", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "1157689364.361 2140 10.105.33.214 TCP_MISS/200 407 GET http://insider.msg.yahoo.com/ycontent/beacon.php adeolaegbedokun DIRECT/68.142.231.252 image/gif", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "1157689364.402 7 10.105.33.214 TCP_IMS_HIT/304 219 GET http://us.ent1.yimg.com/images.launch.yahoo.com/000/032/457/32457654.jpg adeolaegbedokun NONE/- image/jpeg", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "1157689364.411 8 10.105.33.214 TCP_HIT/200 10593 GET http://us.news1.yimg.com/us.yimg.com/p/ap/20060906/thumb.71d29ded334347c48ac88433d033c9a9.pakistan_bin_laden_nyol440.jpg adeolaegbedokun NONE/- image/jpeg", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "1157689365.312 2420 10.105.33.214 TCP_MISS/302 1270 POST http://radio.launch.yahoo.com/radio/play/authplay.asp adeolaegbedokun DIRECT/68.142.219.132 text/html", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "1157689366.377 1966 10.105.33.214 TCP_MISS/200 10519 GET http://us.news1.yimg.com/us.yimg.com/p/ap/20060908/thumb.443f57762d7349669f609fbf0c97a5f1.academy_awards_host_cacp101.jpg adeolaegbedokun DIRECT/213.160.98.159 image/jpeg", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "1157689368.080 1703 10.105.33.214 TCP_MISS/200 515 GET http://radio.music.yahoo.com/radio/player/ymsgr/initstationfeed.asp? adeolaegbedokun DIRECT/68.142.219.132 text/xml", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "1157689368.370 3057 10.105.33.214 TCP_MISS/200 14411 GET http://radio.music.yahoo.com/radio/player/ymsgr/initstationfeed.asp? adeolaegbedokun DIRECT/68.142.219.132 text/xml", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "1157689368.889 808 10.105.33.214 TCP_MISS/200 1627 GET http://radio.launch.yahoo.com/radio/play/authplay.asp? adeolaegbedokun DIRECT/68.142.219.132 text/html", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "1157689369.097 1226 10.105.37.65 TCP_DENIED/407 1728 GET http://natrocket.kmip.net:5288/iesocks? - NONE/- text/html", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "1157689369.702 0 10.105.37.65 TCP_DENIED/407 1725 GET http://natrocket.kmip.net:5288/return? - NONE/- text/html", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "1157689370.125 1202 10.105.33.214 TCP_MISS/200 13124 GET http://us.news1.yimg.com/us.yimg.com/p/ap/20060907/thumb.1caf18e56db54eafb16da58356eb3382.amazon_com_online_video_watw101.jpg adeolaegbedokun DIRECT/213.160.98.159 image/jpeg", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "1157689370.862 736 10.105.33.214 TCP_MISS/302 912 GET http://radio.launch.yahoo.com/radio/clientdata/515/starter.asp? adeolaegbedokun DIRECT/68.142.219.132 text/html", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "1157689371.690 828 10.105.33.214 TCP_MISS/200 1450 GET http://radio.launch.yahoo.com/radio/player/default.asp? adeolaegbedokun DIRECT/68.142.219.132 text/html", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "1157689371.987 3617 10.105.33.214 TCP_MISS/200 30432 GET http://us.a2.yimg.com/us.yimg.com/a/ya/yahoo_messenger/081106_lrec_msgr_interophitchhiker.swf? adeolaegbedokun DIRECT/213.160.98.152 application/x-shockwave-flash", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "1157689373.315 1626 10.105.33.214 TCP_MISS/200 14643 GET http://radio.launch.yahoo.com/radio/player/stickwall.asp? adeolaegbedokun DIRECT/68.142.219.132 text/html", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "1157689374.065 2078 10.105.33.214 TCP_MISS/200 425 GET http://us.bc.yahoo.com/b? adeolaegbedokun DIRECT/68.142.213.132 image/gif", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "1157689376.221 2130 10.105.33.214 TCP_MISS/200 407 GET http://insider.msg.yahoo.com/ycontent/beacon.php;_ylc=X1MDNTcwMzAyODMEX3IDMgRldnQDdDAEaW50bAN1cwR2ZXIDNywwLDIsMTIw? adeolaegbedokun DIRECT/68.142.194.14 image/gif", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "1157689377.171 3412 10.105.33.214 TCP_MISS/200 1476 CONNECT pclick.internal.yahoo.com:443 adeolaegbedokun DIRECT/216.109.124.55 -", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "1157689377.191 11 10.105.33.214 TCP_IMS_HIT/304 233 GET http://a1568.g.akamai.net/7/1568/1600/20051025184124/radio.launch.yahoo.com/radioapi/includes/js/compVersionedJS/rapiBridge_1_4.js adeolaegbedokun NONE/- application/x-javascript", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "1157689377.424 1159 10.105.33.214 TCP_MISS/304 236 GET http://a1568.g.akamai.net/7/1568/1600/20040405222754/radio.launch.yahoo.com/radio/clientdata/515/other.css adeolaegbedokun DIRECT/213.160.98.159 text/css", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "1157689378.221 797 10.105.33.214 TCP_MISS/304 238 GET http://a1568.g.akamai.net/7/1568/1600/20040405222757/radio.launch.yahoo.com/radio/clientdata/515/skins/1/images/bg_left.gif adeolaegbedokun DIRECT/213.160.98.159 image/gif", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "1157689378.473 3288 10.105.21.199 TCP_MISS/200 2681 CONNECT login.yahoo.com:443 badeyek DIRECT/209.73.177.115 -", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "1157689378.909 1405 10.105.33.214 TCP_MISS/304 136 GET http://a1568.g.akamai.net/7/1568/1600/20050829181418/radio.launch.yahoo.com/radio/common_radio/resources/images/noaccess_msgr_uk.gif adeolaegbedokun DIRECT/213.160.98.167 -", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "1157689378.924 702 10.105.33.214 TCP_MISS/304 237 GET http://a1568.g.akamai.net/7/1568/1600/20040405222757/radio.launch.yahoo.com/radio/clientdata/515/skins/1/images/bg_right.gif adeolaegbedokun DIRECT/213.160.98.159 image/gif", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "1157689378.929 4 10.105.33.214 TCP_IMS_HIT/304 218 GET http://a1568.g.akamai.net/7/1568/1600/20040405222807/radio.launch.yahoo.com/radio/common_radio/resources/images/t.gif adeolaegbedokun NONE/- image/gif", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "1157689379.472 563 10.105.33.214 TCP_MISS/304 238 GET http://a1568.g.akamai.net/7/1568/1600/20040405222757/radio.launch.yahoo.com/radio/clientdata/515/skins/1/images/bg_controls_off.gif adeolaegbedokun DIRECT/213.160.98.167 image/gif", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "1157689379.488 560 10.105.33.214 TCP_MISS/304 238 GET http://a1568.g.akamai.net/7/1568/1600/20040405222756/radio.launch.yahoo.com/radio/clientdata/515/skins/1/images/bg_center.gif adeolaegbedokun DIRECT/213.160.98.159 image/gif", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "1157689380.159 685 10.105.33.214 TCP_MISS/304 238 GET http://a1568.g.akamai.net/7/1568/1600/20040405222757/radio.launch.yahoo.com/radio/clientdata/515/skins/1/images/bg_controls_fill.gif adeolaegbedokun DIRECT/213.160.98.167 image/gif", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "1157689381.267 1 10.105.37.180 TCP_DENIED/407 1728 GET http://www.google.com/supported_domains - NONE/- text/html", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "1157689381.659 0 10.105.47.191 TCP_DENIED/407 1782 GET http://us.mcafee.com/apps/agent/en-us/agent5/chknews.asp? - NONE/- text/html", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "1157689381.660 2171 10.105.33.214 TCP_MISS/200 449 GET http://launch.adserver.yahoo.com/l? adeolaegbedokun DIRECT/216.109.125.112 image/gif", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "1157689382.173 3700 10.105.21.199 TCP_MISS/200 11746 GET http://uk.f250.mail.yahoo.com/dc/launch? badeyek DIRECT/217.12.10.96 text/html", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "1157689382.622 1 10.105.37.180 TCP_DENIED/407 1670 CONNECT login.live.com:443 - NONE/- text/html", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "1157689384.316 2828 10.105.21.199 TCP_SWAPFAIL_MISS/200 633 GET http://us.js2.yimg.com/us.js.yimg.com/lib/pim/r/dclient/d/js/uk/77cf3e56414f974dfd8616f56f0f632c_1.js badeyek DIRECT/213.160.98.169 application/x-javascript", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "1157689385.714 1397 10.105.21.199 TCP_HIT/200 1742 GET http://us.js1.yimg.com/us.yimg.com/lib/hdr/ygma5.css badeyek NONE/- text/css", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "1157689387.690 1977 10.105.21.199 TCP_MISS/200 14561 GET http://us.js2.yimg.com/us.js.yimg.com/lib/pim/r/dclient/d/js/uk/f7fc76100697c9c2d25dd0ec35e563b0_1.js badeyek DIRECT/213.160.98.169 application/x-javascript", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "1157689387.771 80 10.105.21.199 TCP_HIT/200 68733 GET http://us.js1.yimg.com/us.yimg.com/lib/pim/r/medici/13_15/mail/ac.js badeyek NONE/- application/x-javascript", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "1157689387.830 1 10.105.21.199 TCP_HIT/200 898 GET http://us.js2.yimg.com/us.js.yimg.com/lib/common/utils/2/yahoo_2.0.0-b4.js badeyek NONE/- application/x-javascript", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "1157689387.832 60 10.105.21.199 TCP_HIT/200 26803 GET http://us.i1.yimg.com/us.yimg.com/i/us/pim/dclient/d/img/liam_ball_1.gif badeyek NONE/- image/gif", - "tags": [ - "preserve_original_event" - ] - } - ] -} \ No newline at end of file diff --git a/packages/squid/data_stream/log/_dev/test/pipeline/test-generated.log b/packages/squid/data_stream/log/_dev/test/pipeline/test-generated.log deleted file mode 100644 index 14078eea632..00000000000 --- a/packages/squid/data_stream/log/_dev/test/pipeline/test-generated.log +++ /dev/null @@ -1,100 +0,0 @@ -10.251.224.219 7337 [29/Jan/2016:6:09:59 nto] "PROPFIND https://example.org/exercita/der.htm?odoco=ria#min ite" 10.234.224.44 etdo tation "quasiarc" liqua ciade 5699 "https://example.net/umq/ntium.gif?nes=eab#aliqu" "Mozilla/5.0 (Linux; Android 10; SM-A715F Build/QP1A.190711.020; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/83.0.4103.83 Mobile Safari/537.36 [FB_IAB/Orca-Android;FBAV/266.0.0.16.117;]" deny -10.102.123.34 7178 [12/Feb/2016:1:12:33 nostrud] "PURGE https://www.example.org/enderitq/sperna.txt?billoi=oreetdol#nidolor tatemU" 10.70.36.222 estlabo doeiu "nia" olupt volup 208 "https://example.com/eosquir/orsi.txt?itessequ=vol#luptat" "Mozilla/5.0 (Linux; Android 10; SM-A305FN Build/QP1A.190711.020; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/78.0.3904.96 Mobile Safari/537.36 YandexSearch/8.10 YandexSearchBrowser/8.10" deny -10.15.135.248 7269 [26/Feb/2016:8:15:08 mquia] "OPTIONS https://internal.example.com/aqu/utper.jpg?eFinib=omm#iin proident" 10.142.172.64 lupt tia "oloremqu" temvel iatu 5493 "https://example.net/dolo/meumfug.gif?roinBCS=ufugiatn#tionulam" "Mozilla/5.0 (Linux; Android 8.1.0; SM-A260G Build/OPR6; rv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Rocket/2.1.17(19420) Chrome/81.0.4044.138 Mobile Safari/537.36" accept -10.44.134.153 5162 [12/Mar/2016:3:17:42 nci] "GET https://api.example.org/ceroinBC/ratvolup.gif?iatu=ionofde#con uia" quiavo 1156 "https://mail.example.com/consec/taliquip.html?radip=tNequ#gelit" "Mozilla/5.0 (Linux; Android 9; 5024D_RU Build/PPR1.180610.011) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.92 Mobile Safari/537.36 YaApp_Android/10.61 YaSearchBrowser/10.61" allow 10.81.122.126 taev 160.145000 -10.160.95.56 1980 [26/Mar/2016:10:20:16 aqui] "PUT https://api.example.org/isetq/estqui.gif?magn=equuntu#eos enimad" 10.171.175.51 boreet onev "tenima" laboreet aquaeabi 5738 "https://api.example.net/veleumi/tia.gif?ude=maveniam#uian" "Mozilla/5.0 (Linux; Android 9; POCOPHONE F1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.83 Mobile Safari/537.36" cancel -10.175.107.139 4243 [09/Apr/2016:5:22:51 antium] "HEAD https://www.example.org/inesci/rsitvolu.txt?pori=occ#ect reetdolo" 10.12.195.60 uiano mrema "autfu" natura aboris 2946 "https://api.example.com/ssitaspe/gitsedqu.jpg?iutal=dexe#urerep" "Mozilla/5.0 (Linux; Android 9; ZTE Blade V1000RU Build/PPR1.180610.011) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Mobile Safari/537.36 YaApp_Android/10.91 YaSearchBrowser/10.91" accept -10.198.136.50 6875 [24/Apr/2016:12:25:25 llam] "DELETE https://www5.example.com/ari/eataevit.txt?iam=mqua#atat quunt" 10.207.249.121 iciade tsed "orai" mUt usmodte 1296 "https://www.example.org/ametcons/porainc.jpg?temsequ=emquiavo#nonnu" "Mozilla/5.0 (Linux; U; Android 4.0.3; es-us; GT-P3100 Build/IML74K) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Safari/534.30" allow -10.34.9.93 124 [08/May/2016:7:27:59 onse] "PROPFIND https://example.org/tatno/imav.htm?ofdeF=tion#orsitame quiratio" 10.116.120.216 qua umdo "sed" apariat mol 1510 "https://internal.example.net/turveli/toccae.htm?erc=taliqu#temUten" "Mozilla/5.0 (Linux; Android 9; Notepad_K10) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.83 Safari/537.36" accept -10.90.131.186 6343 [22/May/2016:2:30:33 nimadmin] "HEAD https://example.org/uaera/sitas.txt?aedic=atquovo#iumto aboreetd" 10.30.216.41 enim saute "vel" quu undeo 5794 "https://mail.example.net/atuse/ddoeiu.gif?idolore=onse#liq" "Mozilla/5.0 (Linux; Android 10; STK-L21 Build/HUAWEISTK-L21) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.83 Mobile Safari/537.36 YaApp_Android/10.91 YaSearchBrowser/10.91" accept -10.8.88.110 7618 [05/Jun/2016:9:33:08 ionul] "CONNECT https://mail.example.org/edquiano/loru.htm?end=enia#nsequu cup" 10.203.172.203 idestla Nemoeni "uradi" aborumSe luptat 6884 "https://www5.example.org/strude/ctetura.htm?ittenbyC=aperi#lor" "Mozilla/5.0 (Linux; Android 9; POCOPHONE F1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.83 Mobile Safari/537.36" accept -10.71.34.9 267 [20/Jun/2016:4:35:42 dolore] "UNLOCK https://www.example.org/iqui/etc.txt?tatiset=eprehen#xercitat lpa" 10.158.185.163 rudexerc aliq "rsitam" quam adm 987 "https://www.example.org/ritatis/oloremi.txt?icab=mwr#fugi" "Mozilla/5.0 (Linux; U; Android 7.1.2; uz-uz; Redmi 4X Build/N2G47H) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/71.0.3578.141 Mobile Safari/537.36 XiaoMi/MiuiBrowser/12.2.3-g" allow -10.210.74.24 6423 [04/Jul/2016:11:38:16 untut] "OPTIONS https://internal.example.net/ommod/sequatur.txt?tlabo=suntexp#ugiatnu stiae" 10.201.76.240 amqu uines "nsec" onse emips 2655 "https://example.net/tion/eataev.htm?uiineavo=tisetq#irati" "Mozilla/5.0 (compatible; Yahoo Ad monitoring; https://help.yahoo.com/kb/yahoo-ad-monitoring-SLN24857.html) yahoo.adquality.lwd.desktop/1591143192-10" accept -10.114.138.121 1939 [18/Jul/2016:6:40:50 tati] "COPY https://api.example.org/oriosamn/deFinibu.gif?iciatisu=rehender#eporroqu uat" 10.206.136.206 suntinc xeac "nidolo" tatn eli 6462 "https://www.example.net/pida/nse.html?emeumfu=CSed#lupt" "Mozilla/5.0 (Linux; Android 8.0.0; VS996) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.83 Mobile Safari/537.36" deny -10.200.199.166 3727 [02/Aug/2016:1:43:25 amvolup] "COPY https://mail.example.org/rehend/tio.html?numqu=qui#civeli lum" 10.134.161.118 tat ipitla "quae" maccusa uptat 3458 "https://www.example.com/xerci/aqu.htm?olorema=iades#siarchi" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.122 YaBrowser/20.3.0.2221 Yowser/2.5 Safari/537.36" block -10.122.46.71 2807 [16/Aug/2016:8:45:59 ihilm] "NONE https://www.example.org/eav/ionevo.txt?siar=orev#iamquis quirat" 10.76.3.41 isc aturve "emulla" mpori aaliquaU 2989 "https://www5.example.com/ern/psaquae.html?nsectet=utla#utei" "Mozilla/5.0 (Linux; Android 8.0.0; VS996) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.83 Mobile Safari/537.36" allow -10.164.250.63 2530 [30/Aug/2016:3:48:33 eritqu] "PROPFIND https://internal.example.net/wri/bor.jpg?hitect=dol#leumiu namali" 10.249.213.83 nsecte itame "eumfug" lit asun 1250 "https://api.example.com/oluptate/onseq.html?labore=texp#tMalor" "Mozilla/5.0 (Linux; Android 6.0; Lenovo A2016a40 Build/MRA58K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.106 Mobile Safari/537.36 YaApp_Android/10.30 YaSearchBrowser/10.30" accept -10.61.242.75 2591 [13/Sep/2016:10:51:07 dantiumt] "HEAD https://api.example.net/equat/doloreme.htm?ione=ihilmole#eriamea amre" 10.236.248.65 pisciv iquidex "radipisc" tmo fficiade 3280 "https://www5.example.net/uioffi/oru.jpg?one=etMalor#ipi" "Mozilla/5.0 (Linux; Android 9; G8142) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.83 Mobile Safari/537.36" cancel -10.13.59.31 5685 [28/Sep/2016:5:53:42 sperna] "PUT https://www5.example.com/estia/tper.gif?volupt=osqui#xerc iutali" 10.214.7.83 liquide etdol "uela" boN eprehend 2462 "https://internal.example.net/lamcolab/ati.jpg?gel=lorsitam#mpo" "Mozilla/5.0 (Linux; Android 9; LG-US998) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.83 Mobile Safari/537.36" block -10.89.201.140 2447 [12/Oct/2016:12:56:16 uamei] "GET https://internal.example.net/sin/rvel.htm?nimid=itatione#isnis uptasn" 10.49.92.179 osamn isnisiu "bore" tsu tcons 3128 "https://api.example.org/lorinre/olorsita.gif?idata=rumwritt#magnid" "Mozilla/5.0 (Linux; Android 8.1.0; SM-A260G Build/OPR6; rv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Rocket/2.1.17(19420) Chrome/81.0.4044.138 Mobile Safari/537.36" accept -10.235.7.92 5787 [26/Oct/2016:7:58:50 nsecte] "PURGE https://api.example.org/abo/veniamqu.gif?aliquide=ofde#equat derit" 10.90.86.89 piscin lapar "laboree" tfu udan 5516 "https://mail.example.net/xeacomm/mveleu.htm?utlabor=rau#idex" "Mozilla/5.0 (Linux; Android 6.0; QMobile X700 PRO II) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.92 Mobile Safari/537.36" deny -10.14.211.43 4762 [10/Nov/2016:3:01:24 eiu] "PROPFIND https://api.example.org/autfu/gnaaliq.jpg?olupta=litse#icabo itatio" 10.14.48.16 sintoc volupt "siste" uiinea Utenima 1612 "https://www5.example.net/ptatem/Nequepor.html?ugiatnu=ciati#nto" "Mozilla/5.0 (Linux; U; Android 4.0.3; es-us; GT-P3100 Build/IML74K) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Safari/534.30" cancel -10.47.25.230 5491 [24/Nov/2016:10:03:59 ese] "CONNECT https://internal.example.net/ptatemq/luptatev.html?Nequepo=ipsumd#ntocc uteirure" 10.93.123.174 evelit reetdolo "smo" etcons iusmodi 1563 "https://example.com/uiac/epte.gif?itam=aper#santiumd" "Mozilla/5.0 (Linux; Android 10; SM-A305FN Build/QP1A.190711.020; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/78.0.3904.96 Mobile Safari/537.36 YandexSearch/8.10 YandexSearchBrowser/8.10" block -10.7.46.36 837 [08/Dec/2016:5:06:33 nonn] "MKOL https://www5.example.net/quiavol/rrorsi.gif?iatisu=sec#cons sBon" 10.233.48.103 leumiur tlab "aperiame" isc ullamcor 584 "https://www5.example.com/tateve/itinvol.txt?tenatus=cipitlab#ipsumd" "Mozilla/5.0 (Linux; U; Android 4.0.3; es-us; GT-P3100 Build/IML74K) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Safari/534.30" cancel -10.93.220.10 2805 [23/Dec/2016:12:09:07 com] "PROPATCH https://api.example.net/orain/tiumt.jpg?litessec=itas#edquia sequatu" 10.27.58.92 amvo qui "tasn" Nemoenim squirati 63 "https://mail.example.com/nbyCic/utlabor.html?iciade=ntiumt#iquipe" "Mozilla/5.0 (Linux; Android 8.1.0; SM-A260G Build/OPR6; rv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Rocket/2.1.17(19420) Chrome/81.0.4044.138 Mobile Safari/537.36" accept -10.213.144.249 4427 [06/Jan/2017:7:11:41 taedicta] "PURGE https://www.example.net/str/idolore.txt?eetdolo=cteturad#untut uamni" 10.135.217.12 metMalo ntexplic "archite" loreme untu 5676 "https://example.net/con/nisist.gif?ium=esciuntN#idunt" "Mozilla/5.0 (Linux; Android 9; G8142) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.83 Mobile Safari/537.36" block -10.13.226.57 3275 [20/Jan/2017:2:14:16 runtm] "PURGE https://mail.example.net/velitse/oditem.html?torever=oremi#mestq temUt" 10.233.239.112 npr mquelau "iadolor" amcol adeser 3780 "https://internal.example.com/tqu/reprehen.gif?quam=quid#fugiat" "Mozilla/5.0 (Linux; Android 9; Notepad_K10) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.83 Safari/537.36" cancel -10.161.203.252 301 [03/Feb/2017:9:16:50 emquia] "CONNECT https://internal.example.org/isnisi/ritatise.gif?tamet=quatur#uisa eFi" 10.21.169.127 rpori ice "oles" edic seq 2835 "https://example.com/tatn/dolorsit.jpg?billo=labo#oNemoeni" "Mozilla/5.0 (Linux; Android 9; G8142) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.83 Mobile Safari/537.36" accept -10.17.215.111 148 [18/Feb/2017:4:19:24 ratv] "LOCK https://www.example.net/ianon/tsed.htm?ameiusm=proide#ano piscinge" 10.69.139.26 ditemp edqui "nre" veli volupta 7124 "https://api.example.com/ersp/enderi.jpg?adi=umwrit#uptate" "Mozilla/5.0 (Linux; Android 6.0; Lenovo A2016a40 Build/MRA58K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.106 Mobile Safari/537.36 YaApp_Android/10.30 YaSearchBrowser/10.30" block -10.10.213.83 7206 [04/Mar/2017:11:21:59 nisi] "COPY https://www5.example.org/ncididun/umSe.jpg?ise=itau#apariat vitaedi" 10.104.80.189 dolore onsecte "nBCSedut" ugiat onulam 1542 "https://mail.example.org/oditautf/quatu.jpg?lumdolor=nonp#labo" "Mozilla/5.0 (Linux; Android 9; G8142) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.83 Mobile Safari/537.36" accept -10.125.131.91 3480 [18/Mar/2017:6:24:33 urv] "UNLOCK https://example.org/uatur/adminimv.gif?exeacom=roidents#tem dol" 10.116.230.217 mvele isis "uasiar" utlab emUteni 7122 "https://api.example.org/lor/velillu.html?dolorem=tvolu#nreprehe" "Opera/9.80 (Series 60; Opera Mini/7.1.32444/174.101; U; ru) Presto/2.12.423 Version/12.16" block -10.26.96.202 2751 [02/Apr/2017:1:27:07 rautodi] "ICP_QUERY https://api.example.com/ven/rQu.html?doloreme=dun#reprehe tincu" 10.119.90.128 lor oraincid "intocc" amcorp ntsunt 4826 "https://mail.example.com/olo/psumqu.txt?fdeF=iquidexe#diconse" "Mozilla/5.0 (Linux; Android 10; STK-L21 Build/HUAWEISTK-L21) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.83 Mobile Safari/537.36 YaApp_Android/10.91 YaSearchBrowser/10.91" cancel -10.0.98.205 126 [16/Apr/2017:8:29:41 edquiac] "HEAD https://api.example.net/eseru/quamest.html?qua=rsita#ate ipsamvo" 10.76.110.144 tdol upt "mex" tatem untutlab 3386 "https://mail.example.com/plicab/oremq.html?uisaute=imide#poriss" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.122 YaBrowser/20.3.0.2221 Yowser/2.5 Safari/537.36" deny -10.224.11.165 1646 [30/Apr/2017:3:32:16 nof] "MOVE https://internal.example.org/mvolu/conse.txt?aincidu=nimadmin#isiu licabo" 10.135.46.242 lupta xeaco "nvolupt" oremi elites 1940 "https://www.example.org/boNemoe/onsequ.html?amvolupt=onevolu#mnis" "Mozilla/5.0 (Linux; Android 6.0; QMobile X700 PRO II) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.92 Mobile Safari/537.36" deny -10.27.44.4 4686 [14/May/2017:10:34:50 sequatD] "TRACE https://internal.example.org/isciv/rroqu.html?uisa=tametco#ilmol eri" 10.154.53.249 tae autodit "elit" cidunt plica 7398 "https://internal.example.org/emqu/nderi.html?accusant=onse#admin" "Mozilla/5.0 (Linux; Android 10; SM-A305FN Build/QP1A.190711.020; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/78.0.3904.96 Mobile Safari/537.36 YandexSearch/8.10 YandexSearchBrowser/8.10" accept -10.93.39.140 4275 [29/May/2017:5:37:24 ute] "COPY https://www5.example.net/uaeratv/isa.txt?periam=dqu#pid rExc" 10.150.245.88 orisn reetd "prehen" ntutlabo iusmodte 1738 "https://example.org/isc/Nequepor.txt?rem=idid#tesse" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.122 YaBrowser/20.3.0.2221 Yowser/2.5 Safari/537.36" cancel -10.61.92.2 6595 [12/Jun/2017:12:39:58 maliquam] "UNLOCK https://www5.example.com/orroq/vitaedic.txt?orisni=ons#remagn ecillu" 10.73.207.70 llamco atu "untincul" ssecil commodi 3023 "https://mail.example.net/tate/onevo.htm?emvele=isnost#olorem" "Mozilla/5.0 (Linux; Android 6.0; Lenovo A2016a40 Build/MRA58K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.106 Mobile Safari/537.36 YaApp_Android/10.30 YaSearchBrowser/10.30" block -10.84.32.178 5271 [26/Jun/2017:7:42:33 aliq] "GET https://example.net/mven/olorsit.gif?oremag=illu#ruredo mac" temUt 2741 "https://internal.example.com/uamnihi/risnis.html?scingeli=isn#sBono" "Mozilla/5.0 (Linux; Android 8.1.0; SM-A260G Build/OPR6; rv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Rocket/2.1.17(19420) Chrome/81.0.4044.138 Mobile Safari/537.36" allow 10.50.124.116 numquam 104.719000 -10.173.222.131 918 [11/Jul/2017:2:45:07 ori] "TRACE https://www5.example.net/rum/eataevi.html?ulla=iqu#oin hil" 10.211.234.224 uiadol Duisa "lupta" aUt boNem 5564 "https://api.example.org/maveni/onevo.htm?liquaUte=alorum#obeataev" "Mozilla/5.0 (Linux; Android 9; G8142) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.83 Mobile Safari/537.36" accept -10.11.83.126 6581 [25/Jul/2017:9:47:41 naaliq] "PROPFIND https://mail.example.net/osquir/mod.txt?fugitse=imad#tinvolup tsed" 10.0.157.225 itam atu "lloin" remipsum tempor 1282 "https://www5.example.net/incidid/rure.htm?edquian=loremeu#aturve" "Mozilla/5.0 (Linux; Android 9; POCOPHONE F1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.83 Mobile Safari/537.36" deny -10.228.77.21 6889 [08/Aug/2017:4:50:15 lamc] "PUT https://api.example.com/asper/umq.txt?itasper=uae#mve uia" 10.92.237.93 mad onse "redol" gnaa mod 5107 "https://www5.example.com/toditaut/voluptat.htm?strumex=eprehend#asnu" "Mozilla/5.0 (Linux; U; Android 4.0.3; es-us; GT-P3100 Build/IML74K) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Safari/534.30" cancel -10.102.215.23 3665 [22/Aug/2017:11:52:50 esseq] "POST https://www5.example.net/quatD/isqua.jpg?oloreseo=iruredol#veniamqu licaboN" 10.20.28.92 econs ntexpl "dunt" litsedq nderiti 409 "https://api.example.com/Cic/olorema.txt?iscive=quasiar#aeab" "Opera/9.80 (Series 60; Opera Mini/7.1.32444/174.101; U; ru) Presto/2.12.423 Version/12.16" allow -10.45.28.159 5627 [06/Sep/2017:6:55:24 ree] "NONE https://api.example.net/ation/luptas.html?iatqu=lorsi#repreh plic" 10.17.87.79 tetur tionula "ritqu" ecatcupi uamei 4595 "https://www5.example.com/onse/olorem.gif?duntutla=ntium#iration" "Mozilla/5.0 (Linux; Android 7.0; SM-S337TL) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.83 Mobile Safari/537.36" block -10.177.238.45 5137 [20/Sep/2017:1:57:58 ssusci] "DELETE https://internal.example.com/mpo/unte.jpg?ueipsa=scipitl#eumi quasiarc" 10.189.94.51 tetura rsp "oluptat" metco acom 5704 "https://api.example.com/tem/exeacomm.txt?taliqui=mides#ciun" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.122 YaBrowser/20.3.0.2221 Yowser/2.5 Safari/537.36" allow -10.46.77.76 5169 [04/Oct/2017:9:00:32 anim] "GET https://www.example.org/uov/quaeab.jpg?moles=dipiscin#olup aco" 10.101.85.169 natu liquid "enim" Finibus radi 5697 "https://example.com/taed/umdolo.html?rroqu=dquiaco#nibus" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.122 YaBrowser/20.3.0.2221 Yowser/2.5 Safari/537.36" accept -10.24.54.129 77 [19/Oct/2017:4:03:07 eprehend] "HEAD https://example.net/edolo/ugiatquo.jpg?eosquira=pta#snos orsi" 10.231.7.209 lorsita eavol "osamnis" temaccu scipitl 1247 "https://www5.example.org/caboNem/urExcept.txt?litesseq=atcupida#tessequa" "Mozilla/5.0 (Linux; Android 10; ASUS_X01BDA) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.162 Mobile Safari/537.36" block -10.121.163.5 7803 [02/Nov/2017:11:05:41 redol] "CONNECT https://api.example.org/isci/dolor.htm?orinrep=quiavol#nrepreh ratv" 10.77.129.175 tali BCS "qui" ugiatquo incidid 2617 "https://www.example.com/sBonor/fugits.jpg?amc=vol#admi" "Mozilla/5.0 (Linux; Android 9; LG-US998) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.83 Mobile Safari/537.36" allow -10.51.236.148 329 [16/Nov/2017:6:08:15 adol] "PROPFIND https://mail.example.com/roide/tem.gif?rerepre=nculpaq#culpaqui tvolup" 10.116.146.114 col obea "emp" agnaaliq est 1444 "https://www.example.com/inculp/onofd.gif?umdolors=dolori#asperna" "Mozilla/5.0 (Linux; Android 10; STK-L21 Build/HUAWEISTK-L21) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.83 Mobile Safari/537.36 YaApp_Android/10.91 YaSearchBrowser/10.91" deny -10.244.108.135 6997 [01/Dec/2017:1:10:49 ume] "NONE https://internal.example.net/rautod/olest.jpg?lapar=ritati#edquia itesse" 10.217.222.99 ame amvolu "mip" tion tobeatae 2512 "https://api.example.com/iqua/luptat.txt?oremqu=uradi#velitsed" "Mozilla/5.0 (Linux; Android 6.0; U20 Build/MRA58K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.147 Mobile Safari/537.36 YaApp_Android/10.90 YaSearchBrowser/10.90" block -10.4.69.152 3833 [15/Dec/2017:8:13:24 scivel] "PUT https://api.example.org/iusmodt/enim.txt?aquio=ersp#iame orroquis" 10.150.198.112 ntmoll mexer "estla" uipexe abor 1370 "https://www.example.net/remips/illoi.jpg?abori=uisnostr#reetdol" "Mozilla/5.0 (Linux; Android 10; SM-A305FN Build/QP1A.190711.020; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/78.0.3904.96 Mobile Safari/537.36 YandexSearch/8.10 YandexSearchBrowser/8.10" block -10.45.114.111 357 [29/Dec/2017:3:15:58 olup] "POST https://example.org/abillo/undeom.html?oraincid=quaer#eetdo tlab" 10.45.54.107 seddoeiu nse "aali" edictasu mdolors 7490 "https://www5.example.org/atis/atDuis.txt?nisiut=rumwri#velill" "Mozilla/5.0 (Linux; Android 10; SM-A715F Build/QP1A.190711.020; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/83.0.4103.83 Mobile Safari/537.36 [FB_IAB/Orca-Android;FBAV/266.0.0.16.117;]" accept -10.49.242.174 4078 [12/Jan/2018:10:18:32 tat] "TRACE https://mail.example.net/uam/orumSec.jpg?isnisiu=suntincu#sse venia" 10.205.28.24 oeni untutlab "tvolup" consecte pteurs 742 "https://www5.example.net/ons/tiaecon.html?unt=tass#tiumdol" "Mozilla/5.0 (Linux; Android 6.0; U20 Build/MRA58K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.147 Mobile Safari/537.36 YaApp_Android/10.90 YaSearchBrowser/10.90" allow -10.17.202.219 487 [27/Jan/2018:5:21:06 iame] "HEAD https://www5.example.org/umiurer/rere.txt?mnisi=usmo#iamea imaveni" 10.183.223.149 cor odoco "oin" itseddoe elites 6366 "https://mail.example.com/eursinto/litesse.html?licaboNe=tautfug#giatquov" "Mozilla/5.0 (compatible; Yahoo Ad monitoring; https://help.yahoo.com/kb/yahoo-ad-monitoring-SLN24857.html) yahoo.adquality.lwd.desktop/1591143192-10" deny -10.81.140.173 7623 [10/Feb/2018:12:23:41 itae] "MOVE https://internal.example.net/atnula/ditautf.jpg?iquidex=olup#remipsu tan" 10.88.172.222 doconse etdol "dolorsi" nturmag tura 6695 "https://internal.example.org/totam/ntoccae.htm?idunt=atqu#naturau" "mobmail android 2.1.3.3150" cancel -10.162.129.196 4247 [24/Feb/2018:7:26:15 snisi] "OPTIONS https://api.example.net/uscip/umS.txt?quiacons=uisa#xeacommo Cicero" 10.247.53.179 issu identsu "piscivel" hend eacommo 6835 "https://example.com/osquira/umd.gif?scipi=tur#acon" "mobmail android 2.1.3.3150" accept -10.110.86.230 536 [11/Mar/2018:2:28:49 eFini] "UNLOCK https://mail.example.com/mrema/ullamc.txt?eufug=roquisq#temporai uido" 10.172.148.223 snulap enimadm "stenatu" upta atc 3066 "https://www5.example.net/asnulap/ipi.htm?orissu=fic#sBon" "Mozilla/5.0 (Linux; Android 5.1.1; Android Build/LMY47V) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Mobile Safari/537.36 YaApp_Android/9.80 YaSearchBrowser/9.80" accept -10.93.159.170 3481 [25/Mar/2018:9:31:24 emullam] "GET https://www5.example.com/isau/itinvol.txt?saquaea=ons#orsitam modico" 10.232.19.43 porinc riame "riat" sseq eriam 729 "https://internal.example.net/imve/essequam.gif?urQuis=etcon#onsequu" "Mozilla/5.0 (Linux; Android 6.0; QMobile X700 PRO II) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.92 Mobile Safari/537.36" deny -10.207.97.192 973 [08/Apr/2018:4:33:58 emp] "ICP_QUERY https://api.example.net/veli/venia.htm?etdolor=uat#onemulla riaturEx" 10.55.55.72 nculp asp "eacom" mag gelitse 2007 "https://example.net/lab/llumq.htm?tetura=rumet#uptasnul" "Mozilla/5.0 (Linux; Android 7.0; SM-S337TL) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.83 Mobile Safari/537.36" cancel -10.41.156.88 203 [22/Apr/2018:11:36:32 oco] "MOVE https://internal.example.net/ainci/osqu.jpg?sus=imavenia#expli ugiat" 10.89.73.240 orem ntorever "pisciv" fugiatqu seos 5561 "https://www5.example.net/elillum/veleumi.gif?tvol=oluptate#lit" "Mozilla/5.0 (Linux; Android 9; 5024D_RU Build/PPR1.180610.011) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.92 Mobile Safari/537.36 YaApp_Android/10.61 YaSearchBrowser/10.61" deny -10.54.44.231 5292 [07/May/2018:6:39:06 aco] "CONNECT https://www.example.org/runtm/eturadip.htm?psumd=oloree#seos rios" 10.101.183.86 mvenia mcorpo "ntexpl" abor oreverit 6451 "https://internal.example.net/tat/eufugia.htm?tau=fficia#est" "Mozilla/5.0 (compatible; Yahoo Ad monitoring; https://help.yahoo.com/kb/yahoo-ad-monitoring-SLN24857.html) yahoo.adquality.lwd.desktop/1591143192-10" allow -10.181.177.74 3378 [21/May/2018:1:41:41 itsedd] "LOCK https://internal.example.org/liquipex/uisnos.html?ventor=lupt#umwri odoc" 10.130.150.189 oreeu nvo "iamqui" tassita colabori 1223 "https://www.example.net/lpa/isn.htm?iat=ffic#siuta" "Mozilla/5.0 (Linux; Android 9; U307AS) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.83 Mobile Safari/537.36" accept -10.76.220.3 2492 [04/Jun/2018:8:44:15 serrorsi] "GET https://api.example.org/mquisnos/lore.txt?siar=isn#veniamq lup" 10.83.130.95 ipitlabo userror "eacommo" nderi liqua 7030 "https://api.example.net/henderit/remq.jpg?voluptas=velill#rspic" "Mozilla/5.0 (Linux; Android 4.1.2; Micromax P410i Build/JZO54K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.111 Mobile Safari/537.36" deny -10.219.245.58 7073 [19/Jun/2018:3:46:49 snisiut] "COPY https://www.example.com/quas/occaeca.htm?ender=dico#uptatem upt" 10.166.160.217 olor radip "rchitect" Dui iameaqu 2429 "https://api.example.com/asnulap/yCiceroi.jpg?ender=inc#tect" "Opera/9.80 (Series 60; Opera Mini/7.1.32444/174.101; U; ru) Presto/2.12.423 Version/12.16" deny -10.121.121.153 723 [03/Jul/2018:10:49:23 smoditem] "UNLOCK https://www5.example.org/uidolo/umdolore.jpg?oquisq=abori#sit catcu" 10.183.243.246 amni tatio "amquisno" modoc magnam 3267 "https://example.com/idatat/onev.html?lesti=oreseo#reprehen" "Mozilla/5.0 (Linux; Android 10; STK-L21 Build/HUAWEISTK-L21) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.83 Mobile Safari/537.36 YaApp_Android/10.91 YaSearchBrowser/10.91" cancel -10.54.5.47 1585 [17/Jul/2018:5:51:58 mmodi] "OPTIONS https://internal.example.net/eniamqu/inimav.htm?imadm=uta#tisu remagnam" 10.202.224.209 iusmodit aturv "ectetura" obeataev umf 3141 "https://www.example.com/quaeabil/emip.htm?urExc=tDuis#iqu" "Mozilla/5.0 (Linux; Android 4.1.2; Micromax P410i Build/JZO54K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.111 Mobile Safari/537.36" cancel -10.72.99.69 3172 [01/Aug/2018:12:54:32 oremeumf] "PROPFIND https://mail.example.net/sintocca/mipsumqu.htm?tnulapar=ico#giatquo lors" 10.170.234.233 accus uatu "mquis" lab uido 2046 "https://mail.example.com/tena/aal.jpg?CSedu=mcol#lup" "Mozilla/5.0 (Linux; Android 9; POCOPHONE F1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.83 Mobile Safari/537.36" allow -10.245.240.47 4017 [15/Aug/2018:7:57:06 itaedict] "DELETE https://api.example.org/rep/remap.html?siarc=fdeFin#eleumi edic" 10.142.130.227 olabori odic "iuta" liquaUte scivelit 7795 "https://internal.example.net/scipit/lloinve.htm?evolup=rvelil#isiutali" "Mozilla/5.0 (Linux; Android 9; ZTE Blade V1000RU Build/PPR1.180610.011) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Mobile Safari/537.36 YaApp_Android/10.91 YaSearchBrowser/10.91" allow -10.62.188.193 4104 [29/Aug/2018:2:59:40 atu] "DELETE https://api.example.net/eturad/tDuis.htm?enimadmi=tateveli#osa mini" 10.61.110.7 oremque quaU "ufugi" cin tmo 508 "https://example.com/oremip/its.jpg?iavol=natuserr#ostrudex" "Mozilla/5.0 (compatible; Yahoo Ad monitoring; https://help.yahoo.com/kb/yahoo-ad-monitoring-SLN24857.html) yahoo.adquality.lwd.desktop/1591143192-10" deny -10.172.139.78 6533 [12/Sep/2018:10:02:15 lamco] "COPY https://www.example.net/hender/ptatemU.htm?mquisnos=tnulapa#madmi tlabore" 10.68.198.188 doeiu onsectet "dentsunt" inea animid 2119 "https://mail.example.net/onnumqua/quioff.html?upt=atatnonp#nvol" "Mozilla/5.0 (Linux; Android 9; 5024D_RU Build/PPR1.180610.011) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.92 Mobile Safari/537.36 YaApp_Android/10.61 YaSearchBrowser/10.61" block -10.172.47.7 2805 [27/Sep/2018:5:04:49 midest] "CONNECT https://www.example.org/iduntutl/rsitam.htm?ntor=oinBCSed#oid rchit" 10.169.63.169 ariat midestl "quatu" avolu teturad 3465 "https://api.example.net/iquaUten/prehende.gif?rpo=velites#nonpro" "Opera/9.80 (Series 60; Opera Mini/7.1.32444/174.101; U; ru) Presto/2.12.423 Version/12.16" block -10.32.98.109 5012 [11/Oct/2018:12:07:23 dexercit] "PURGE https://example.org/itessequ/porissu.html?uip=ectobea#dat aUtenima" 10.62.10.137 eeufugi deomnisi "olupta" oll laboree 3880 "https://api.example.org/cupidata/stiaecon.htm?rsint=itl#ttenb" "Mozilla/5.0 (Linux; Android 9; LG-US998) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.83 Mobile Safari/537.36" cancel -10.176.62.146 5945 [25/Oct/2018:7:09:57 lors] "COPY https://api.example.net/enimad/tis.txt?mipsumq=ident#nimide quelaud" 10.255.40.12 rro oeiusmo "nimv" emeu tatemac 5192 "https://www5.example.com/teursint/etMa.gif?lamcolab=ceroinB#umqui" "Mozilla/5.0 (Linux; Android 6.0; U20 Build/MRA58K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.147 Mobile Safari/537.36 YaApp_Android/10.90 YaSearchBrowser/10.90" deny -10.194.198.46 3387 [09/Nov/2018:2:12:32 cta] "GET https://api.example.org/taspe/yCiceroi.htm?cti=ommodoc#nse mveniam" tuser 2694 "https://internal.example.com/tlaboru/aeabillo.txt?equuntu=quamni#turveli" "Mozilla/5.0 (iPhone; CPU iPhone OS 13_4_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 LightSpeed [FBAN/MessengerLiteForiOS;FBAV/266.0.0.32.114;FBBV/216059178;FBDV/iPhone10,6;FBMD/iPhone;FBSN/iOS;FBSV/13.4.1;FBSS/3;FBCR/;FBID/phone;FBLC/en_US;FBOP/0]" deny 10.88.98.31 rured 105.243000 -10.5.49.20 7503 [23/Nov/2018:9:15:06 macc] "OPTIONS https://example.com/beat/rro.jpg?uisau=qua#iarchite emsequi" 10.1.27.133 edqu tationu "gnaaliq" olore ntutlab 6881 "https://www5.example.com/gnama/esciun.html?ratvo=ntutl#volupt" "Mozilla/5.0 (Linux; Android 6.0; Lenovo A2016a40 Build/MRA58K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.106 Mobile Safari/537.36 YaApp_Android/10.30 YaSearchBrowser/10.30" block -10.11.73.145 6972 [07/Dec/2018:4:17:40 uisautem] "POST https://www5.example.org/loremq/turmagni.txt?emUtenim=ende#dexea aco" 10.70.244.155 olorsi caboNemo "uptas" temaccus ons 2160 "https://internal.example.com/ctetur/mvolupta.html?oreeu=mea#ssec" "Mozilla/5.0 (iPhone; CPU iPhone OS 13_4_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 LightSpeed [FBAN/MessengerLiteForiOS;FBAV/266.0.0.32.114;FBBV/216059178;FBDV/iPhone10,6;FBMD/iPhone;FBSN/iOS;FBSV/13.4.1;FBSS/3;FBCR/;FBID/phone;FBLC/en_US;FBOP/0]" accept -10.204.214.98 985 [21/Dec/2018:11:20:14 equ] "PURGE https://www5.example.net/deomnisi/ddoe.txt?oremi=ectobeat#ecte abo" 10.121.80.158 boriosa cillumdo "ditau" moenimip uames 7663 "https://internal.example.com/lor/oreeu.html?eturadip=nost#atus" "Mozilla/5.0 (Linux; Android 7.0; SM-S337TL) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.83 Mobile Safari/537.36" accept -10.74.115.33 4006 [05/Jan/2019:6:22:49 nsequat] "PURGE https://api.example.net/tiset/sci.jpg?rauto=doloreeu#lors eumfu" 10.139.151.19 eumf roquisq "uasi" maveniam uis 5533 "https://www.example.com/imi/animi.htm?ama=tatnonp#ntiumt" "Mozilla/5.0 (Linux; Android 10; SM-A305FN Build/QP1A.190711.020; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/78.0.3904.96 Mobile Safari/537.36 YandexSearch/8.10 YandexSearchBrowser/8.10" block -10.191.220.1 6454 [19/Jan/2019:1:25:23 ctetura] "DELETE https://api.example.net/tDuisau/aturve.htm?tper=pisciv#tconsect pariat" 10.242.48.203 ctobeat isi "idexeac" ntu tdolo 3872 "https://mail.example.com/olupt/ola.jpg?etquasia=qua#adm" "Mozilla/5.0 (Linux; Android 9; Notepad_K10) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.83 Safari/537.36" deny -10.109.88.27 5568 [02/Feb/2019:8:27:57 cidu] "PROPATCH https://internal.example.com/oluptate/todi.jpg?tdolo=ident#scip eacommod" 10.254.10.98 adipisc aparia "maliq" ccusant epteurs 6661 "https://www5.example.org/oditau/onsec.gif?temqui=lup#aeca" "Mozilla/5.0 (Linux; Android 9; Pixel 3 Build/PD1A.180720.030) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.158 Mobile Safari/537.36" accept -10.5.148.114 4749 [17/Feb/2019:3:30:32 ntin] "LOCK https://mail.example.com/radipis/lore.html?civeli=eufugia#utlabore tamr" 10.175.138.42 olore onemul "trudexe" remeum etur 890 "https://mail.example.org/quiav/ctionofd.gif?Finibus=uisautei#nevolu" "Mozilla/5.0 (Linux; Android 6.0; ZTE BLADE V7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.83 Mobile Safari/537.36" deny -10.0.0.240 1795 [03/Mar/2019:10:33:06 psa] "PROPFIND https://internal.example.org/olupta/tio.jpg?idestl=litani#emp arch" 10.18.199.203 ugits ittenb "tobeatae" ntut llum 366 "https://example.com/equat/estiaec.htm?mquido=ende#ntmollit" "Mozilla/5.0 (Linux; Android 9; U307AS) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.83 Mobile Safari/537.36" allow -10.1.220.47 6685 [17/Mar/2019:5:35:40 mipsamv] "NONE https://www5.example.com/sequines/cto.gif?temaccu=uamqua#Neq runt" 10.73.80.251 pteurs ercitati "atem" serro lumquid 5939 "https://www5.example.org/imaveni/equ.htm?ssequamn=ave#taliqui" "Mozilla/5.0 (Linux; Android 10; SM-A715F Build/QP1A.190711.020; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/83.0.4103.83 Mobile Safari/537.36 [FB_IAB/Orca-Android;FBAV/266.0.0.16.117;]" allow -10.153.109.61 7499 [01/Apr/2019:12:38:14 numq] "PURGE https://www.example.net/periam/ain.gif?iquipex=mqu#onorume abill" 10.22.34.206 mini mve "tionev" uasiarch velites 1745 "https://api.example.org/equa/edquiaco.gif?olorsit=naaliq#plica" "Mozilla/5.0 (Linux; Android 10; STK-L21 Build/HUAWEISTK-L21) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.83 Mobile Safari/537.36 YaApp_Android/10.91 YaSearchBrowser/10.91" block -10.62.168.226 5334 [15/Apr/2019:7:40:49 bori] "CONNECT https://www.example.net/ecatc/quovolu.jpg?dexe=nemul#Duis lupt" 10.199.103.185 uipe ipsa "con" eirured sequamn 5243 "https://mail.example.com/ciatisun/duntutl.htm?didun=riaturEx#nde" "Mozilla/5.0 (iPhone; CPU iPhone OS 13_4_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 LightSpeed [FBAN/MessengerLiteForiOS;FBAV/266.0.0.32.114;FBBV/216059178;FBDV/iPhone10,6;FBMD/iPhone;FBSN/iOS;FBSV/13.4.1;FBSS/3;FBCR/;FBID/phone;FBLC/en_US;FBOP/0]" allow -10.97.33.56 3541 [29/Apr/2019:2:43:23 rad] "COPY https://example.com/tqui/ssequ.gif?emse=emqui#cipitla tlab" 10.128.84.27 nula ptate "volupta" umfu utla 2478 "https://www5.example.com/dolo/velites.gif?equa=apari#tsunt" "Mozilla/5.0 (Linux; Android 10; ASUS_X01BDA) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.162 Mobile Safari/537.36" block -10.49.169.175 2103 [13/May/2019:9:45:57 sistena] "HEAD https://example.com/caboN/imipsam.jpg?catcupid=ritquiin#quisnost sequines" 10.115.154.104 illum ore "spici" Sedut tatis 7767 "https://www5.example.com/sequines/minimve.gif?toditau=uiad#nvolupta" "Mozilla/5.0 (Linux; Android 8.1.0; SM-A260G Build/OPR6; rv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Rocket/2.1.17(19420) Chrome/81.0.4044.138 Mobile Safari/537.36" allow -10.213.100.153 2571 [28/May/2019:4:48:31 iatquo] "PROPFIND https://www.example.org/oinvento/ali.htm?utaliqui=isciv#osqu ptatemse" 10.33.112.100 catcup enimad "magnaali" velillum ionev 1594 "https://internal.example.com/ameaq/Quis.html?lestiae=iav#umiure" "Mozilla/5.0 (Linux; U; Android 4.0.3; es-us; GT-P3100 Build/IML74K) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Safari/534.30" block -10.216.143.226 2632 [11/Jun/2019:11:51:06 deomn] "CONNECT https://api.example.net/quido/llo.htm?tpersp=assi#rch psa" 10.25.53.93 tvolup oremeu "lab" lla urau 6127 "https://example.net/equamni/atcupi.htm?onemull=mdo#labore" "Mozilla/5.0 (Linux; U; Android 4.0.3; es-us; GT-P3100 Build/IML74K) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Safari/534.30" cancel -10.139.195.188 893 [25/Jun/2019:6:53:40 aliquaU] "HEAD https://www.example.net/tvolu/imve.txt?gnaaliq=quam#deriti edictasu" 10.246.115.57 edquiano mSecti "henderi" taevitae tevel 5926 "https://example.com/ita/iquipexe.jpg?quamqua=quuntur#nihi" "Mozilla/5.0 (Linux; Android 9; G8142) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.83 Mobile Safari/537.36" allow -10.60.56.205 4345 [10/Jul/2019:1:56:14 writtenb] "NONE https://www5.example.com/ugitsed/dminimve.htm?onse=uiac#tquii tesse" 10.82.148.126 inBCSedu ita "ade" nihilmol nder 2214 "https://api.example.net/uunturm/iatn.gif?tseddo=diduntut#rroq" "Mozilla/5.0 (iPhone; CPU iPhone OS 13_4_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 LightSpeed [FBAN/MessengerLiteForiOS;FBAV/266.0.0.32.114;FBBV/216059178;FBDV/iPhone10,6;FBMD/iPhone;FBSN/iOS;FBSV/13.4.1;FBSS/3;FBCR/;FBID/phone;FBLC/en_US;FBOP/0]" block -10.245.251.98 261 [24/Jul/2019:8:58:48 mremaper] "DELETE https://api.example.com/ntium/ide.htm?tamrema=isautem#usan gnamali" 10.6.11.124 edqui tvolu "psu" strud onsequ 5930 "https://www5.example.net/iumto/sequatu.jpg?runtm=mdoloree#que" "Mozilla/5.0 (Linux; Android 6.0; QMobile X700 PRO II) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.92 Mobile Safari/537.36" accept -10.99.55.115 1537 [07/Aug/2019:4:01:23 exerci] "CONNECT https://www5.example.org/iad/ngelits.jpg?mporin=orissusc#utaliqui uov" 10.145.25.55 litsed lumd "tiaec" lorem iamquisn 2079 "https://mail.example.org/aper/entor.txt?lumdol=edutper#utemve" "Mozilla/5.0 (Linux; Android 6.0; ZTE BLADE V7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.83 Mobile Safari/537.36" block -10.187.86.64 3325 [21/Aug/2019:11:03:57 atatn] "TRACE https://mail.example.com/iatnulap/roi.htm?uine=loreeu#eprehe ddoeiusm" 10.6.88.105 uptatemU rem "onorumet" iscivel rinci 249 "https://internal.example.com/eriti/uptateve.htm?rema=mcol#tion" "Mozilla/5.0 (Linux; Android 9; Notepad_K10) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.83 Safari/537.36" allow -10.252.146.132 503 [05/Sep/2019:6:06:31 tat] "CONNECT https://mail.example.org/turv/use.jpg?mtot=macc#illoin eursi" 10.163.9.35 uatDu umq "ipsu" oremip ota 4562 "https://example.com/epteurs/itse.jpg?modi=cip#tla" "Mozilla/5.0 (Linux; Android 8.1.0; SM-A260G Build/OPR6; rv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Rocket/2.1.17(19420) Chrome/81.0.4044.138 Mobile Safari/537.36" accept -10.249.101.177 4465 [19/Sep/2019:1:09:05 quam] "DELETE https://mail.example.com/umdol/rerepr.txt?emipsumq=orinr#ineavol umdo" 10.235.160.245 squamest upta "umquiad" porinc uameiu 4857 "https://api.example.org/mipsa/uas.gif?reeufu=umexe#xce" "Mozilla/5.0 (Linux; Android 8.1.0; SM-A260G Build/OPR6; rv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Rocket/2.1.17(19420) Chrome/81.0.4044.138 Mobile Safari/537.36" deny -10.140.170.171 773 [03/Oct/2019:8:11:40 deom] "TRACE https://internal.example.com/rautod/onorumet.htm?mvo=agnidol#nevolup erspici" 10.73.218.58 quidol tinv "Utenima" nse umq 1831 "https://mail.example.org/meaquei/snisiu.htm?atev=vento#litsed" "Mozilla/5.0 (Linux; Android 9; U307AS) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.83 Mobile Safari/537.36" block -10.248.156.138 2125 [18/Oct/2019:3:14:14 smodit] "OPTIONS https://example.net/dun/xce.jpg?nsequat=mvol#asiar eiu" 10.67.148.40 tcons squamest "ction" emveleum siuta 2155 "https://example.com/epteur/onproi.txt?imveniam=sunte#exerc" "Opera/9.80 (Series 60; Opera Mini/7.1.32444/174.101; U; ru) Presto/2.12.423 Version/12.16" deny -10.83.154.75 4260 [01/Nov/2019:10:16:48 explicab] "UNLOCK https://api.example.com/teiru/mquamei.jpg?pta=uradi#sequu orumetMa" 10.37.33.179 taed eatae "siutali" oloremq sum 6106 "https://www.example.org/ulamc/doe.txt?remquela=toreve#squirat" "Mozilla/5.0 (Linux; Android 7.0; MEIZU M6 Build/NRD90M) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.120 Mobile Safari/537.36 YaApp_Android/10.30 YaSearchBrowser/10.30" accept -10.14.29.202 7842 [15/Nov/2019:5:19:22 modoco] "MKOL https://www5.example.net/dtempor/rroquisq.gif?liquid=uidex#umdolo nimv" 10.84.107.38 tutla usmod "ine" qui itse 2097 "https://www5.example.org/tasn/exeaco.html?metc=aincidu#reprehe" "Mozilla/5.0 (Linux; Android 10; SM-A305FN Build/QP1A.190711.020; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/78.0.3904.96 Mobile Safari/537.36 YandexSearch/8.10 YandexSearchBrowser/8.10" deny -10.221.86.133 6682 [30/Nov/2019:12:21:57 edi] "POST https://api.example.com/ore/adeser.htm?pre=aute#rchite rcit" 10.204.223.184 oinve ptasnul "utaliqui" mcorpor rerepr 6861 "https://example.com/tuserror/agnama.jpg?deritq=boreetdo#teni" "Mozilla/5.0 (Linux; Android 10; SM-A715F Build/QP1A.190711.020; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/83.0.4103.83 Mobile Safari/537.36 [FB_IAB/Orca-Android;FBAV/266.0.0.16.117;]" deny -10.195.4.70 3844 [14/Dec/2019:7:24:31 mfugiat] "PUT https://api.example.com/liqu/dolor.htm?ess=umdo#aer quela" 10.229.39.190 Nequepo edictas "emac" rmagnido exeaco 2574 "https://api.example.org/loremi/nven.htm?usan=ugiatn#squa" "Mozilla/5.0 (Linux; Android 10; STK-L21 Build/HUAWEISTK-L21) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.83 Mobile Safari/537.36 YaApp_Android/10.91 YaSearchBrowser/10.91" deny diff --git a/packages/squid/data_stream/log/_dev/test/pipeline/test-generated.log-expected.json b/packages/squid/data_stream/log/_dev/test/pipeline/test-generated.log-expected.json deleted file mode 100644 index 2fd0ffb778a..00000000000 --- a/packages/squid/data_stream/log/_dev/test/pipeline/test-generated.log-expected.json +++ /dev/null @@ -1,904 +0,0 @@ -{ - "expected": [ - { - "ecs": { - "version": "8.11.0" - }, - "message": "10.251.224.219 7337 [29/Jan/2016:6:09:59 nto] \"PROPFIND https://example.org/exercita/der.htm?odoco=ria#min ite\" 10.234.224.44 etdo tation \"quasiarc\" liqua ciade 5699 \"https://example.net/umq/ntium.gif?nes=eab#aliqu\" \"Mozilla/5.0 (Linux; Android 10; SM-A715F Build/QP1A.190711.020; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/83.0.4103.83 Mobile Safari/537.36 [FB_IAB/Orca-Android;FBAV/266.0.0.16.117;]\" deny", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "10.102.123.34 7178 [12/Feb/2016:1:12:33 nostrud] \"PURGE https://www.example.org/enderitq/sperna.txt?billoi=oreetdol#nidolor tatemU\" 10.70.36.222 estlabo doeiu \"nia\" olupt volup 208 \"https://example.com/eosquir/orsi.txt?itessequ=vol#luptat\" \"Mozilla/5.0 (Linux; Android 10; SM-A305FN Build/QP1A.190711.020; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/78.0.3904.96 Mobile Safari/537.36 YandexSearch/8.10 YandexSearchBrowser/8.10\" deny", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "10.15.135.248 7269 [26/Feb/2016:8:15:08 mquia] \"OPTIONS https://internal.example.com/aqu/utper.jpg?eFinib=omm#iin proident\" 10.142.172.64 lupt tia \"oloremqu\" temvel iatu 5493 \"https://example.net/dolo/meumfug.gif?roinBCS=ufugiatn#tionulam\" \"Mozilla/5.0 (Linux; Android 8.1.0; SM-A260G Build/OPR6; rv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Rocket/2.1.17(19420) Chrome/81.0.4044.138 Mobile Safari/537.36\" accept", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "10.44.134.153 5162 [12/Mar/2016:3:17:42 nci] \"GET https://api.example.org/ceroinBC/ratvolup.gif?iatu=ionofde#con uia\" quiavo 1156 \"https://mail.example.com/consec/taliquip.html?radip=tNequ#gelit\" \"Mozilla/5.0 (Linux; Android 9; 5024D_RU Build/PPR1.180610.011) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.92 Mobile Safari/537.36 YaApp_Android/10.61 YaSearchBrowser/10.61\" allow 10.81.122.126 taev 160.145000", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "10.160.95.56 1980 [26/Mar/2016:10:20:16 aqui] \"PUT https://api.example.org/isetq/estqui.gif?magn=equuntu#eos enimad\" 10.171.175.51 boreet onev \"tenima\" laboreet aquaeabi 5738 \"https://api.example.net/veleumi/tia.gif?ude=maveniam#uian\" \"Mozilla/5.0 (Linux; Android 9; POCOPHONE F1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.83 Mobile Safari/537.36\" cancel", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "10.175.107.139 4243 [09/Apr/2016:5:22:51 antium] \"HEAD https://www.example.org/inesci/rsitvolu.txt?pori=occ#ect reetdolo\" 10.12.195.60 uiano mrema \"autfu\" natura aboris 2946 \"https://api.example.com/ssitaspe/gitsedqu.jpg?iutal=dexe#urerep\" \"Mozilla/5.0 (Linux; Android 9; ZTE Blade V1000RU Build/PPR1.180610.011) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Mobile Safari/537.36 YaApp_Android/10.91 YaSearchBrowser/10.91\" accept", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "10.198.136.50 6875 [24/Apr/2016:12:25:25 llam] \"DELETE https://www5.example.com/ari/eataevit.txt?iam=mqua#atat quunt\" 10.207.249.121 iciade tsed \"orai\" mUt usmodte 1296 \"https://www.example.org/ametcons/porainc.jpg?temsequ=emquiavo#nonnu\" \"Mozilla/5.0 (Linux; U; Android 4.0.3; es-us; GT-P3100 Build/IML74K) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Safari/534.30\" allow", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "10.34.9.93 124 [08/May/2016:7:27:59 onse] \"PROPFIND https://example.org/tatno/imav.htm?ofdeF=tion#orsitame quiratio\" 10.116.120.216 qua umdo \"sed\" apariat mol 1510 \"https://internal.example.net/turveli/toccae.htm?erc=taliqu#temUten\" \"Mozilla/5.0 (Linux; Android 9; Notepad_K10) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.83 Safari/537.36\" accept", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "10.90.131.186 6343 [22/May/2016:2:30:33 nimadmin] \"HEAD https://example.org/uaera/sitas.txt?aedic=atquovo#iumto aboreetd\" 10.30.216.41 enim saute \"vel\" quu undeo 5794 \"https://mail.example.net/atuse/ddoeiu.gif?idolore=onse#liq\" \"Mozilla/5.0 (Linux; Android 10; STK-L21 Build/HUAWEISTK-L21) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.83 Mobile Safari/537.36 YaApp_Android/10.91 YaSearchBrowser/10.91\" accept", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "10.8.88.110 7618 [05/Jun/2016:9:33:08 ionul] \"CONNECT https://mail.example.org/edquiano/loru.htm?end=enia#nsequu cup\" 10.203.172.203 idestla Nemoeni \"uradi\" aborumSe luptat 6884 \"https://www5.example.org/strude/ctetura.htm?ittenbyC=aperi#lor\" \"Mozilla/5.0 (Linux; Android 9; POCOPHONE F1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.83 Mobile Safari/537.36\" accept", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "10.71.34.9 267 [20/Jun/2016:4:35:42 dolore] \"UNLOCK https://www.example.org/iqui/etc.txt?tatiset=eprehen#xercitat lpa\" 10.158.185.163 rudexerc aliq \"rsitam\" quam adm 987 \"https://www.example.org/ritatis/oloremi.txt?icab=mwr#fugi\" \"Mozilla/5.0 (Linux; U; Android 7.1.2; uz-uz; Redmi 4X Build/N2G47H) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/71.0.3578.141 Mobile Safari/537.36 XiaoMi/MiuiBrowser/12.2.3-g\" allow", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "10.210.74.24 6423 [04/Jul/2016:11:38:16 untut] \"OPTIONS https://internal.example.net/ommod/sequatur.txt?tlabo=suntexp#ugiatnu stiae\" 10.201.76.240 amqu uines \"nsec\" onse emips 2655 \"https://example.net/tion/eataev.htm?uiineavo=tisetq#irati\" \"Mozilla/5.0 (compatible; Yahoo Ad monitoring; https://help.yahoo.com/kb/yahoo-ad-monitoring-SLN24857.html) yahoo.adquality.lwd.desktop/1591143192-10\" accept", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "10.114.138.121 1939 [18/Jul/2016:6:40:50 tati] \"COPY https://api.example.org/oriosamn/deFinibu.gif?iciatisu=rehender#eporroqu uat\" 10.206.136.206 suntinc xeac \"nidolo\" tatn eli 6462 \"https://www.example.net/pida/nse.html?emeumfu=CSed#lupt\" \"Mozilla/5.0 (Linux; Android 8.0.0; VS996) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.83 Mobile Safari/537.36\" deny", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "10.200.199.166 3727 [02/Aug/2016:1:43:25 amvolup] \"COPY https://mail.example.org/rehend/tio.html?numqu=qui#civeli lum\" 10.134.161.118 tat ipitla \"quae\" maccusa uptat 3458 \"https://www.example.com/xerci/aqu.htm?olorema=iades#siarchi\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.122 YaBrowser/20.3.0.2221 Yowser/2.5 Safari/537.36\" block", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "10.122.46.71 2807 [16/Aug/2016:8:45:59 ihilm] \"NONE https://www.example.org/eav/ionevo.txt?siar=orev#iamquis quirat\" 10.76.3.41 isc aturve \"emulla\" mpori aaliquaU 2989 \"https://www5.example.com/ern/psaquae.html?nsectet=utla#utei\" \"Mozilla/5.0 (Linux; Android 8.0.0; VS996) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.83 Mobile Safari/537.36\" allow", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "10.164.250.63 2530 [30/Aug/2016:3:48:33 eritqu] \"PROPFIND https://internal.example.net/wri/bor.jpg?hitect=dol#leumiu namali\" 10.249.213.83 nsecte itame \"eumfug\" lit asun 1250 \"https://api.example.com/oluptate/onseq.html?labore=texp#tMalor\" \"Mozilla/5.0 (Linux; Android 6.0; Lenovo A2016a40 Build/MRA58K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.106 Mobile Safari/537.36 YaApp_Android/10.30 YaSearchBrowser/10.30\" accept", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "10.61.242.75 2591 [13/Sep/2016:10:51:07 dantiumt] \"HEAD https://api.example.net/equat/doloreme.htm?ione=ihilmole#eriamea amre\" 10.236.248.65 pisciv iquidex \"radipisc\" tmo fficiade 3280 \"https://www5.example.net/uioffi/oru.jpg?one=etMalor#ipi\" \"Mozilla/5.0 (Linux; Android 9; G8142) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.83 Mobile Safari/537.36\" cancel", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "10.13.59.31 5685 [28/Sep/2016:5:53:42 sperna] \"PUT https://www5.example.com/estia/tper.gif?volupt=osqui#xerc iutali\" 10.214.7.83 liquide etdol \"uela\" boN eprehend 2462 \"https://internal.example.net/lamcolab/ati.jpg?gel=lorsitam#mpo\" \"Mozilla/5.0 (Linux; Android 9; LG-US998) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.83 Mobile Safari/537.36\" block", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "10.89.201.140 2447 [12/Oct/2016:12:56:16 uamei] \"GET https://internal.example.net/sin/rvel.htm?nimid=itatione#isnis uptasn\" 10.49.92.179 osamn isnisiu \"bore\" tsu tcons 3128 \"https://api.example.org/lorinre/olorsita.gif?idata=rumwritt#magnid\" \"Mozilla/5.0 (Linux; Android 8.1.0; SM-A260G Build/OPR6; rv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Rocket/2.1.17(19420) Chrome/81.0.4044.138 Mobile Safari/537.36\" accept", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "10.235.7.92 5787 [26/Oct/2016:7:58:50 nsecte] \"PURGE https://api.example.org/abo/veniamqu.gif?aliquide=ofde#equat derit\" 10.90.86.89 piscin lapar \"laboree\" tfu udan 5516 \"https://mail.example.net/xeacomm/mveleu.htm?utlabor=rau#idex\" \"Mozilla/5.0 (Linux; Android 6.0; QMobile X700 PRO II) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.92 Mobile Safari/537.36\" deny", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "10.14.211.43 4762 [10/Nov/2016:3:01:24 eiu] \"PROPFIND https://api.example.org/autfu/gnaaliq.jpg?olupta=litse#icabo itatio\" 10.14.48.16 sintoc volupt \"siste\" uiinea Utenima 1612 \"https://www5.example.net/ptatem/Nequepor.html?ugiatnu=ciati#nto\" \"Mozilla/5.0 (Linux; U; Android 4.0.3; es-us; GT-P3100 Build/IML74K) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Safari/534.30\" cancel", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "10.47.25.230 5491 [24/Nov/2016:10:03:59 ese] \"CONNECT https://internal.example.net/ptatemq/luptatev.html?Nequepo=ipsumd#ntocc uteirure\" 10.93.123.174 evelit reetdolo \"smo\" etcons iusmodi 1563 \"https://example.com/uiac/epte.gif?itam=aper#santiumd\" \"Mozilla/5.0 (Linux; Android 10; SM-A305FN Build/QP1A.190711.020; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/78.0.3904.96 Mobile Safari/537.36 YandexSearch/8.10 YandexSearchBrowser/8.10\" block", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "10.7.46.36 837 [08/Dec/2016:5:06:33 nonn] \"MKOL https://www5.example.net/quiavol/rrorsi.gif?iatisu=sec#cons sBon\" 10.233.48.103 leumiur tlab \"aperiame\" isc ullamcor 584 \"https://www5.example.com/tateve/itinvol.txt?tenatus=cipitlab#ipsumd\" \"Mozilla/5.0 (Linux; U; Android 4.0.3; es-us; GT-P3100 Build/IML74K) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Safari/534.30\" cancel", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "10.93.220.10 2805 [23/Dec/2016:12:09:07 com] \"PROPATCH https://api.example.net/orain/tiumt.jpg?litessec=itas#edquia sequatu\" 10.27.58.92 amvo qui \"tasn\" Nemoenim squirati 63 \"https://mail.example.com/nbyCic/utlabor.html?iciade=ntiumt#iquipe\" \"Mozilla/5.0 (Linux; Android 8.1.0; SM-A260G Build/OPR6; rv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Rocket/2.1.17(19420) Chrome/81.0.4044.138 Mobile Safari/537.36\" accept", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "10.213.144.249 4427 [06/Jan/2017:7:11:41 taedicta] \"PURGE https://www.example.net/str/idolore.txt?eetdolo=cteturad#untut uamni\" 10.135.217.12 metMalo ntexplic \"archite\" loreme untu 5676 \"https://example.net/con/nisist.gif?ium=esciuntN#idunt\" \"Mozilla/5.0 (Linux; Android 9; G8142) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.83 Mobile Safari/537.36\" block", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "10.13.226.57 3275 [20/Jan/2017:2:14:16 runtm] \"PURGE https://mail.example.net/velitse/oditem.html?torever=oremi#mestq temUt\" 10.233.239.112 npr mquelau \"iadolor\" amcol adeser 3780 \"https://internal.example.com/tqu/reprehen.gif?quam=quid#fugiat\" \"Mozilla/5.0 (Linux; Android 9; Notepad_K10) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.83 Safari/537.36\" cancel", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "10.161.203.252 301 [03/Feb/2017:9:16:50 emquia] \"CONNECT https://internal.example.org/isnisi/ritatise.gif?tamet=quatur#uisa eFi\" 10.21.169.127 rpori ice \"oles\" edic seq 2835 \"https://example.com/tatn/dolorsit.jpg?billo=labo#oNemoeni\" \"Mozilla/5.0 (Linux; Android 9; G8142) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.83 Mobile Safari/537.36\" accept", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "10.17.215.111 148 [18/Feb/2017:4:19:24 ratv] \"LOCK https://www.example.net/ianon/tsed.htm?ameiusm=proide#ano piscinge\" 10.69.139.26 ditemp edqui \"nre\" veli volupta 7124 \"https://api.example.com/ersp/enderi.jpg?adi=umwrit#uptate\" \"Mozilla/5.0 (Linux; Android 6.0; Lenovo A2016a40 Build/MRA58K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.106 Mobile Safari/537.36 YaApp_Android/10.30 YaSearchBrowser/10.30\" block", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "10.10.213.83 7206 [04/Mar/2017:11:21:59 nisi] \"COPY https://www5.example.org/ncididun/umSe.jpg?ise=itau#apariat vitaedi\" 10.104.80.189 dolore onsecte \"nBCSedut\" ugiat onulam 1542 \"https://mail.example.org/oditautf/quatu.jpg?lumdolor=nonp#labo\" \"Mozilla/5.0 (Linux; Android 9; G8142) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.83 Mobile Safari/537.36\" accept", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "10.125.131.91 3480 [18/Mar/2017:6:24:33 urv] \"UNLOCK https://example.org/uatur/adminimv.gif?exeacom=roidents#tem dol\" 10.116.230.217 mvele isis \"uasiar\" utlab emUteni 7122 \"https://api.example.org/lor/velillu.html?dolorem=tvolu#nreprehe\" \"Opera/9.80 (Series 60; Opera Mini/7.1.32444/174.101; U; ru) Presto/2.12.423 Version/12.16\" block", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "10.26.96.202 2751 [02/Apr/2017:1:27:07 rautodi] \"ICP_QUERY https://api.example.com/ven/rQu.html?doloreme=dun#reprehe tincu\" 10.119.90.128 lor oraincid \"intocc\" amcorp ntsunt 4826 \"https://mail.example.com/olo/psumqu.txt?fdeF=iquidexe#diconse\" \"Mozilla/5.0 (Linux; Android 10; STK-L21 Build/HUAWEISTK-L21) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.83 Mobile Safari/537.36 YaApp_Android/10.91 YaSearchBrowser/10.91\" cancel", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "10.0.98.205 126 [16/Apr/2017:8:29:41 edquiac] \"HEAD https://api.example.net/eseru/quamest.html?qua=rsita#ate ipsamvo\" 10.76.110.144 tdol upt \"mex\" tatem untutlab 3386 \"https://mail.example.com/plicab/oremq.html?uisaute=imide#poriss\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.122 YaBrowser/20.3.0.2221 Yowser/2.5 Safari/537.36\" deny", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "10.224.11.165 1646 [30/Apr/2017:3:32:16 nof] \"MOVE https://internal.example.org/mvolu/conse.txt?aincidu=nimadmin#isiu licabo\" 10.135.46.242 lupta xeaco \"nvolupt\" oremi elites 1940 \"https://www.example.org/boNemoe/onsequ.html?amvolupt=onevolu#mnis\" \"Mozilla/5.0 (Linux; Android 6.0; QMobile X700 PRO II) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.92 Mobile Safari/537.36\" deny", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "10.27.44.4 4686 [14/May/2017:10:34:50 sequatD] \"TRACE https://internal.example.org/isciv/rroqu.html?uisa=tametco#ilmol eri\" 10.154.53.249 tae autodit \"elit\" cidunt plica 7398 \"https://internal.example.org/emqu/nderi.html?accusant=onse#admin\" \"Mozilla/5.0 (Linux; Android 10; SM-A305FN Build/QP1A.190711.020; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/78.0.3904.96 Mobile Safari/537.36 YandexSearch/8.10 YandexSearchBrowser/8.10\" accept", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "10.93.39.140 4275 [29/May/2017:5:37:24 ute] \"COPY https://www5.example.net/uaeratv/isa.txt?periam=dqu#pid rExc\" 10.150.245.88 orisn reetd \"prehen\" ntutlabo iusmodte 1738 \"https://example.org/isc/Nequepor.txt?rem=idid#tesse\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.122 YaBrowser/20.3.0.2221 Yowser/2.5 Safari/537.36\" cancel", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "10.61.92.2 6595 [12/Jun/2017:12:39:58 maliquam] \"UNLOCK https://www5.example.com/orroq/vitaedic.txt?orisni=ons#remagn ecillu\" 10.73.207.70 llamco atu \"untincul\" ssecil commodi 3023 \"https://mail.example.net/tate/onevo.htm?emvele=isnost#olorem\" \"Mozilla/5.0 (Linux; Android 6.0; Lenovo A2016a40 Build/MRA58K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.106 Mobile Safari/537.36 YaApp_Android/10.30 YaSearchBrowser/10.30\" block", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "10.84.32.178 5271 [26/Jun/2017:7:42:33 aliq] \"GET https://example.net/mven/olorsit.gif?oremag=illu#ruredo mac\" temUt 2741 \"https://internal.example.com/uamnihi/risnis.html?scingeli=isn#sBono\" \"Mozilla/5.0 (Linux; Android 8.1.0; SM-A260G Build/OPR6; rv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Rocket/2.1.17(19420) Chrome/81.0.4044.138 Mobile Safari/537.36\" allow 10.50.124.116 numquam 104.719000", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "10.173.222.131 918 [11/Jul/2017:2:45:07 ori] \"TRACE https://www5.example.net/rum/eataevi.html?ulla=iqu#oin hil\" 10.211.234.224 uiadol Duisa \"lupta\" aUt boNem 5564 \"https://api.example.org/maveni/onevo.htm?liquaUte=alorum#obeataev\" \"Mozilla/5.0 (Linux; Android 9; G8142) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.83 Mobile Safari/537.36\" accept", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "10.11.83.126 6581 [25/Jul/2017:9:47:41 naaliq] \"PROPFIND https://mail.example.net/osquir/mod.txt?fugitse=imad#tinvolup tsed\" 10.0.157.225 itam atu \"lloin\" remipsum tempor 1282 \"https://www5.example.net/incidid/rure.htm?edquian=loremeu#aturve\" \"Mozilla/5.0 (Linux; Android 9; POCOPHONE F1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.83 Mobile Safari/537.36\" deny", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "10.228.77.21 6889 [08/Aug/2017:4:50:15 lamc] \"PUT https://api.example.com/asper/umq.txt?itasper=uae#mve uia\" 10.92.237.93 mad onse \"redol\" gnaa mod 5107 \"https://www5.example.com/toditaut/voluptat.htm?strumex=eprehend#asnu\" \"Mozilla/5.0 (Linux; U; Android 4.0.3; es-us; GT-P3100 Build/IML74K) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Safari/534.30\" cancel", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "10.102.215.23 3665 [22/Aug/2017:11:52:50 esseq] \"POST https://www5.example.net/quatD/isqua.jpg?oloreseo=iruredol#veniamqu licaboN\" 10.20.28.92 econs ntexpl \"dunt\" litsedq nderiti 409 \"https://api.example.com/Cic/olorema.txt?iscive=quasiar#aeab\" \"Opera/9.80 (Series 60; Opera Mini/7.1.32444/174.101; U; ru) Presto/2.12.423 Version/12.16\" allow", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "10.45.28.159 5627 [06/Sep/2017:6:55:24 ree] \"NONE https://api.example.net/ation/luptas.html?iatqu=lorsi#repreh plic\" 10.17.87.79 tetur tionula \"ritqu\" ecatcupi uamei 4595 \"https://www5.example.com/onse/olorem.gif?duntutla=ntium#iration\" \"Mozilla/5.0 (Linux; Android 7.0; SM-S337TL) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.83 Mobile Safari/537.36\" block", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "10.177.238.45 5137 [20/Sep/2017:1:57:58 ssusci] \"DELETE https://internal.example.com/mpo/unte.jpg?ueipsa=scipitl#eumi quasiarc\" 10.189.94.51 tetura rsp \"oluptat\" metco acom 5704 \"https://api.example.com/tem/exeacomm.txt?taliqui=mides#ciun\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.122 YaBrowser/20.3.0.2221 Yowser/2.5 Safari/537.36\" allow", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "10.46.77.76 5169 [04/Oct/2017:9:00:32 anim] \"GET https://www.example.org/uov/quaeab.jpg?moles=dipiscin#olup aco\" 10.101.85.169 natu liquid \"enim\" Finibus radi 5697 \"https://example.com/taed/umdolo.html?rroqu=dquiaco#nibus\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.122 YaBrowser/20.3.0.2221 Yowser/2.5 Safari/537.36\" accept", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "10.24.54.129 77 [19/Oct/2017:4:03:07 eprehend] \"HEAD https://example.net/edolo/ugiatquo.jpg?eosquira=pta#snos orsi\" 10.231.7.209 lorsita eavol \"osamnis\" temaccu scipitl 1247 \"https://www5.example.org/caboNem/urExcept.txt?litesseq=atcupida#tessequa\" \"Mozilla/5.0 (Linux; Android 10; ASUS_X01BDA) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.162 Mobile Safari/537.36\" block", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "10.121.163.5 7803 [02/Nov/2017:11:05:41 redol] \"CONNECT https://api.example.org/isci/dolor.htm?orinrep=quiavol#nrepreh ratv\" 10.77.129.175 tali BCS \"qui\" ugiatquo incidid 2617 \"https://www.example.com/sBonor/fugits.jpg?amc=vol#admi\" \"Mozilla/5.0 (Linux; Android 9; LG-US998) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.83 Mobile Safari/537.36\" allow", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "10.51.236.148 329 [16/Nov/2017:6:08:15 adol] \"PROPFIND https://mail.example.com/roide/tem.gif?rerepre=nculpaq#culpaqui tvolup\" 10.116.146.114 col obea \"emp\" agnaaliq est 1444 \"https://www.example.com/inculp/onofd.gif?umdolors=dolori#asperna\" \"Mozilla/5.0 (Linux; Android 10; STK-L21 Build/HUAWEISTK-L21) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.83 Mobile Safari/537.36 YaApp_Android/10.91 YaSearchBrowser/10.91\" deny", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "10.244.108.135 6997 [01/Dec/2017:1:10:49 ume] \"NONE https://internal.example.net/rautod/olest.jpg?lapar=ritati#edquia itesse\" 10.217.222.99 ame amvolu \"mip\" tion tobeatae 2512 \"https://api.example.com/iqua/luptat.txt?oremqu=uradi#velitsed\" \"Mozilla/5.0 (Linux; Android 6.0; U20 Build/MRA58K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.147 Mobile Safari/537.36 YaApp_Android/10.90 YaSearchBrowser/10.90\" block", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "10.4.69.152 3833 [15/Dec/2017:8:13:24 scivel] \"PUT https://api.example.org/iusmodt/enim.txt?aquio=ersp#iame orroquis\" 10.150.198.112 ntmoll mexer \"estla\" uipexe abor 1370 \"https://www.example.net/remips/illoi.jpg?abori=uisnostr#reetdol\" \"Mozilla/5.0 (Linux; Android 10; SM-A305FN Build/QP1A.190711.020; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/78.0.3904.96 Mobile Safari/537.36 YandexSearch/8.10 YandexSearchBrowser/8.10\" block", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "10.45.114.111 357 [29/Dec/2017:3:15:58 olup] \"POST https://example.org/abillo/undeom.html?oraincid=quaer#eetdo tlab\" 10.45.54.107 seddoeiu nse \"aali\" edictasu mdolors 7490 \"https://www5.example.org/atis/atDuis.txt?nisiut=rumwri#velill\" \"Mozilla/5.0 (Linux; Android 10; SM-A715F Build/QP1A.190711.020; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/83.0.4103.83 Mobile Safari/537.36 [FB_IAB/Orca-Android;FBAV/266.0.0.16.117;]\" accept", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "10.49.242.174 4078 [12/Jan/2018:10:18:32 tat] \"TRACE https://mail.example.net/uam/orumSec.jpg?isnisiu=suntincu#sse venia\" 10.205.28.24 oeni untutlab \"tvolup\" consecte pteurs 742 \"https://www5.example.net/ons/tiaecon.html?unt=tass#tiumdol\" \"Mozilla/5.0 (Linux; Android 6.0; U20 Build/MRA58K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.147 Mobile Safari/537.36 YaApp_Android/10.90 YaSearchBrowser/10.90\" allow", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "10.17.202.219 487 [27/Jan/2018:5:21:06 iame] \"HEAD https://www5.example.org/umiurer/rere.txt?mnisi=usmo#iamea imaveni\" 10.183.223.149 cor odoco \"oin\" itseddoe elites 6366 \"https://mail.example.com/eursinto/litesse.html?licaboNe=tautfug#giatquov\" \"Mozilla/5.0 (compatible; Yahoo Ad monitoring; https://help.yahoo.com/kb/yahoo-ad-monitoring-SLN24857.html) yahoo.adquality.lwd.desktop/1591143192-10\" deny", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "10.81.140.173 7623 [10/Feb/2018:12:23:41 itae] \"MOVE https://internal.example.net/atnula/ditautf.jpg?iquidex=olup#remipsu tan\" 10.88.172.222 doconse etdol \"dolorsi\" nturmag tura 6695 \"https://internal.example.org/totam/ntoccae.htm?idunt=atqu#naturau\" \"mobmail android 2.1.3.3150\" cancel", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "10.162.129.196 4247 [24/Feb/2018:7:26:15 snisi] \"OPTIONS https://api.example.net/uscip/umS.txt?quiacons=uisa#xeacommo Cicero\" 10.247.53.179 issu identsu \"piscivel\" hend eacommo 6835 \"https://example.com/osquira/umd.gif?scipi=tur#acon\" \"mobmail android 2.1.3.3150\" accept", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "10.110.86.230 536 [11/Mar/2018:2:28:49 eFini] \"UNLOCK https://mail.example.com/mrema/ullamc.txt?eufug=roquisq#temporai uido\" 10.172.148.223 snulap enimadm \"stenatu\" upta atc 3066 \"https://www5.example.net/asnulap/ipi.htm?orissu=fic#sBon\" \"Mozilla/5.0 (Linux; Android 5.1.1; Android Build/LMY47V) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Mobile Safari/537.36 YaApp_Android/9.80 YaSearchBrowser/9.80\" accept", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "10.93.159.170 3481 [25/Mar/2018:9:31:24 emullam] \"GET https://www5.example.com/isau/itinvol.txt?saquaea=ons#orsitam modico\" 10.232.19.43 porinc riame \"riat\" sseq eriam 729 \"https://internal.example.net/imve/essequam.gif?urQuis=etcon#onsequu\" \"Mozilla/5.0 (Linux; Android 6.0; QMobile X700 PRO II) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.92 Mobile Safari/537.36\" deny", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "10.207.97.192 973 [08/Apr/2018:4:33:58 emp] \"ICP_QUERY https://api.example.net/veli/venia.htm?etdolor=uat#onemulla riaturEx\" 10.55.55.72 nculp asp \"eacom\" mag gelitse 2007 \"https://example.net/lab/llumq.htm?tetura=rumet#uptasnul\" \"Mozilla/5.0 (Linux; Android 7.0; SM-S337TL) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.83 Mobile Safari/537.36\" cancel", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "10.41.156.88 203 [22/Apr/2018:11:36:32 oco] \"MOVE https://internal.example.net/ainci/osqu.jpg?sus=imavenia#expli ugiat\" 10.89.73.240 orem ntorever \"pisciv\" fugiatqu seos 5561 \"https://www5.example.net/elillum/veleumi.gif?tvol=oluptate#lit\" \"Mozilla/5.0 (Linux; Android 9; 5024D_RU Build/PPR1.180610.011) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.92 Mobile Safari/537.36 YaApp_Android/10.61 YaSearchBrowser/10.61\" deny", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "10.54.44.231 5292 [07/May/2018:6:39:06 aco] \"CONNECT https://www.example.org/runtm/eturadip.htm?psumd=oloree#seos rios\" 10.101.183.86 mvenia mcorpo \"ntexpl\" abor oreverit 6451 \"https://internal.example.net/tat/eufugia.htm?tau=fficia#est\" \"Mozilla/5.0 (compatible; Yahoo Ad monitoring; https://help.yahoo.com/kb/yahoo-ad-monitoring-SLN24857.html) yahoo.adquality.lwd.desktop/1591143192-10\" allow", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "10.181.177.74 3378 [21/May/2018:1:41:41 itsedd] \"LOCK https://internal.example.org/liquipex/uisnos.html?ventor=lupt#umwri odoc\" 10.130.150.189 oreeu nvo \"iamqui\" tassita colabori 1223 \"https://www.example.net/lpa/isn.htm?iat=ffic#siuta\" \"Mozilla/5.0 (Linux; Android 9; U307AS) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.83 Mobile Safari/537.36\" accept", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "10.76.220.3 2492 [04/Jun/2018:8:44:15 serrorsi] \"GET https://api.example.org/mquisnos/lore.txt?siar=isn#veniamq lup\" 10.83.130.95 ipitlabo userror \"eacommo\" nderi liqua 7030 \"https://api.example.net/henderit/remq.jpg?voluptas=velill#rspic\" \"Mozilla/5.0 (Linux; Android 4.1.2; Micromax P410i Build/JZO54K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.111 Mobile Safari/537.36\" deny", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "10.219.245.58 7073 [19/Jun/2018:3:46:49 snisiut] \"COPY https://www.example.com/quas/occaeca.htm?ender=dico#uptatem upt\" 10.166.160.217 olor radip \"rchitect\" Dui iameaqu 2429 \"https://api.example.com/asnulap/yCiceroi.jpg?ender=inc#tect\" \"Opera/9.80 (Series 60; Opera Mini/7.1.32444/174.101; U; ru) Presto/2.12.423 Version/12.16\" deny", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "10.121.121.153 723 [03/Jul/2018:10:49:23 smoditem] \"UNLOCK https://www5.example.org/uidolo/umdolore.jpg?oquisq=abori#sit catcu\" 10.183.243.246 amni tatio \"amquisno\" modoc magnam 3267 \"https://example.com/idatat/onev.html?lesti=oreseo#reprehen\" \"Mozilla/5.0 (Linux; Android 10; STK-L21 Build/HUAWEISTK-L21) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.83 Mobile Safari/537.36 YaApp_Android/10.91 YaSearchBrowser/10.91\" cancel", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "10.54.5.47 1585 [17/Jul/2018:5:51:58 mmodi] \"OPTIONS https://internal.example.net/eniamqu/inimav.htm?imadm=uta#tisu remagnam\" 10.202.224.209 iusmodit aturv \"ectetura\" obeataev umf 3141 \"https://www.example.com/quaeabil/emip.htm?urExc=tDuis#iqu\" \"Mozilla/5.0 (Linux; Android 4.1.2; Micromax P410i Build/JZO54K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.111 Mobile Safari/537.36\" cancel", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "10.72.99.69 3172 [01/Aug/2018:12:54:32 oremeumf] \"PROPFIND https://mail.example.net/sintocca/mipsumqu.htm?tnulapar=ico#giatquo lors\" 10.170.234.233 accus uatu \"mquis\" lab uido 2046 \"https://mail.example.com/tena/aal.jpg?CSedu=mcol#lup\" \"Mozilla/5.0 (Linux; Android 9; POCOPHONE F1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.83 Mobile Safari/537.36\" allow", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "10.245.240.47 4017 [15/Aug/2018:7:57:06 itaedict] \"DELETE https://api.example.org/rep/remap.html?siarc=fdeFin#eleumi edic\" 10.142.130.227 olabori odic \"iuta\" liquaUte scivelit 7795 \"https://internal.example.net/scipit/lloinve.htm?evolup=rvelil#isiutali\" \"Mozilla/5.0 (Linux; Android 9; ZTE Blade V1000RU Build/PPR1.180610.011) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Mobile Safari/537.36 YaApp_Android/10.91 YaSearchBrowser/10.91\" allow", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "10.62.188.193 4104 [29/Aug/2018:2:59:40 atu] \"DELETE https://api.example.net/eturad/tDuis.htm?enimadmi=tateveli#osa mini\" 10.61.110.7 oremque quaU \"ufugi\" cin tmo 508 \"https://example.com/oremip/its.jpg?iavol=natuserr#ostrudex\" \"Mozilla/5.0 (compatible; Yahoo Ad monitoring; https://help.yahoo.com/kb/yahoo-ad-monitoring-SLN24857.html) yahoo.adquality.lwd.desktop/1591143192-10\" deny", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "10.172.139.78 6533 [12/Sep/2018:10:02:15 lamco] \"COPY https://www.example.net/hender/ptatemU.htm?mquisnos=tnulapa#madmi tlabore\" 10.68.198.188 doeiu onsectet \"dentsunt\" inea animid 2119 \"https://mail.example.net/onnumqua/quioff.html?upt=atatnonp#nvol\" \"Mozilla/5.0 (Linux; Android 9; 5024D_RU Build/PPR1.180610.011) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.92 Mobile Safari/537.36 YaApp_Android/10.61 YaSearchBrowser/10.61\" block", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "10.172.47.7 2805 [27/Sep/2018:5:04:49 midest] \"CONNECT https://www.example.org/iduntutl/rsitam.htm?ntor=oinBCSed#oid rchit\" 10.169.63.169 ariat midestl \"quatu\" avolu teturad 3465 \"https://api.example.net/iquaUten/prehende.gif?rpo=velites#nonpro\" \"Opera/9.80 (Series 60; Opera Mini/7.1.32444/174.101; U; ru) Presto/2.12.423 Version/12.16\" block", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "10.32.98.109 5012 [11/Oct/2018:12:07:23 dexercit] \"PURGE https://example.org/itessequ/porissu.html?uip=ectobea#dat aUtenima\" 10.62.10.137 eeufugi deomnisi \"olupta\" oll laboree 3880 \"https://api.example.org/cupidata/stiaecon.htm?rsint=itl#ttenb\" \"Mozilla/5.0 (Linux; Android 9; LG-US998) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.83 Mobile Safari/537.36\" cancel", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "10.176.62.146 5945 [25/Oct/2018:7:09:57 lors] \"COPY https://api.example.net/enimad/tis.txt?mipsumq=ident#nimide quelaud\" 10.255.40.12 rro oeiusmo \"nimv\" emeu tatemac 5192 \"https://www5.example.com/teursint/etMa.gif?lamcolab=ceroinB#umqui\" \"Mozilla/5.0 (Linux; Android 6.0; U20 Build/MRA58K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.147 Mobile Safari/537.36 YaApp_Android/10.90 YaSearchBrowser/10.90\" deny", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "10.194.198.46 3387 [09/Nov/2018:2:12:32 cta] \"GET https://api.example.org/taspe/yCiceroi.htm?cti=ommodoc#nse mveniam\" tuser 2694 \"https://internal.example.com/tlaboru/aeabillo.txt?equuntu=quamni#turveli\" \"Mozilla/5.0 (iPhone; CPU iPhone OS 13_4_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 LightSpeed [FBAN/MessengerLiteForiOS;FBAV/266.0.0.32.114;FBBV/216059178;FBDV/iPhone10,6;FBMD/iPhone;FBSN/iOS;FBSV/13.4.1;FBSS/3;FBCR/;FBID/phone;FBLC/en_US;FBOP/0]\" deny 10.88.98.31 rured 105.243000", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "10.5.49.20 7503 [23/Nov/2018:9:15:06 macc] \"OPTIONS https://example.com/beat/rro.jpg?uisau=qua#iarchite emsequi\" 10.1.27.133 edqu tationu \"gnaaliq\" olore ntutlab 6881 \"https://www5.example.com/gnama/esciun.html?ratvo=ntutl#volupt\" \"Mozilla/5.0 (Linux; Android 6.0; Lenovo A2016a40 Build/MRA58K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.106 Mobile Safari/537.36 YaApp_Android/10.30 YaSearchBrowser/10.30\" block", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "10.11.73.145 6972 [07/Dec/2018:4:17:40 uisautem] \"POST https://www5.example.org/loremq/turmagni.txt?emUtenim=ende#dexea aco\" 10.70.244.155 olorsi caboNemo \"uptas\" temaccus ons 2160 \"https://internal.example.com/ctetur/mvolupta.html?oreeu=mea#ssec\" \"Mozilla/5.0 (iPhone; CPU iPhone OS 13_4_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 LightSpeed [FBAN/MessengerLiteForiOS;FBAV/266.0.0.32.114;FBBV/216059178;FBDV/iPhone10,6;FBMD/iPhone;FBSN/iOS;FBSV/13.4.1;FBSS/3;FBCR/;FBID/phone;FBLC/en_US;FBOP/0]\" accept", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "10.204.214.98 985 [21/Dec/2018:11:20:14 equ] \"PURGE https://www5.example.net/deomnisi/ddoe.txt?oremi=ectobeat#ecte abo\" 10.121.80.158 boriosa cillumdo \"ditau\" moenimip uames 7663 \"https://internal.example.com/lor/oreeu.html?eturadip=nost#atus\" \"Mozilla/5.0 (Linux; Android 7.0; SM-S337TL) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.83 Mobile Safari/537.36\" accept", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "10.74.115.33 4006 [05/Jan/2019:6:22:49 nsequat] \"PURGE https://api.example.net/tiset/sci.jpg?rauto=doloreeu#lors eumfu\" 10.139.151.19 eumf roquisq \"uasi\" maveniam uis 5533 \"https://www.example.com/imi/animi.htm?ama=tatnonp#ntiumt\" \"Mozilla/5.0 (Linux; Android 10; SM-A305FN Build/QP1A.190711.020; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/78.0.3904.96 Mobile Safari/537.36 YandexSearch/8.10 YandexSearchBrowser/8.10\" block", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "10.191.220.1 6454 [19/Jan/2019:1:25:23 ctetura] \"DELETE https://api.example.net/tDuisau/aturve.htm?tper=pisciv#tconsect pariat\" 10.242.48.203 ctobeat isi \"idexeac\" ntu tdolo 3872 \"https://mail.example.com/olupt/ola.jpg?etquasia=qua#adm\" \"Mozilla/5.0 (Linux; Android 9; Notepad_K10) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.83 Safari/537.36\" deny", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "10.109.88.27 5568 [02/Feb/2019:8:27:57 cidu] \"PROPATCH https://internal.example.com/oluptate/todi.jpg?tdolo=ident#scip eacommod\" 10.254.10.98 adipisc aparia \"maliq\" ccusant epteurs 6661 \"https://www5.example.org/oditau/onsec.gif?temqui=lup#aeca\" \"Mozilla/5.0 (Linux; Android 9; Pixel 3 Build/PD1A.180720.030) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.158 Mobile Safari/537.36\" accept", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "10.5.148.114 4749 [17/Feb/2019:3:30:32 ntin] \"LOCK https://mail.example.com/radipis/lore.html?civeli=eufugia#utlabore tamr\" 10.175.138.42 olore onemul \"trudexe\" remeum etur 890 \"https://mail.example.org/quiav/ctionofd.gif?Finibus=uisautei#nevolu\" \"Mozilla/5.0 (Linux; Android 6.0; ZTE BLADE V7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.83 Mobile Safari/537.36\" deny", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "10.0.0.240 1795 [03/Mar/2019:10:33:06 psa] \"PROPFIND https://internal.example.org/olupta/tio.jpg?idestl=litani#emp arch\" 10.18.199.203 ugits ittenb \"tobeatae\" ntut llum 366 \"https://example.com/equat/estiaec.htm?mquido=ende#ntmollit\" \"Mozilla/5.0 (Linux; Android 9; U307AS) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.83 Mobile Safari/537.36\" allow", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "10.1.220.47 6685 [17/Mar/2019:5:35:40 mipsamv] \"NONE https://www5.example.com/sequines/cto.gif?temaccu=uamqua#Neq runt\" 10.73.80.251 pteurs ercitati \"atem\" serro lumquid 5939 \"https://www5.example.org/imaveni/equ.htm?ssequamn=ave#taliqui\" \"Mozilla/5.0 (Linux; Android 10; SM-A715F Build/QP1A.190711.020; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/83.0.4103.83 Mobile Safari/537.36 [FB_IAB/Orca-Android;FBAV/266.0.0.16.117;]\" allow", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "10.153.109.61 7499 [01/Apr/2019:12:38:14 numq] \"PURGE https://www.example.net/periam/ain.gif?iquipex=mqu#onorume abill\" 10.22.34.206 mini mve \"tionev\" uasiarch velites 1745 \"https://api.example.org/equa/edquiaco.gif?olorsit=naaliq#plica\" \"Mozilla/5.0 (Linux; Android 10; STK-L21 Build/HUAWEISTK-L21) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.83 Mobile Safari/537.36 YaApp_Android/10.91 YaSearchBrowser/10.91\" block", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "10.62.168.226 5334 [15/Apr/2019:7:40:49 bori] \"CONNECT https://www.example.net/ecatc/quovolu.jpg?dexe=nemul#Duis lupt\" 10.199.103.185 uipe ipsa \"con\" eirured sequamn 5243 \"https://mail.example.com/ciatisun/duntutl.htm?didun=riaturEx#nde\" \"Mozilla/5.0 (iPhone; CPU iPhone OS 13_4_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 LightSpeed [FBAN/MessengerLiteForiOS;FBAV/266.0.0.32.114;FBBV/216059178;FBDV/iPhone10,6;FBMD/iPhone;FBSN/iOS;FBSV/13.4.1;FBSS/3;FBCR/;FBID/phone;FBLC/en_US;FBOP/0]\" allow", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "10.97.33.56 3541 [29/Apr/2019:2:43:23 rad] \"COPY https://example.com/tqui/ssequ.gif?emse=emqui#cipitla tlab\" 10.128.84.27 nula ptate \"volupta\" umfu utla 2478 \"https://www5.example.com/dolo/velites.gif?equa=apari#tsunt\" \"Mozilla/5.0 (Linux; Android 10; ASUS_X01BDA) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.162 Mobile Safari/537.36\" block", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "10.49.169.175 2103 [13/May/2019:9:45:57 sistena] \"HEAD https://example.com/caboN/imipsam.jpg?catcupid=ritquiin#quisnost sequines\" 10.115.154.104 illum ore \"spici\" Sedut tatis 7767 \"https://www5.example.com/sequines/minimve.gif?toditau=uiad#nvolupta\" \"Mozilla/5.0 (Linux; Android 8.1.0; SM-A260G Build/OPR6; rv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Rocket/2.1.17(19420) Chrome/81.0.4044.138 Mobile Safari/537.36\" allow", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "10.213.100.153 2571 [28/May/2019:4:48:31 iatquo] \"PROPFIND https://www.example.org/oinvento/ali.htm?utaliqui=isciv#osqu ptatemse\" 10.33.112.100 catcup enimad \"magnaali\" velillum ionev 1594 \"https://internal.example.com/ameaq/Quis.html?lestiae=iav#umiure\" \"Mozilla/5.0 (Linux; U; Android 4.0.3; es-us; GT-P3100 Build/IML74K) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Safari/534.30\" block", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "10.216.143.226 2632 [11/Jun/2019:11:51:06 deomn] \"CONNECT https://api.example.net/quido/llo.htm?tpersp=assi#rch psa\" 10.25.53.93 tvolup oremeu \"lab\" lla urau 6127 \"https://example.net/equamni/atcupi.htm?onemull=mdo#labore\" \"Mozilla/5.0 (Linux; U; Android 4.0.3; es-us; GT-P3100 Build/IML74K) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Safari/534.30\" cancel", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "10.139.195.188 893 [25/Jun/2019:6:53:40 aliquaU] \"HEAD https://www.example.net/tvolu/imve.txt?gnaaliq=quam#deriti edictasu\" 10.246.115.57 edquiano mSecti \"henderi\" taevitae tevel 5926 \"https://example.com/ita/iquipexe.jpg?quamqua=quuntur#nihi\" \"Mozilla/5.0 (Linux; Android 9; G8142) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.83 Mobile Safari/537.36\" allow", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "10.60.56.205 4345 [10/Jul/2019:1:56:14 writtenb] \"NONE https://www5.example.com/ugitsed/dminimve.htm?onse=uiac#tquii tesse\" 10.82.148.126 inBCSedu ita \"ade\" nihilmol nder 2214 \"https://api.example.net/uunturm/iatn.gif?tseddo=diduntut#rroq\" \"Mozilla/5.0 (iPhone; CPU iPhone OS 13_4_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 LightSpeed [FBAN/MessengerLiteForiOS;FBAV/266.0.0.32.114;FBBV/216059178;FBDV/iPhone10,6;FBMD/iPhone;FBSN/iOS;FBSV/13.4.1;FBSS/3;FBCR/;FBID/phone;FBLC/en_US;FBOP/0]\" block", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "10.245.251.98 261 [24/Jul/2019:8:58:48 mremaper] \"DELETE https://api.example.com/ntium/ide.htm?tamrema=isautem#usan gnamali\" 10.6.11.124 edqui tvolu \"psu\" strud onsequ 5930 \"https://www5.example.net/iumto/sequatu.jpg?runtm=mdoloree#que\" \"Mozilla/5.0 (Linux; Android 6.0; QMobile X700 PRO II) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.92 Mobile Safari/537.36\" accept", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "10.99.55.115 1537 [07/Aug/2019:4:01:23 exerci] \"CONNECT https://www5.example.org/iad/ngelits.jpg?mporin=orissusc#utaliqui uov\" 10.145.25.55 litsed lumd \"tiaec\" lorem iamquisn 2079 \"https://mail.example.org/aper/entor.txt?lumdol=edutper#utemve\" \"Mozilla/5.0 (Linux; Android 6.0; ZTE BLADE V7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.83 Mobile Safari/537.36\" block", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "10.187.86.64 3325 [21/Aug/2019:11:03:57 atatn] \"TRACE https://mail.example.com/iatnulap/roi.htm?uine=loreeu#eprehe ddoeiusm\" 10.6.88.105 uptatemU rem \"onorumet\" iscivel rinci 249 \"https://internal.example.com/eriti/uptateve.htm?rema=mcol#tion\" \"Mozilla/5.0 (Linux; Android 9; Notepad_K10) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.83 Safari/537.36\" allow", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "10.252.146.132 503 [05/Sep/2019:6:06:31 tat] \"CONNECT https://mail.example.org/turv/use.jpg?mtot=macc#illoin eursi\" 10.163.9.35 uatDu umq \"ipsu\" oremip ota 4562 \"https://example.com/epteurs/itse.jpg?modi=cip#tla\" \"Mozilla/5.0 (Linux; Android 8.1.0; SM-A260G Build/OPR6; rv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Rocket/2.1.17(19420) Chrome/81.0.4044.138 Mobile Safari/537.36\" accept", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "10.249.101.177 4465 [19/Sep/2019:1:09:05 quam] \"DELETE https://mail.example.com/umdol/rerepr.txt?emipsumq=orinr#ineavol umdo\" 10.235.160.245 squamest upta \"umquiad\" porinc uameiu 4857 \"https://api.example.org/mipsa/uas.gif?reeufu=umexe#xce\" \"Mozilla/5.0 (Linux; Android 8.1.0; SM-A260G Build/OPR6; rv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Rocket/2.1.17(19420) Chrome/81.0.4044.138 Mobile Safari/537.36\" deny", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "10.140.170.171 773 [03/Oct/2019:8:11:40 deom] \"TRACE https://internal.example.com/rautod/onorumet.htm?mvo=agnidol#nevolup erspici\" 10.73.218.58 quidol tinv \"Utenima\" nse umq 1831 \"https://mail.example.org/meaquei/snisiu.htm?atev=vento#litsed\" \"Mozilla/5.0 (Linux; Android 9; U307AS) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.83 Mobile Safari/537.36\" block", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "10.248.156.138 2125 [18/Oct/2019:3:14:14 smodit] \"OPTIONS https://example.net/dun/xce.jpg?nsequat=mvol#asiar eiu\" 10.67.148.40 tcons squamest \"ction\" emveleum siuta 2155 \"https://example.com/epteur/onproi.txt?imveniam=sunte#exerc\" \"Opera/9.80 (Series 60; Opera Mini/7.1.32444/174.101; U; ru) Presto/2.12.423 Version/12.16\" deny", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "10.83.154.75 4260 [01/Nov/2019:10:16:48 explicab] \"UNLOCK https://api.example.com/teiru/mquamei.jpg?pta=uradi#sequu orumetMa\" 10.37.33.179 taed eatae \"siutali\" oloremq sum 6106 \"https://www.example.org/ulamc/doe.txt?remquela=toreve#squirat\" \"Mozilla/5.0 (Linux; Android 7.0; MEIZU M6 Build/NRD90M) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.120 Mobile Safari/537.36 YaApp_Android/10.30 YaSearchBrowser/10.30\" accept", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "10.14.29.202 7842 [15/Nov/2019:5:19:22 modoco] \"MKOL https://www5.example.net/dtempor/rroquisq.gif?liquid=uidex#umdolo nimv\" 10.84.107.38 tutla usmod \"ine\" qui itse 2097 \"https://www5.example.org/tasn/exeaco.html?metc=aincidu#reprehe\" \"Mozilla/5.0 (Linux; Android 10; SM-A305FN Build/QP1A.190711.020; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/78.0.3904.96 Mobile Safari/537.36 YandexSearch/8.10 YandexSearchBrowser/8.10\" deny", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "10.221.86.133 6682 [30/Nov/2019:12:21:57 edi] \"POST https://api.example.com/ore/adeser.htm?pre=aute#rchite rcit\" 10.204.223.184 oinve ptasnul \"utaliqui\" mcorpor rerepr 6861 \"https://example.com/tuserror/agnama.jpg?deritq=boreetdo#teni\" \"Mozilla/5.0 (Linux; Android 10; SM-A715F Build/QP1A.190711.020; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/83.0.4103.83 Mobile Safari/537.36 [FB_IAB/Orca-Android;FBAV/266.0.0.16.117;]\" deny", - "tags": [ - "preserve_original_event" - ] - }, - { - "ecs": { - "version": "8.11.0" - }, - "message": "10.195.4.70 3844 [14/Dec/2019:7:24:31 mfugiat] \"PUT https://api.example.com/liqu/dolor.htm?ess=umdo#aer quela\" 10.229.39.190 Nequepo edictas \"emac\" rmagnido exeaco 2574 \"https://api.example.org/loremi/nven.htm?usan=ugiatn#squa\" \"Mozilla/5.0 (Linux; Android 10; STK-L21 Build/HUAWEISTK-L21) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.83 Mobile Safari/537.36 YaApp_Android/10.91 YaSearchBrowser/10.91\" deny", - "tags": [ - "preserve_original_event" - ] - } - ] -} \ No newline at end of file diff --git a/packages/squid/data_stream/log/_dev/test/system/test-filestream-config.yml b/packages/squid/data_stream/log/_dev/test/system/test-filestream-config.yml new file mode 100644 index 00000000000..273d86181fe --- /dev/null +++ b/packages/squid/data_stream/log/_dev/test/system/test-filestream-config.yml @@ -0,0 +1,9 @@ +service: squid-log-filestream +input: filestream +data_stream: + vars: + paths: + - "{{SERVICE_LOGS_DIR}}/squid-log-*.log" + preserve_original_event: true +assert: + hit_count: 100 diff --git a/packages/squid/data_stream/log/_dev/test/system/test-logfile-config.yml b/packages/squid/data_stream/log/_dev/test/system/test-logfile-config.yml deleted file mode 100644 index 6d0dc68455d..00000000000 --- a/packages/squid/data_stream/log/_dev/test/system/test-logfile-config.yml +++ /dev/null @@ -1,6 +0,0 @@ -service: squid-log-logfile -input: logfile -data_stream: - vars: - paths: - - "{{SERVICE_LOGS_DIR}}/squid-log-*.log" diff --git a/packages/squid/data_stream/log/_dev/test/system/test-tcp-config.yml b/packages/squid/data_stream/log/_dev/test/system/test-tcp-config.yml index c892dbd2809..62f303810fb 100644 --- a/packages/squid/data_stream/log/_dev/test/system/test-tcp-config.yml +++ b/packages/squid/data_stream/log/_dev/test/system/test-tcp-config.yml @@ -5,3 +5,6 @@ data_stream: vars: tcp_host: 0.0.0.0 tcp_port: 9537 + preserve_original_event: true +assert: + hit_count: 100 diff --git a/packages/squid/data_stream/log/_dev/test/system/test-tls-config.yml b/packages/squid/data_stream/log/_dev/test/system/test-tls-config.yml new file mode 100644 index 00000000000..002037ffa8b --- /dev/null +++ b/packages/squid/data_stream/log/_dev/test/system/test-tls-config.yml @@ -0,0 +1,62 @@ +service: squid-log-tls +service_notify_signal: SIGHUP +input: tcp +data_stream: + vars: + tcp_host: 0.0.0.0 + tcp_port: 9538 + preserve_original_event: true + ssl: | + key: | + -----BEGIN PRIVATE KEY----- + MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQDhCLvLsQAHufsN + U+u1x/CequAUphfXZqLhDo2Eo/holfBS0+ey4bnzPL6lS9NFL5JkLQA2gYESqsXU + /Ru8E76Az1egzMwT3TVAPLVU8NbrxBqeNiQa2m9wC37HQy4qC9OxL28LUoKtFjxS + cD1sa0oikXCJN1a3BSoAf9iiZ/dxz4WVfrNhrzq2JFXjravY84n5ujkZOg45Pg70 + 4vHOeg0rBbIoSNfjDUVZWjwC95K1BMN3msOTL9juv/EDa6BujqCxl+G1nY7JPFDL + SHWis65p+1AAa5xieYDb47vyJ0SSR7lEURTXZOkkM6k5JWfgkATEmGzRxPkOloIT + Xg9ag1OlAgMBAAECggEAEHfPJmzhj68wjB0kFr13AmWG2Hv/Kqg8KzQhbx+AwkaW + u7j+L70NGpvLZ9VQtLNyhxoz9cksZO1SZO/Q48aeHlcOFppmJN3/U6AdtQWa9M35 + FLLpmX16wjxVHsfvzOvopgLOoYl8PqZt66qDFDgVyMnT7na6RdJ+7GJuvBPXq+Bc + vgThvAZitHSAOhnBFYmTMlBi6AzOMMsaFlgE3Xf9v3M0pAKItPRKMhXlC3MyvA/v + jgbra4Ib+0ryohggHheHB3bn3Jgv7iFKoW9OQSePVxacJ+kfr9H+No5g495URzqR + mx/96WCiv3rAh3ct8Sk/C4/3zMC8fUueDJIVjhgw0QKBgQD8NufLINNkIpBrLoCS + 972oFEjZB2u6EusQ7X9raROqpaw26ZSu+zSHeIKCGQ93M3aRb3FpdGeOxgZ095MV + 8a+nlh4stOvHj2Mm5YhTBDUavTC7o9aVR3Od5eTXUpHnaJpNI/uyIcKupeK1UJnV + UlBLeIwo/vJ1gsVrKMMAJkuKbwKBgQDkaWRRd0w2gUIbCTGf203BqXft0VdIiOW7 + +gnkeaNHAf09XljzxMcQzrB8kG63aKVGbJffphEfzxtiJ+HRQVH+7QpKRhU/GHmu + +6OKkxTcxJm5zhoRFxcSi2wG4PWmUGJvc7ss1OJGcaOUxwocCepO7N/jfdDz9Uke + KnA+YWOdKwKBgQDteZkYlojT0QOgF8HyH5gQyUCqMKWLJ0LzxltiPCbLV4Dml1pq + w5Z7M8nWS1hXiTpLx93GSFc1hFkSCwYP9GfK6Lryp0sVtHnMZvTMDbseuSJImwRx + vDwtYQfugg1lEQWwOoBEAiu3m/PxernNtNprpU57T0nlwUK3GkM5QdWAuwKBgQCZ + ZF3GiANapzupxGbbH//8Cr9LqsafI7CEqMpz8WxBh4h16iJ6sq+tDeFgBe8UpOY5 + gTwNKg1d+0w8guQYD3HtbWr3rlEeamVtqfiOW3ArQqyqJ0tCJuuLvK3zgKf35Qv2 + JRaSaPT8sdxVUcXsRoxgLJu+vwPQke1koMN4YRbwuQKBgQDJiZ/WSeqa5oIqkXbn + hjm7RXKaf2oE1U/bNjdSFtdEP7T4vUvvr7Hq2f/jiBLtCE7w16PJjKx9iIq2+jMl + qIY43Sk9bdi5FxtYTHda0hwrbH274P+QVcVs5PXCT0TGktOleHGBlXaaPrxl9iCh + 8tmmxZZYa5aQxEO/lxB9xQKaiQ== + -----END PRIVATE KEY----- + certificate: | + -----BEGIN CERTIFICATE----- + MIIDazCCAlOgAwIBAgIUW5TDu1tJMY2Oa7PsL+BQSmeWqz0wDQYJKoZIhvcNAQEL + BQAwRTELMAkGA1UEBhMCVVMxEzARBgNVBAgMClNvbWUtU3RhdGUxITAfBgNVBAoM + GEludGVybmV0IFdpZGdpdHMgUHR5IEx0ZDAeFw0yMTEwMDEwNTAwMjNaFw0yMTEw + MDIwNTAwMjNaMEUxCzAJBgNVBAYTAlVTMRMwEQYDVQQIDApTb21lLVN0YXRlMSEw + HwYDVQQKDBhJbnRlcm5ldCBXaWRnaXRzIFB0eSBMdGQwggEiMA0GCSqGSIb3DQEB + AQUAA4IBDwAwggEKAoIBAQDhCLvLsQAHufsNU+u1x/CequAUphfXZqLhDo2Eo/ho + lfBS0+ey4bnzPL6lS9NFL5JkLQA2gYESqsXU/Ru8E76Az1egzMwT3TVAPLVU8Nbr + xBqeNiQa2m9wC37HQy4qC9OxL28LUoKtFjxScD1sa0oikXCJN1a3BSoAf9iiZ/dx + z4WVfrNhrzq2JFXjravY84n5ujkZOg45Pg704vHOeg0rBbIoSNfjDUVZWjwC95K1 + BMN3msOTL9juv/EDa6BujqCxl+G1nY7JPFDLSHWis65p+1AAa5xieYDb47vyJ0SS + R7lEURTXZOkkM6k5JWfgkATEmGzRxPkOloITXg9ag1OlAgMBAAGjUzBRMB0GA1Ud + DgQWBBRYUSKDHBBE9Q6fTeTqogicCxcXwDAfBgNVHSMEGDAWgBRYUSKDHBBE9Q6f + TeTqogicCxcXwDAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQBc + T8B+GpvPy9NQ700LsywRPY0L9IJCKiu6j3TP1tqqSPjAC/cg9ac+bFXuWOu7V+KJ + s09Q/pItq9SLX6UvnfRzTxu5lCBwwGX9cL131mTIu5SmFo7Eks+sorbiIarWDMoC + e+9An3GFpagW+YhOt4BdIM5lTqoeodzganDBsOUZI9aDAj2Yo5h2O7r6Wd12cb6T + mz8vMfB2eG8BxU20ZMfkdERWjiyXHOSBQqeqfkV8d9370gMu5RcJNcIgnbmTRdho + X3HJFiimZVaNjXATqmC/y2A1KXvJdamPLy3mGXkW2cFLoPCdK2OZFUHqiuc1bigA + qEf55SihFqErRMeURPPF + -----END CERTIFICATE----- +assert: + hit_count: 100 diff --git a/packages/squid/data_stream/log/_dev/test/system/test-udp-config.yml b/packages/squid/data_stream/log/_dev/test/system/test-udp-config.yml index d6665337fdb..e7a914519ea 100644 --- a/packages/squid/data_stream/log/_dev/test/system/test-udp-config.yml +++ b/packages/squid/data_stream/log/_dev/test/system/test-udp-config.yml @@ -5,3 +5,6 @@ data_stream: vars: udp_host: 0.0.0.0 udp_port: 9537 + preserve_original_event: true +assert: + hit_count: 100 diff --git a/packages/squid/data_stream/log/agent/stream/filestream.yml.hbs b/packages/squid/data_stream/log/agent/stream/filestream.yml.hbs new file mode 100644 index 00000000000..be7e13b68f5 --- /dev/null +++ b/packages/squid/data_stream/log/agent/stream/filestream.yml.hbs @@ -0,0 +1,19 @@ +paths: +{{#each paths as |path|}} + - {{path}} +{{/each}} +prospector.scanner.exclude_files: ['\.gz$'] +tags: +{{#if preserve_original_event}} + - preserve_original_event +{{/if}} +{{#each tags as |tag|}} + - {{tag}} +{{/each}} +{{#contains "forwarded" tags}} +publisher_pipeline.disable_host: true +{{/contains}} +{{#if processors}} +processors: +{{processors}} +{{/if}} diff --git a/packages/squid/data_stream/log/agent/stream/stream.yml.hbs b/packages/squid/data_stream/log/agent/stream/stream.yml.hbs deleted file mode 100644 index 70754fe7333..00000000000 --- a/packages/squid/data_stream/log/agent/stream/stream.yml.hbs +++ /dev/null @@ -1,3057 +0,0 @@ -paths: -{{#each paths as |path i|}} - - {{path}} -{{/each}} -exclude_files: ['\.gz$'] -tags: -{{#if preserve_original_event}} - - preserve_original_event -{{/if}} -{{#each tags as |tag i|}} - - {{tag}} -{{/each}} -fields_under_root: true -fields: - observer: - vendor: "Squid" - product: "Proxy" - type: "Proxies" -{{#contains "forwarded" tags}} -publisher_pipeline.disable_host: true -{{/contains}} -processors: -{{#if processors}} -{{processors}} -{{/if}} -- script: - lang: javascript - params: - ecs: true - rsa: {{rsa_fields}} - tz_offset: {{tz_offset}} - keep_raw: {{keep_raw_fields}} - debug: {{debug}} - source: | - // Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - // or more contributor license agreements. Licensed under the Elastic License; - // you may not use this file except in compliance with the Elastic License. - - /* jshint -W014,-W016,-W097,-W116 */ - - var processor = require("processor"); - var console = require("console"); - - var FLAG_FIELD = "log.flags"; - var FIELDS_OBJECT = "nwparser"; - var FIELDS_PREFIX = FIELDS_OBJECT + "."; - - var defaults = { - debug: false, - ecs: true, - rsa: false, - keep_raw: false, - tz_offset: "local", - strip_priority: true - }; - - var saved_flags = null; - var debug; - var map_ecs; - var map_rsa; - var keep_raw; - var device; - var tz_offset; - var strip_priority; - - // Register params from configuration. - function register(params) { - debug = params.debug !== undefined ? params.debug : defaults.debug; - map_ecs = params.ecs !== undefined ? params.ecs : defaults.ecs; - map_rsa = params.rsa !== undefined ? params.rsa : defaults.rsa; - keep_raw = params.keep_raw !== undefined ? params.keep_raw : defaults.keep_raw; - tz_offset = parse_tz_offset(params.tz_offset !== undefined? params.tz_offset : defaults.tz_offset); - strip_priority = params.strip_priority !== undefined? params.strip_priority : defaults.strip_priority; - device = new DeviceProcessor(); - } - - function parse_tz_offset(offset) { - var date; - var m; - switch(offset) { - // local uses the tz offset from the JS VM. - case "local": - date = new Date(); - // Reversing the sign as we the offset from UTC, not to UTC. - return parse_local_tz_offset(-date.getTimezoneOffset()); - // event uses the tz offset from event.timezone (add_locale processor). - case "event": - return offset; - // Otherwise a tz offset in the form "[+-][0-9]{4}" is required. - default: - m = offset.match(/^([+\-])([0-9]{2}):?([0-9]{2})?$/); - if (m === null || m.length !== 4) { - throw("bad timezone offset: '" + offset + "'. Must have the form +HH:MM"); - } - return m[1] + m[2] + ":" + (m[3]!==undefined? m[3] : "00"); - } - } - - function parse_local_tz_offset(minutes) { - var neg = minutes < 0; - minutes = Math.abs(minutes); - var min = minutes % 60; - var hours = Math.floor(minutes / 60); - var pad2digit = function(n) { - if (n < 10) { return "0" + n;} - return "" + n; - }; - return (neg? "-" : "+") + pad2digit(hours) + ":" + pad2digit(min); - } - - function process(evt) { - // Function register is only called by the processor when `params` are set - // in the processor config. - if (device === undefined) { - register(defaults); - } - return device.process(evt); - } - - function processor_chain(subprocessors) { - var builder = new processor.Chain(); - subprocessors.forEach(builder.Add); - return builder.Build().Run; - } - - function linear_select(subprocessors) { - return function (evt) { - var flags = evt.Get(FLAG_FIELD); - var i; - for (i = 0; i < subprocessors.length; i++) { - evt.Delete(FLAG_FIELD); - if (debug) console.warn("linear_select trying entry " + i); - subprocessors[i](evt); - // Dissect processor succeeded? - if (evt.Get(FLAG_FIELD) == null) break; - if (debug) console.warn("linear_select failed entry " + i); - } - if (flags !== null) { - evt.Put(FLAG_FIELD, flags); - } - if (debug) { - if (i < subprocessors.length) { - console.warn("linear_select matched entry " + i); - } else { - console.warn("linear_select didn't match"); - } - } - }; - } - - function conditional(opt) { - return function(evt) { - if (opt.if(evt)) { - opt.then(evt); - } else if (opt.else) { - opt.else(evt); - } - }; - } - - var strip_syslog_priority = (function() { - var isEnabled = function() { return strip_priority === true; }; - var fetchPRI = field("_pri"); - var fetchPayload = field("payload"); - var removePayload = remove(["payload"]); - var cleanup = remove(["_pri", "payload"]); - var onMatch = function(evt) { - var pri, priStr = fetchPRI(evt); - if (priStr != null - && 0 < priStr.length && priStr.length < 4 - && !isNaN((pri = Number(priStr))) - && 0 <= pri && pri < 192) { - var severity = pri & 7, - facility = pri >> 3; - setc("_severity", "" + severity)(evt); - setc("_facility", "" + facility)(evt); - // Replace message with priority stripped. - evt.Put("message", fetchPayload(evt)); - removePayload(evt); - } else { - // not a valid syslog PRI, cleanup. - cleanup(evt); - } - }; - return conditional({ - if: isEnabled, - then: cleanup_flags(match( - "STRIP_PRI", - "message", - "<%{_pri}>%{payload}", - onMatch - )) - }); - })(); - - function match(id, src, pattern, on_success) { - var dissect = new processor.Dissect({ - field: src, - tokenizer: pattern, - target_prefix: FIELDS_OBJECT, - ignore_failure: true, - overwrite_keys: true, - trim_values: "right" - }); - return function (evt) { - var msg = evt.Get(src); - dissect.Run(evt); - var failed = evt.Get(FLAG_FIELD) != null; - if (debug) { - if (failed) { - console.debug("dissect fail: " + id + " field:" + src); - } else { - console.debug("dissect OK: " + id + " field:" + src); - } - console.debug(" expr: <<" + pattern + ">>"); - console.debug(" input: <<" + msg + ">>"); - } - if (on_success != null && !failed) { - on_success(evt); - } - }; - } - - function match_copy(id, src, dst, on_success) { - dst = FIELDS_PREFIX + dst; - if (dst === FIELDS_PREFIX || dst === src) { - return function (evt) { - if (debug) { - console.debug("noop OK: " + id + " field:" + src); - console.debug(" input: <<" + evt.Get(src) + ">>"); - } - if (on_success != null) on_success(evt); - } - } - return function (evt) { - var msg = evt.Get(src); - evt.Put(dst, msg); - if (debug) { - console.debug("copy OK: " + id + " field:" + src); - console.debug(" target: '" + dst + "'"); - console.debug(" input: <<" + msg + ">>"); - } - if (on_success != null) on_success(evt); - } - } - - function cleanup_flags(processor) { - return function(evt) { - processor(evt); - evt.Delete(FLAG_FIELD); - }; - } - - function all_match(opts) { - return function (evt) { - var i; - for (i = 0; i < opts.processors.length; i++) { - evt.Delete(FLAG_FIELD); - opts.processors[i](evt); - // Dissect processor succeeded? - if (evt.Get(FLAG_FIELD) != null) { - if (debug) console.warn("all_match failure at " + i); - if (opts.on_failure != null) opts.on_failure(evt); - return; - } - if (debug) console.warn("all_match success at " + i); - } - if (opts.on_success != null) opts.on_success(evt); - }; - } - - function msgid_select(mapping) { - return function (evt) { - var msgid = evt.Get(FIELDS_PREFIX + "messageid"); - if (msgid == null) { - if (debug) console.warn("msgid_select: no messageid captured!"); - return; - } - var next = mapping[msgid]; - if (next === undefined) { - if (debug) console.warn("msgid_select: no mapping for messageid:" + msgid); - return; - } - if (debug) console.info("msgid_select: matched key=" + msgid); - return next(evt); - }; - } - - function msg(msg_id, match) { - return function (evt) { - match(evt); - if (evt.Get(FLAG_FIELD) == null) { - evt.Put(FIELDS_PREFIX + "msg_id1", msg_id); - } - }; - } - - var start; - - function save_flags(evt) { - saved_flags = evt.Get(FLAG_FIELD); - evt.Put("event.original", evt.Get("message")); - } - - function restore_flags(evt) { - if (saved_flags !== null) { - evt.Put(FLAG_FIELD, saved_flags); - } - evt.Delete("message"); - } - - function constant(value) { - return function (evt) { - return value; - }; - } - - function field(name) { - var fullname = FIELDS_PREFIX + name; - return function (evt) { - return evt.Get(fullname); - }; - } - - function STRCAT(args) { - var s = ""; - var i; - for (i = 0; i < args.length; i++) { - s += args[i]; - } - return s; - } - - // TODO: Implement - function DIRCHK(args) { - unimplemented("DIRCHK"); - } - - function strictToInt(str) { - return str * 1; - } - - function CALC(args) { - if (args.length !== 3) { - console.warn("skipped call to CALC with " + args.length + " arguments."); - return; - } - var a = strictToInt(args[0]); - var b = strictToInt(args[2]); - if (isNaN(a) || isNaN(b)) { - console.warn("failed evaluating CALC arguments a='" + args[0] + "' b='" + args[2] + "'."); - return; - } - var result; - switch (args[1]) { - case "+": - result = a + b; - break; - case "-": - result = a - b; - break; - case "*": - result = a * b; - break; - default: - // Only * and + seen in the parsers. - console.warn("unknown CALC operation '" + args[1] + "'."); - return; - } - // Always return a string - return result !== undefined ? "" + result : result; - } - - var quoteChars = "\"'`"; - function RMQ(args) { - if(args.length !== 1) { - console.warn("RMQ: only one argument expected"); - return; - } - var value = args[0].trim(); - var n = value.length; - var char; - return n > 1 - && (char=value.charAt(0)) === value.charAt(n-1) - && quoteChars.indexOf(char) !== -1? - value.substr(1, n-2) - : value; - } - - function call(opts) { - var args = new Array(opts.args.length); - return function (evt) { - for (var i = 0; i < opts.args.length; i++) - if ((args[i] = opts.args[i](evt)) == null) return; - var result = opts.fn(args); - if (result != null) { - evt.Put(opts.dest, result); - } - }; - } - - function nop(evt) { - } - - function appendErrorMsg(evt, msg) { - var value = evt.Get("error.message"); - if (value == null) { - value = [msg]; - } else if (msg instanceof Array) { - value.push(msg); - } else { - value = [value, msg]; - } - evt.Put("error.message", value); - } - - function unimplemented(name) { - appendErrorMsg("unimplemented feature: " + name); - } - - function lookup(opts) { - return function (evt) { - var key = opts.key(evt); - if (key == null) return; - var value = opts.map.keyvaluepairs[key]; - if (value === undefined) { - value = opts.map.default; - } - if (value !== undefined) { - evt.Put(opts.dest, value(evt)); - } - }; - } - - function set(fields) { - return new processor.AddFields({ - target: FIELDS_OBJECT, - fields: fields, - }); - } - - function setf(dst, src) { - return function (evt) { - var val = evt.Get(FIELDS_PREFIX + src); - if (val != null) evt.Put(FIELDS_PREFIX + dst, val); - }; - } - - function setc(dst, value) { - return function (evt) { - evt.Put(FIELDS_PREFIX + dst, value); - }; - } - - function set_field(opts) { - return function (evt) { - var val = opts.value(evt); - if (val != null) evt.Put(opts.dest, val); - }; - } - - function dump(label) { - return function (evt) { - console.log("Dump of event at " + label + ": " + JSON.stringify(evt, null, "\t")); - }; - } - - function date_time_join_args(evt, arglist) { - var str = ""; - for (var i = 0; i < arglist.length; i++) { - var fname = FIELDS_PREFIX + arglist[i]; - var val = evt.Get(fname); - if (val != null) { - if (str !== "") str += " "; - str += val; - } else { - if (debug) console.warn("in date_time: input arg " + fname + " is not set"); - } - } - return str; - } - - function to2Digit(num) { - return num? (num < 10? "0" + num : num) : "00"; - } - - // Make two-digit dates 00-69 interpreted as 2000-2069 - // and dates 70-99 translated to 1970-1999. - var twoDigitYearEpoch = 70; - var twoDigitYearCentury = 2000; - - // This is to accept dates up to 2 days in the future, only used when - // no year is specified in a date. 2 days should be enough to account for - // time differences between systems and different tz offsets. - var maxFutureDelta = 2*24*60*60*1000; - - // DateContainer stores date fields and then converts those fields into - // a Date. Necessary because building a Date using its set() methods gives - // different results depending on the order of components. - function DateContainer(tzOffset) { - this.offset = tzOffset === undefined? "Z" : tzOffset; - } - - DateContainer.prototype = { - setYear: function(v) {this.year = v;}, - setMonth: function(v) {this.month = v;}, - setDay: function(v) {this.day = v;}, - setHours: function(v) {this.hours = v;}, - setMinutes: function(v) {this.minutes = v;}, - setSeconds: function(v) {this.seconds = v;}, - - setUNIX: function(v) {this.unix = v;}, - - set2DigitYear: function(v) { - this.year = v < twoDigitYearEpoch? twoDigitYearCentury + v : twoDigitYearCentury + v - 100; - }, - - toDate: function() { - if (this.unix !== undefined) { - return new Date(this.unix * 1000); - } - if (this.day === undefined || this.month === undefined) { - // Can't make a date from this. - return undefined; - } - if (this.year === undefined) { - // A date without a year. Set current year, or previous year - // if date would be in the future. - var now = new Date(); - this.year = now.getFullYear(); - var date = this.toDate(); - if (date.getTime() - now.getTime() > maxFutureDelta) { - date.setFullYear(now.getFullYear() - 1); - } - return date; - } - var MM = to2Digit(this.month); - var DD = to2Digit(this.day); - var hh = to2Digit(this.hours); - var mm = to2Digit(this.minutes); - var ss = to2Digit(this.seconds); - return new Date(this.year + "-" + MM + "-" + DD + "T" + hh + ":" + mm + ":" + ss + this.offset); - } - } - - function date_time_try_pattern(fmt, str, tzOffset) { - var date = new DateContainer(tzOffset); - var pos = date_time_try_pattern_at_pos(fmt, str, 0, date); - return pos !== undefined? date.toDate() : undefined; - } - - function date_time_try_pattern_at_pos(fmt, str, pos, date) { - var len = str.length; - for (var proc = 0; pos !== undefined && pos < len && proc < fmt.length; proc++) { - pos = fmt[proc](str, pos, date); - } - return pos; - } - - function date_time(opts) { - return function (evt) { - var tzOffset = opts.tz || tz_offset; - if (tzOffset === "event") { - tzOffset = evt.Get("event.timezone"); - } - var str = date_time_join_args(evt, opts.args); - for (var i = 0; i < opts.fmts.length; i++) { - var date = date_time_try_pattern(opts.fmts[i], str, tzOffset); - if (date !== undefined) { - evt.Put(FIELDS_PREFIX + opts.dest, date); - return; - } - } - if (debug) console.warn("in date_time: id=" + opts.id + " FAILED: " + str); - }; - } - - var uA = 60 * 60 * 24; - var uD = 60 * 60 * 24; - var uF = 60 * 60; - var uG = 60 * 60 * 24 * 30; - var uH = 60 * 60; - var uI = 60 * 60; - var uJ = 60 * 60 * 24; - var uM = 60 * 60 * 24 * 30; - var uN = 60 * 60; - var uO = 1; - var uS = 1; - var uT = 60; - var uU = 60; - var uc = dc; - - function duration(opts) { - return function(evt) { - var str = date_time_join_args(evt, opts.args); - for (var i = 0; i < opts.fmts.length; i++) { - var seconds = duration_try_pattern(opts.fmts[i], str); - if (seconds !== undefined) { - evt.Put(FIELDS_PREFIX + opts.dest, seconds); - return; - } - } - if (debug) console.warn("in duration: id=" + opts.id + " (s) FAILED: " + str); - }; - } - - function duration_try_pattern(fmt, str) { - var secs = 0; - var pos = 0; - for (var i=0; i [ month_id , how many chars to skip if month in long form ] - "Jan": [0, 4], - "Feb": [1, 5], - "Mar": [2, 2], - "Apr": [3, 2], - "May": [4, 0], - "Jun": [5, 1], - "Jul": [6, 1], - "Aug": [7, 3], - "Sep": [8, 6], - "Oct": [9, 4], - "Nov": [10, 5], - "Dec": [11, 4], - "jan": [0, 4], - "feb": [1, 5], - "mar": [2, 2], - "apr": [3, 2], - "may": [4, 0], - "jun": [5, 1], - "jul": [6, 1], - "aug": [7, 3], - "sep": [8, 6], - "oct": [9, 4], - "nov": [10, 5], - "dec": [11, 4], - }; - - // var dC = undefined; - var dR = dateMonthName(true); - var dB = dateMonthName(false); - var dM = dateFixedWidthNumber("M", 2, 1, 12, DateContainer.prototype.setMonth); - var dG = dateVariableWidthNumber("G", 1, 12, DateContainer.prototype.setMonth); - var dD = dateFixedWidthNumber("D", 2, 1, 31, DateContainer.prototype.setDay); - var dF = dateVariableWidthNumber("F", 1, 31, DateContainer.prototype.setDay); - var dH = dateFixedWidthNumber("H", 2, 0, 24, DateContainer.prototype.setHours); - var dI = dateVariableWidthNumber("I", 0, 24, DateContainer.prototype.setHours); // Accept hours >12 - var dN = dateVariableWidthNumber("N", 0, 24, DateContainer.prototype.setHours); - var dT = dateFixedWidthNumber("T", 2, 0, 59, DateContainer.prototype.setMinutes); - var dU = dateVariableWidthNumber("U", 0, 59, DateContainer.prototype.setMinutes); - var dP = parseAMPM; // AM|PM - var dQ = parseAMPM; // A.M.|P.M - var dS = dateFixedWidthNumber("S", 2, 0, 60, DateContainer.prototype.setSeconds); - var dO = dateVariableWidthNumber("O", 0, 60, DateContainer.prototype.setSeconds); - var dY = dateFixedWidthNumber("Y", 2, 0, 99, DateContainer.prototype.set2DigitYear); - var dW = dateFixedWidthNumber("W", 4, 1000, 9999, DateContainer.prototype.setYear); - var dZ = parseHMS; - var dX = dateVariableWidthNumber("X", 0, 0x10000000000, DateContainer.prototype.setUNIX); - - // parseAMPM parses "A.M", "AM", "P.M", "PM" from logs. - // Only works if this modifier appears after the hour has been read from logs - // which is always the case in the 300 devices. - function parseAMPM(str, pos, date) { - var n = str.length; - var start = skipws(str, pos); - if (start + 2 > n) return; - var head = str.substr(start, 2).toUpperCase(); - var isPM = false; - var skip = false; - switch (head) { - case "A.": - skip = true; - /* falls through */ - case "AM": - break; - case "P.": - skip = true; - /* falls through */ - case "PM": - isPM = true; - break; - default: - if (debug) console.warn("can't parse pos " + start + " as AM/PM: " + str + "(head:" + head + ")"); - return; - } - pos = start + 2; - if (skip) { - if (pos+2 > n || str.substr(pos, 2).toUpperCase() !== "M.") { - if (debug) console.warn("can't parse pos " + start + " as AM/PM: " + str + "(tail)"); - return; - } - pos += 2; - } - var hh = date.hours; - if (isPM) { - // Accept existing hour in 24h format. - if (hh < 12) hh += 12; - } else { - if (hh === 12) hh = 0; - } - date.setHours(hh); - return pos; - } - - function parseHMS(str, pos, date) { - return date_time_try_pattern_at_pos([dN, dc(":"), dU, dc(":"), dO], str, pos, date); - } - - function skipws(str, pos) { - for ( var n = str.length; - pos < n && str.charAt(pos) === " "; - pos++) - ; - return pos; - } - - function skipdigits(str, pos) { - var c; - for (var n = str.length; - pos < n && (c = str.charAt(pos)) >= "0" && c <= "9"; - pos++) - ; - return pos; - } - - function dSkip(str, pos, date) { - var chr; - for (;pos < str.length && (chr=str[pos])<'0' || chr>'9'; pos++) {} - return pos < str.length? pos : undefined; - } - - function dateVariableWidthNumber(fmtChar, min, max, setter) { - return function (str, pos, date) { - var start = skipws(str, pos); - pos = skipdigits(str, start); - var s = str.substr(start, pos - start); - var value = parseInt(s, 10); - if (value >= min && value <= max) { - setter.call(date, value); - return pos; - } - return; - }; - } - - function dateFixedWidthNumber(fmtChar, width, min, max, setter) { - return function (str, pos, date) { - pos = skipws(str, pos); - var n = str.length; - if (pos + width > n) return; - var s = str.substr(pos, width); - var value = parseInt(s, 10); - if (value >= min && value <= max) { - setter.call(date, value); - return pos + width; - } - return; - }; - } - - // Short month name (Jan..Dec). - function dateMonthName(long) { - return function (str, pos, date) { - pos = skipws(str, pos); - var n = str.length; - if (pos + 3 > n) return; - var mon = str.substr(pos, 3); - var idx = shortMonths[mon]; - if (idx === undefined) { - idx = shortMonths[mon.toLowerCase()]; - } - if (idx === undefined) { - //console.warn("parsing date_time: '" + mon + "' is not a valid short month (%B)"); - return; - } - date.setMonth(idx[0]+1); - return pos + 3 + (long ? idx[1] : 0); - }; - } - - function url_wrapper(dst, src, fn) { - return function(evt) { - var value = evt.Get(FIELDS_PREFIX + src), result; - if (value != null && (result = fn(value))!== undefined) { - evt.Put(FIELDS_PREFIX + dst, result); - } else { - console.debug(fn.name + " failed for '" + value + "'"); - } - }; - } - - // The following regular expression for parsing URLs from: - // https://github.com/wizard04wsu/URI_Parsing - // - // The MIT License (MIT) - // - // Copyright (c) 2014 Andrew Harrison - // - // 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. - var uriRegExp = /^([a-z][a-z0-9+.\-]*):(?:\/\/((?:(?=((?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9A-F]{2})*))(\3)@)?(?=(\[[0-9A-F:.]{2,}\]|(?:[a-z0-9\-._~!$&'()*+,;=]|%[0-9A-F]{2})*))\5(?::(?=(\d*))\6)?)(\/(?=((?:[a-z0-9-._~!$&'()*+,;=:@\/]|%[0-9A-F]{2})*))\8)?|(\/?(?!\/)(?=((?:[a-z0-9-._~!$&'()*+,;=:@\/]|%[0-9A-F]{2})*))\10)?)(?:\?(?=((?:[a-z0-9-._~!$&'()*+,;=:@\/?]|%[0-9A-F]{2})*))\11)?(?:#(?=((?:[a-z0-9-._~!$&'()*+,;=:@\/?]|%[0-9A-F]{2})*))\12)?$/i; - - var uriScheme = 1; - var uriDomain = 5; - var uriPort = 6; - var uriPath = 7; - var uriPathAlt = 9; - var uriQuery = 11; - - function domain(dst, src) { - return url_wrapper(dst, src, extract_domain); - } - - function split_url(value) { - var m = value.match(uriRegExp); - if (m && m[uriDomain]) return m; - // Support input in the form "www.example.net/path", but not "/path". - m = ("null://" + value).match(uriRegExp); - if (m) return m; - } - - function extract_domain(value) { - var m = split_url(value); - if (m && m[uriDomain]) return m[uriDomain]; - } - - var extFromPage = /\.[^.]+$/; - function extract_ext(value) { - var page = extract_page(value); - if (page) { - var m = page.match(extFromPage); - if (m) return m[0]; - } - } - - function ext(dst, src) { - return url_wrapper(dst, src, extract_ext); - } - - function fqdn(dst, src) { - // TODO: fqdn and domain(eTLD+1) are currently the same. - return domain(dst, src); - } - - var pageFromPathRegExp = /\/([^\/]+)$/; - var pageName = 1; - - function extract_page(value) { - value = extract_path(value); - if (!value) return undefined; - var m = value.match(pageFromPathRegExp); - if (m) return m[pageName]; - } - - function page(dst, src) { - return url_wrapper(dst, src, extract_page); - } - - function extract_path(value) { - var m = split_url(value); - return m? m[uriPath] || m[uriPathAlt] : undefined; - } - - function path(dst, src) { - return url_wrapper(dst, src, extract_path); - } - - // Map common schemes to their default port. - // port has to be a string (will be converted at a later stage). - var schemePort = { - "ftp": "21", - "ssh": "22", - "http": "80", - "https": "443", - }; - - function extract_port(value) { - var m = split_url(value); - if (!m) return undefined; - if (m[uriPort]) return m[uriPort]; - if (m[uriScheme]) { - return schemePort[m[uriScheme]]; - } - } - - function port(dst, src) { - return url_wrapper(dst, src, extract_port); - } - - function extract_query(value) { - var m = split_url(value); - if (m && m[uriQuery]) return m[uriQuery]; - } - - function query(dst, src) { - return url_wrapper(dst, src, extract_query); - } - - function extract_root(value) { - var m = split_url(value); - if (m && m[uriDomain] && m[uriDomain]) { - var scheme = m[uriScheme] && m[uriScheme] !== "null"? - m[uriScheme] + "://" : ""; - var port = m[uriPort]? ":" + m[uriPort] : ""; - return scheme + m[uriDomain] + port; - } - } - - function root(dst, src) { - return url_wrapper(dst, src, extract_root); - } - - function tagval(id, src, cfg, keys, on_success) { - var fail = function(evt) { - evt.Put(FLAG_FIELD, "tagval_parsing_error"); - } - if (cfg.kv_separator.length !== 1) { - throw("Invalid TAGVALMAP ValueDelimiter (must have 1 character)"); - } - var quotes_len = cfg.open_quote.length > 0 && cfg.close_quote.length > 0? - cfg.open_quote.length + cfg.close_quote.length : 0; - var kv_regex = new RegExp('^([^' + cfg.kv_separator + ']*)*' + cfg.kv_separator + ' *(.*)*$'); - return function(evt) { - var msg = evt.Get(src); - if (msg === undefined) { - console.warn("tagval: input field is missing"); - return fail(evt); - } - var pairs = msg.split(cfg.pair_separator); - var i; - var success = false; - var prev = ""; - for (i=0; i 0 && - value.length >= cfg.open_quote.length + cfg.close_quote.length && - value.substr(0, cfg.open_quote.length) === cfg.open_quote && - value.substr(value.length - cfg.close_quote.length) === cfg.close_quote) { - value = value.substr(cfg.open_quote.length, value.length - quotes_len); - } - evt.Put(FIELDS_PREFIX + field, value); - success = true; - } - if (!success) { - return fail(evt); - } - if (on_success != null) { - on_success(evt); - } - } - } - - var ecs_mappings = { - "_facility": {convert: to_long, to:[{field: "log.syslog.facility.code", setter: fld_set}]}, - "_pri": {convert: to_long, to:[{field: "log.syslog.priority", setter: fld_set}]}, - "_severity": {convert: to_long, to:[{field: "log.syslog.severity.code", setter: fld_set}]}, - "action": {to:[{field: "event.action", setter: fld_prio, prio: 0}]}, - "administrator": {to:[{field: "related.user", setter: fld_append},{field: "user.name", setter: fld_prio, prio: 4}]}, - "alias.ip": {convert: to_ip, to:[{field: "host.ip", setter: fld_prio, prio: 3},{field: "related.ip", setter: fld_append}]}, - "alias.ipv6": {convert: to_ip, to:[{field: "host.ip", setter: fld_prio, prio: 4},{field: "related.ip", setter: fld_append}]}, - "alias.mac": {convert: to_mac, to:[{field: "host.mac", setter: fld_prio, prio: 1}]}, - "application": {to:[{field: "network.application", setter: fld_set}]}, - "bytes": {convert: to_long, to:[{field: "network.bytes", setter: fld_set}]}, - "c_domain": {to:[{field: "source.domain", setter: fld_prio, prio: 1}]}, - "c_logon_id": {to:[{field: "user.id", setter: fld_prio, prio: 2}]}, - "c_user_name": {to:[{field: "related.user", setter: fld_append},{field: "user.name", setter: fld_prio, prio: 8}]}, - "c_username": {to:[{field: "related.user", setter: fld_append},{field: "user.name", setter: fld_prio, prio: 2}]}, - "cctld": {to:[{field: "url.top_level_domain", setter: fld_prio, prio: 1}]}, - "child_pid": {convert: to_long, to:[{field: "process.pid", setter: fld_prio, prio: 1}]}, - "child_pid_val": {to:[{field: "process.title", setter: fld_set}]}, - "child_process": {to:[{field: "process.name", setter: fld_prio, prio: 1}]}, - "city.dst": {to:[{field: "destination.geo.city_name", setter: fld_set}]}, - "city.src": {to:[{field: "source.geo.city_name", setter: fld_set}]}, - "daddr": {convert: to_ip, to:[{field: "destination.ip", setter: fld_set},{field: "related.ip", setter: fld_append}]}, - "daddr_v6": {convert: to_ip, to:[{field: "destination.ip", setter: fld_set},{field: "related.ip", setter: fld_append}]}, - "ddomain": {to:[{field: "destination.domain", setter: fld_prio, prio: 0}]}, - "devicehostip": {convert: to_ip, to:[{field: "host.ip", setter: fld_prio, prio: 2},{field: "related.ip", setter: fld_append}]}, - "devicehostmac": {convert: to_mac, to:[{field: "host.mac", setter: fld_prio, prio: 0}]}, - "dhost": {to:[{field: "destination.address", setter: fld_set},{field: "related.hosts", setter: fld_append}]}, - "dinterface": {to:[{field: "observer.egress.interface.name", setter: fld_set}]}, - "direction": {to:[{field: "network.direction", setter: fld_set}]}, - "directory": {to:[{field: "file.directory", setter: fld_set}]}, - "dmacaddr": {convert: to_mac, to:[{field: "destination.mac", setter: fld_set}]}, - "dns.responsetype": {to:[{field: "dns.answers.type", setter: fld_set}]}, - "dns.resptext": {to:[{field: "dns.answers.name", setter: fld_set}]}, - "dns_querytype": {to:[{field: "dns.question.type", setter: fld_set}]}, - "domain": {to:[{field: "server.domain", setter: fld_prio, prio: 0},{field: "related.hosts", setter: fld_append}]}, - "domain.dst": {to:[{field: "destination.domain", setter: fld_prio, prio: 1}]}, - "domain.src": {to:[{field: "source.domain", setter: fld_prio, prio: 2}]}, - "domain_id": {to:[{field: "user.domain", setter: fld_set}]}, - "domainname": {to:[{field: "server.domain", setter: fld_prio, prio: 1}]}, - "dport": {convert: to_long, to:[{field: "destination.port", setter: fld_prio, prio: 0}]}, - "dtransaddr": {convert: to_ip, to:[{field: "destination.nat.ip", setter: fld_prio, prio: 0},{field: "related.ip", setter: fld_append}]}, - "dtransport": {convert: to_long, to:[{field: "destination.nat.port", setter: fld_prio, prio: 0}]}, - "ec_outcome": {to:[{field: "event.outcome", setter: fld_ecs_outcome}]}, - "event_description": {to:[{field: "message", setter: fld_prio, prio: 0}]}, - "event_source": {to:[{field: "related.hosts", setter: fld_append}]}, - "event_time": {convert: to_date, to:[{field: "@timestamp", setter: fld_set}]}, - "event_type": {to:[{field: "event.action", setter: fld_prio, prio: 1}]}, - "extension": {to:[{field: "file.extension", setter: fld_prio, prio: 1}]}, - "file.attributes": {to:[{field: "file.attributes", setter: fld_set}]}, - "filename": {to:[{field: "file.name", setter: fld_prio, prio: 0}]}, - "filename_size": {convert: to_long, to:[{field: "file.size", setter: fld_set}]}, - "filepath": {to:[{field: "file.path", setter: fld_set}]}, - "filetype": {to:[{field: "file.type", setter: fld_set}]}, - "fqdn": {to:[{field: "related.hosts", setter: fld_append}]}, - "group": {to:[{field: "group.name", setter: fld_set}]}, - "groupid": {to:[{field: "group.id", setter: fld_set}]}, - "host": {to:[{field: "host.name", setter: fld_prio, prio: 1},{field: "related.hosts", setter: fld_append}]}, - "hostip": {convert: to_ip, to:[{field: "host.ip", setter: fld_prio, prio: 0},{field: "related.ip", setter: fld_append}]}, - "hostip_v6": {convert: to_ip, to:[{field: "host.ip", setter: fld_prio, prio: 1},{field: "related.ip", setter: fld_append}]}, - "hostname": {to:[{field: "host.name", setter: fld_prio, prio: 0}]}, - "id": {to:[{field: "event.code", setter: fld_prio, prio: 0}]}, - "interface": {to:[{field: "network.interface.name", setter: fld_set}]}, - "ip.orig": {convert: to_ip, to:[{field: "network.forwarded_ip", setter: fld_prio, prio: 0},{field: "related.ip", setter: fld_append}]}, - "ip.trans.dst": {convert: to_ip, to:[{field: "destination.nat.ip", setter: fld_prio, prio: 1},{field: "related.ip", setter: fld_append}]}, - "ip.trans.src": {convert: to_ip, to:[{field: "source.nat.ip", setter: fld_prio, prio: 1},{field: "related.ip", setter: fld_append}]}, - "ipv6.orig": {convert: to_ip, to:[{field: "network.forwarded_ip", setter: fld_prio, prio: 2},{field: "related.ip", setter: fld_append}]}, - "latdec_dst": {convert: to_double, to:[{field: "destination.geo.location.lat", setter: fld_set}]}, - "latdec_src": {convert: to_double, to:[{field: "source.geo.location.lat", setter: fld_set}]}, - "location_city": {to:[{field: "geo.city_name", setter: fld_set}]}, - "location_country": {to:[{field: "geo.country_name", setter: fld_set}]}, - "location_desc": {to:[{field: "geo.name", setter: fld_set}]}, - "location_dst": {to:[{field: "destination.geo.country_name", setter: fld_set}]}, - "location_src": {to:[{field: "source.geo.country_name", setter: fld_set}]}, - "location_state": {to:[{field: "geo.region_name", setter: fld_set}]}, - "logon_id": {to:[{field: "related.user", setter: fld_append},{field: "user.name", setter: fld_prio, prio: 5}]}, - "longdec_dst": {convert: to_double, to:[{field: "destination.geo.location.lon", setter: fld_set}]}, - "longdec_src": {convert: to_double, to:[{field: "source.geo.location.lon", setter: fld_set}]}, - "macaddr": {convert: to_mac, to:[{field: "host.mac", setter: fld_prio, prio: 2}]}, - "messageid": {to:[{field: "event.code", setter: fld_prio, prio: 1}]}, - "method": {to:[{field: "http.request.method", setter: fld_set}]}, - "msg": {to:[{field: "message", setter: fld_set}]}, - "orig_ip": {convert: to_ip, to:[{field: "network.forwarded_ip", setter: fld_prio, prio: 1},{field: "related.ip", setter: fld_append}]}, - "owner": {to:[{field: "related.user", setter: fld_append},{field: "user.name", setter: fld_prio, prio: 6}]}, - "packets": {convert: to_long, to:[{field: "network.packets", setter: fld_set}]}, - "parent_pid": {convert: to_long, to:[{field: "process.parent.pid", setter: fld_prio, prio: 0}]}, - "parent_pid_val": {to:[{field: "process.parent.title", setter: fld_set}]}, - "parent_process": {to:[{field: "process.parent.name", setter: fld_prio, prio: 0}]}, - "patient_fullname": {to:[{field: "user.full_name", setter: fld_prio, prio: 1}]}, - "port.dst": {convert: to_long, to:[{field: "destination.port", setter: fld_prio, prio: 1}]}, - "port.src": {convert: to_long, to:[{field: "source.port", setter: fld_prio, prio: 1}]}, - "port.trans.dst": {convert: to_long, to:[{field: "destination.nat.port", setter: fld_prio, prio: 1}]}, - "port.trans.src": {convert: to_long, to:[{field: "source.nat.port", setter: fld_prio, prio: 1}]}, - "process": {to:[{field: "process.name", setter: fld_prio, prio: 0}]}, - "process_id": {convert: to_long, to:[{field: "process.pid", setter: fld_prio, prio: 0}]}, - "process_id_src": {convert: to_long, to:[{field: "process.parent.pid", setter: fld_prio, prio: 1}]}, - "process_src": {to:[{field: "process.parent.name", setter: fld_prio, prio: 1}]}, - "product": {to:[{field: "observer.product", setter: fld_set}]}, - "protocol": {to:[{field: "network.protocol", setter: fld_set}]}, - "query": {to:[{field: "url.query", setter: fld_prio, prio: 2}]}, - "rbytes": {convert: to_long, to:[{field: "destination.bytes", setter: fld_set}]}, - "referer": {to:[{field: "http.request.referrer", setter: fld_prio, prio: 1}]}, - "rulename": {to:[{field: "rule.name", setter: fld_set}]}, - "saddr": {convert: to_ip, to:[{field: "source.ip", setter: fld_set},{field: "related.ip", setter: fld_append}]}, - "saddr_v6": {convert: to_ip, to:[{field: "source.ip", setter: fld_set},{field: "related.ip", setter: fld_append}]}, - "sbytes": {convert: to_long, to:[{field: "source.bytes", setter: fld_set}]}, - "sdomain": {to:[{field: "source.domain", setter: fld_prio, prio: 0}]}, - "service": {to:[{field: "service.name", setter: fld_prio, prio: 1}]}, - "service.name": {to:[{field: "service.name", setter: fld_prio, prio: 0}]}, - "service_account": {to:[{field: "related.user", setter: fld_append},{field: "user.name", setter: fld_prio, prio: 7}]}, - "severity": {to:[{field: "log.level", setter: fld_set}]}, - "shost": {to:[{field: "host.hostname", setter: fld_set},{field: "source.address", setter: fld_set},{field: "related.hosts", setter: fld_append}]}, - "sinterface": {to:[{field: "observer.ingress.interface.name", setter: fld_set}]}, - "sld": {to:[{field: "url.registered_domain", setter: fld_set}]}, - "smacaddr": {convert: to_mac, to:[{field: "source.mac", setter: fld_set}]}, - "sport": {convert: to_long, to:[{field: "source.port", setter: fld_prio, prio: 0}]}, - "stransaddr": {convert: to_ip, to:[{field: "source.nat.ip", setter: fld_prio, prio: 0},{field: "related.ip", setter: fld_append}]}, - "stransport": {convert: to_long, to:[{field: "source.nat.port", setter: fld_prio, prio: 0}]}, - "tcp.dstport": {convert: to_long, to:[{field: "destination.port", setter: fld_prio, prio: 2}]}, - "tcp.srcport": {convert: to_long, to:[{field: "source.port", setter: fld_prio, prio: 2}]}, - "timezone": {to:[{field: "event.timezone", setter: fld_set}]}, - "tld": {to:[{field: "url.top_level_domain", setter: fld_prio, prio: 0}]}, - "udp.dstport": {convert: to_long, to:[{field: "destination.port", setter: fld_prio, prio: 3}]}, - "udp.srcport": {convert: to_long, to:[{field: "source.port", setter: fld_prio, prio: 3}]}, - "uid": {to:[{field: "related.user", setter: fld_append},{field: "user.name", setter: fld_prio, prio: 3}]}, - "url": {to:[{field: "url.original", setter: fld_prio, prio: 1}]}, - "url_raw": {to:[{field: "url.original", setter: fld_prio, prio: 0}]}, - "urldomain": {to:[{field: "url.domain", setter: fld_prio, prio: 0}]}, - "urlquery": {to:[{field: "url.query", setter: fld_prio, prio: 0}]}, - "user": {to:[{field: "related.user", setter: fld_append},{field: "user.name", setter: fld_prio, prio: 0}]}, - "user.id": {to:[{field: "user.id", setter: fld_prio, prio: 1}]}, - "user_agent": {to:[{field: "user_agent.original", setter: fld_set}]}, - "user_fullname": {to:[{field: "user.full_name", setter: fld_prio, prio: 0}]}, - "user_id": {to:[{field: "user.id", setter: fld_prio, prio: 0}]}, - "username": {to:[{field: "related.user", setter: fld_append},{field: "user.name", setter: fld_prio, prio: 1}]}, - "version": {to:[{field: "observer.version", setter: fld_set}]}, - "web_domain": {to:[{field: "url.domain", setter: fld_prio, prio: 1},{field: "related.hosts", setter: fld_append}]}, - "web_extension": {to:[{field: "file.extension", setter: fld_prio, prio: 0}]}, - "web_query": {to:[{field: "url.query", setter: fld_prio, prio: 1}]}, - "web_ref_domain": {to:[{field: "related.hosts", setter: fld_append}]}, - "web_referer": {to:[{field: "http.request.referrer", setter: fld_prio, prio: 0}]}, - "web_root": {to:[{field: "url.path", setter: fld_set}]}, - "webpage": {to:[{field: "file.name", setter: fld_prio, prio: 1}]}, - }; - - var rsa_mappings = { - "access_point": {to:[{field: "rsa.wireless.access_point", setter: fld_set}]}, - "accesses": {to:[{field: "rsa.identity.accesses", setter: fld_set}]}, - "acl_id": {to:[{field: "rsa.misc.acl_id", setter: fld_set}]}, - "acl_op": {to:[{field: "rsa.misc.acl_op", setter: fld_set}]}, - "acl_pos": {to:[{field: "rsa.misc.acl_pos", setter: fld_set}]}, - "acl_table": {to:[{field: "rsa.misc.acl_table", setter: fld_set}]}, - "action": {to:[{field: "rsa.misc.action", setter: fld_append}]}, - "ad_computer_dst": {to:[{field: "rsa.network.ad_computer_dst", setter: fld_set}]}, - "addr": {to:[{field: "rsa.network.addr", setter: fld_set}]}, - "admin": {to:[{field: "rsa.misc.admin", setter: fld_set}]}, - "agent": {to:[{field: "rsa.misc.client", setter: fld_prio, prio: 0}]}, - "agent.id": {to:[{field: "rsa.misc.agent_id", setter: fld_set}]}, - "alarm_id": {to:[{field: "rsa.misc.alarm_id", setter: fld_set}]}, - "alarmname": {to:[{field: "rsa.misc.alarmname", setter: fld_set}]}, - "alert": {to:[{field: "rsa.threat.alert", setter: fld_set}]}, - "alert_id": {to:[{field: "rsa.misc.alert_id", setter: fld_set}]}, - "alias.host": {to:[{field: "rsa.network.alias_host", setter: fld_append}]}, - "analysis.file": {to:[{field: "rsa.investigations.analysis_file", setter: fld_set}]}, - "analysis.service": {to:[{field: "rsa.investigations.analysis_service", setter: fld_set}]}, - "analysis.session": {to:[{field: "rsa.investigations.analysis_session", setter: fld_set}]}, - "app_id": {to:[{field: "rsa.misc.app_id", setter: fld_set}]}, - "attachment": {to:[{field: "rsa.file.attachment", setter: fld_set}]}, - "audit": {to:[{field: "rsa.misc.audit", setter: fld_set}]}, - "audit_class": {to:[{field: "rsa.internal.audit_class", setter: fld_set}]}, - "audit_object": {to:[{field: "rsa.misc.audit_object", setter: fld_set}]}, - "auditdata": {to:[{field: "rsa.misc.auditdata", setter: fld_set}]}, - "authmethod": {to:[{field: "rsa.identity.auth_method", setter: fld_set}]}, - "autorun_type": {to:[{field: "rsa.misc.autorun_type", setter: fld_set}]}, - "bcc": {to:[{field: "rsa.email.email", setter: fld_append}]}, - "benchmark": {to:[{field: "rsa.misc.benchmark", setter: fld_set}]}, - "binary": {to:[{field: "rsa.file.binary", setter: fld_set}]}, - "boc": {to:[{field: "rsa.investigations.boc", setter: fld_set}]}, - "bssid": {to:[{field: "rsa.wireless.wlan_ssid", setter: fld_prio, prio: 1}]}, - "bypass": {to:[{field: "rsa.misc.bypass", setter: fld_set}]}, - "c_sid": {to:[{field: "rsa.identity.user_sid_src", setter: fld_set}]}, - "cache": {to:[{field: "rsa.misc.cache", setter: fld_set}]}, - "cache_hit": {to:[{field: "rsa.misc.cache_hit", setter: fld_set}]}, - "calling_from": {to:[{field: "rsa.misc.phone", setter: fld_prio, prio: 1}]}, - "calling_to": {to:[{field: "rsa.misc.phone", setter: fld_prio, prio: 0}]}, - "category": {to:[{field: "rsa.misc.category", setter: fld_set}]}, - "cc": {to:[{field: "rsa.email.email", setter: fld_append}]}, - "cc.number": {convert: to_long, to:[{field: "rsa.misc.cc_number", setter: fld_set}]}, - "cefversion": {to:[{field: "rsa.misc.cefversion", setter: fld_set}]}, - "cert.serial": {to:[{field: "rsa.crypto.cert_serial", setter: fld_set}]}, - "cert_ca": {to:[{field: "rsa.crypto.cert_ca", setter: fld_set}]}, - "cert_checksum": {to:[{field: "rsa.crypto.cert_checksum", setter: fld_set}]}, - "cert_common": {to:[{field: "rsa.crypto.cert_common", setter: fld_set}]}, - "cert_error": {to:[{field: "rsa.crypto.cert_error", setter: fld_set}]}, - "cert_hostname": {to:[{field: "rsa.crypto.cert_host_name", setter: fld_set}]}, - "cert_hostname_cat": {to:[{field: "rsa.crypto.cert_host_cat", setter: fld_set}]}, - "cert_issuer": {to:[{field: "rsa.crypto.cert_issuer", setter: fld_set}]}, - "cert_keysize": {to:[{field: "rsa.crypto.cert_keysize", setter: fld_set}]}, - "cert_status": {to:[{field: "rsa.crypto.cert_status", setter: fld_set}]}, - "cert_subject": {to:[{field: "rsa.crypto.cert_subject", setter: fld_set}]}, - "cert_username": {to:[{field: "rsa.crypto.cert_username", setter: fld_set}]}, - "cfg.attr": {to:[{field: "rsa.misc.cfg_attr", setter: fld_set}]}, - "cfg.obj": {to:[{field: "rsa.misc.cfg_obj", setter: fld_set}]}, - "cfg.path": {to:[{field: "rsa.misc.cfg_path", setter: fld_set}]}, - "change_attribute": {to:[{field: "rsa.misc.change_attrib", setter: fld_set}]}, - "change_new": {to:[{field: "rsa.misc.change_new", setter: fld_set}]}, - "change_old": {to:[{field: "rsa.misc.change_old", setter: fld_set}]}, - "changes": {to:[{field: "rsa.misc.changes", setter: fld_set}]}, - "checksum": {to:[{field: "rsa.misc.checksum", setter: fld_set}]}, - "checksum.dst": {to:[{field: "rsa.misc.checksum_dst", setter: fld_set}]}, - "checksum.src": {to:[{field: "rsa.misc.checksum_src", setter: fld_set}]}, - "cid": {to:[{field: "rsa.internal.cid", setter: fld_set}]}, - "client": {to:[{field: "rsa.misc.client", setter: fld_prio, prio: 1}]}, - "client_ip": {to:[{field: "rsa.misc.client_ip", setter: fld_set}]}, - "clustermembers": {to:[{field: "rsa.misc.clustermembers", setter: fld_set}]}, - "cmd": {to:[{field: "rsa.misc.cmd", setter: fld_set}]}, - "cn_acttimeout": {to:[{field: "rsa.misc.cn_acttimeout", setter: fld_set}]}, - "cn_asn_dst": {to:[{field: "rsa.web.cn_asn_dst", setter: fld_set}]}, - "cn_asn_src": {to:[{field: "rsa.misc.cn_asn_src", setter: fld_set}]}, - "cn_bgpv4nxthop": {to:[{field: "rsa.misc.cn_bgpv4nxthop", setter: fld_set}]}, - "cn_ctr_dst_code": {to:[{field: "rsa.misc.cn_ctr_dst_code", setter: fld_set}]}, - "cn_dst_tos": {to:[{field: "rsa.misc.cn_dst_tos", setter: fld_set}]}, - "cn_dst_vlan": {to:[{field: "rsa.misc.cn_dst_vlan", setter: fld_set}]}, - "cn_engine_id": {to:[{field: "rsa.misc.cn_engine_id", setter: fld_set}]}, - "cn_engine_type": {to:[{field: "rsa.misc.cn_engine_type", setter: fld_set}]}, - "cn_f_switch": {to:[{field: "rsa.misc.cn_f_switch", setter: fld_set}]}, - "cn_flowsampid": {to:[{field: "rsa.misc.cn_flowsampid", setter: fld_set}]}, - "cn_flowsampintv": {to:[{field: "rsa.misc.cn_flowsampintv", setter: fld_set}]}, - "cn_flowsampmode": {to:[{field: "rsa.misc.cn_flowsampmode", setter: fld_set}]}, - "cn_inacttimeout": {to:[{field: "rsa.misc.cn_inacttimeout", setter: fld_set}]}, - "cn_inpermbyts": {to:[{field: "rsa.misc.cn_inpermbyts", setter: fld_set}]}, - "cn_inpermpckts": {to:[{field: "rsa.misc.cn_inpermpckts", setter: fld_set}]}, - "cn_invalid": {to:[{field: "rsa.misc.cn_invalid", setter: fld_set}]}, - "cn_ip_proto_ver": {to:[{field: "rsa.misc.cn_ip_proto_ver", setter: fld_set}]}, - "cn_ipv4_ident": {to:[{field: "rsa.misc.cn_ipv4_ident", setter: fld_set}]}, - "cn_l_switch": {to:[{field: "rsa.misc.cn_l_switch", setter: fld_set}]}, - "cn_log_did": {to:[{field: "rsa.misc.cn_log_did", setter: fld_set}]}, - "cn_log_rid": {to:[{field: "rsa.misc.cn_log_rid", setter: fld_set}]}, - "cn_max_ttl": {to:[{field: "rsa.misc.cn_max_ttl", setter: fld_set}]}, - "cn_maxpcktlen": {to:[{field: "rsa.misc.cn_maxpcktlen", setter: fld_set}]}, - "cn_min_ttl": {to:[{field: "rsa.misc.cn_min_ttl", setter: fld_set}]}, - "cn_minpcktlen": {to:[{field: "rsa.misc.cn_minpcktlen", setter: fld_set}]}, - "cn_mpls_lbl_1": {to:[{field: "rsa.misc.cn_mpls_lbl_1", setter: fld_set}]}, - "cn_mpls_lbl_10": {to:[{field: "rsa.misc.cn_mpls_lbl_10", setter: fld_set}]}, - "cn_mpls_lbl_2": {to:[{field: "rsa.misc.cn_mpls_lbl_2", setter: fld_set}]}, - "cn_mpls_lbl_3": {to:[{field: "rsa.misc.cn_mpls_lbl_3", setter: fld_set}]}, - "cn_mpls_lbl_4": {to:[{field: "rsa.misc.cn_mpls_lbl_4", setter: fld_set}]}, - "cn_mpls_lbl_5": {to:[{field: "rsa.misc.cn_mpls_lbl_5", setter: fld_set}]}, - "cn_mpls_lbl_6": {to:[{field: "rsa.misc.cn_mpls_lbl_6", setter: fld_set}]}, - "cn_mpls_lbl_7": {to:[{field: "rsa.misc.cn_mpls_lbl_7", setter: fld_set}]}, - "cn_mpls_lbl_8": {to:[{field: "rsa.misc.cn_mpls_lbl_8", setter: fld_set}]}, - "cn_mpls_lbl_9": {to:[{field: "rsa.misc.cn_mpls_lbl_9", setter: fld_set}]}, - "cn_mplstoplabel": {to:[{field: "rsa.misc.cn_mplstoplabel", setter: fld_set}]}, - "cn_mplstoplabip": {to:[{field: "rsa.misc.cn_mplstoplabip", setter: fld_set}]}, - "cn_mul_dst_byt": {to:[{field: "rsa.misc.cn_mul_dst_byt", setter: fld_set}]}, - "cn_mul_dst_pks": {to:[{field: "rsa.misc.cn_mul_dst_pks", setter: fld_set}]}, - "cn_muligmptype": {to:[{field: "rsa.misc.cn_muligmptype", setter: fld_set}]}, - "cn_rpackets": {to:[{field: "rsa.web.cn_rpackets", setter: fld_set}]}, - "cn_sampalgo": {to:[{field: "rsa.misc.cn_sampalgo", setter: fld_set}]}, - "cn_sampint": {to:[{field: "rsa.misc.cn_sampint", setter: fld_set}]}, - "cn_seqctr": {to:[{field: "rsa.misc.cn_seqctr", setter: fld_set}]}, - "cn_spackets": {to:[{field: "rsa.misc.cn_spackets", setter: fld_set}]}, - "cn_src_tos": {to:[{field: "rsa.misc.cn_src_tos", setter: fld_set}]}, - "cn_src_vlan": {to:[{field: "rsa.misc.cn_src_vlan", setter: fld_set}]}, - "cn_sysuptime": {to:[{field: "rsa.misc.cn_sysuptime", setter: fld_set}]}, - "cn_template_id": {to:[{field: "rsa.misc.cn_template_id", setter: fld_set}]}, - "cn_totbytsexp": {to:[{field: "rsa.misc.cn_totbytsexp", setter: fld_set}]}, - "cn_totflowexp": {to:[{field: "rsa.misc.cn_totflowexp", setter: fld_set}]}, - "cn_totpcktsexp": {to:[{field: "rsa.misc.cn_totpcktsexp", setter: fld_set}]}, - "cn_unixnanosecs": {to:[{field: "rsa.misc.cn_unixnanosecs", setter: fld_set}]}, - "cn_v6flowlabel": {to:[{field: "rsa.misc.cn_v6flowlabel", setter: fld_set}]}, - "cn_v6optheaders": {to:[{field: "rsa.misc.cn_v6optheaders", setter: fld_set}]}, - "code": {to:[{field: "rsa.misc.code", setter: fld_set}]}, - "command": {to:[{field: "rsa.misc.command", setter: fld_set}]}, - "comments": {to:[{field: "rsa.misc.comments", setter: fld_set}]}, - "comp_class": {to:[{field: "rsa.misc.comp_class", setter: fld_set}]}, - "comp_name": {to:[{field: "rsa.misc.comp_name", setter: fld_set}]}, - "comp_rbytes": {to:[{field: "rsa.misc.comp_rbytes", setter: fld_set}]}, - "comp_sbytes": {to:[{field: "rsa.misc.comp_sbytes", setter: fld_set}]}, - "component_version": {to:[{field: "rsa.misc.comp_version", setter: fld_set}]}, - "connection_id": {to:[{field: "rsa.misc.connection_id", setter: fld_prio, prio: 1}]}, - "connectionid": {to:[{field: "rsa.misc.connection_id", setter: fld_prio, prio: 0}]}, - "content": {to:[{field: "rsa.misc.content", setter: fld_set}]}, - "content_type": {to:[{field: "rsa.misc.content_type", setter: fld_set}]}, - "content_version": {to:[{field: "rsa.misc.content_version", setter: fld_set}]}, - "context": {to:[{field: "rsa.misc.context", setter: fld_set}]}, - "count": {to:[{field: "rsa.misc.count", setter: fld_set}]}, - "cpu": {convert: to_long, to:[{field: "rsa.misc.cpu", setter: fld_set}]}, - "cpu_data": {to:[{field: "rsa.misc.cpu_data", setter: fld_set}]}, - "criticality": {to:[{field: "rsa.misc.criticality", setter: fld_set}]}, - "cs_agency_dst": {to:[{field: "rsa.misc.cs_agency_dst", setter: fld_set}]}, - "cs_analyzedby": {to:[{field: "rsa.misc.cs_analyzedby", setter: fld_set}]}, - "cs_av_other": {to:[{field: "rsa.misc.cs_av_other", setter: fld_set}]}, - "cs_av_primary": {to:[{field: "rsa.misc.cs_av_primary", setter: fld_set}]}, - "cs_av_secondary": {to:[{field: "rsa.misc.cs_av_secondary", setter: fld_set}]}, - "cs_bgpv6nxthop": {to:[{field: "rsa.misc.cs_bgpv6nxthop", setter: fld_set}]}, - "cs_bit9status": {to:[{field: "rsa.misc.cs_bit9status", setter: fld_set}]}, - "cs_context": {to:[{field: "rsa.misc.cs_context", setter: fld_set}]}, - "cs_control": {to:[{field: "rsa.misc.cs_control", setter: fld_set}]}, - "cs_data": {to:[{field: "rsa.misc.cs_data", setter: fld_set}]}, - "cs_datecret": {to:[{field: "rsa.misc.cs_datecret", setter: fld_set}]}, - "cs_dst_tld": {to:[{field: "rsa.misc.cs_dst_tld", setter: fld_set}]}, - "cs_eth_dst_ven": {to:[{field: "rsa.misc.cs_eth_dst_ven", setter: fld_set}]}, - "cs_eth_src_ven": {to:[{field: "rsa.misc.cs_eth_src_ven", setter: fld_set}]}, - "cs_event_uuid": {to:[{field: "rsa.misc.cs_event_uuid", setter: fld_set}]}, - "cs_filetype": {to:[{field: "rsa.misc.cs_filetype", setter: fld_set}]}, - "cs_fld": {to:[{field: "rsa.misc.cs_fld", setter: fld_set}]}, - "cs_if_desc": {to:[{field: "rsa.misc.cs_if_desc", setter: fld_set}]}, - "cs_if_name": {to:[{field: "rsa.misc.cs_if_name", setter: fld_set}]}, - "cs_ip_next_hop": {to:[{field: "rsa.misc.cs_ip_next_hop", setter: fld_set}]}, - "cs_ipv4dstpre": {to:[{field: "rsa.misc.cs_ipv4dstpre", setter: fld_set}]}, - "cs_ipv4srcpre": {to:[{field: "rsa.misc.cs_ipv4srcpre", setter: fld_set}]}, - "cs_lifetime": {to:[{field: "rsa.misc.cs_lifetime", setter: fld_set}]}, - "cs_log_medium": {to:[{field: "rsa.misc.cs_log_medium", setter: fld_set}]}, - "cs_loginname": {to:[{field: "rsa.misc.cs_loginname", setter: fld_set}]}, - "cs_modulescore": {to:[{field: "rsa.misc.cs_modulescore", setter: fld_set}]}, - "cs_modulesign": {to:[{field: "rsa.misc.cs_modulesign", setter: fld_set}]}, - "cs_opswatresult": {to:[{field: "rsa.misc.cs_opswatresult", setter: fld_set}]}, - "cs_payload": {to:[{field: "rsa.misc.cs_payload", setter: fld_set}]}, - "cs_registrant": {to:[{field: "rsa.misc.cs_registrant", setter: fld_set}]}, - "cs_registrar": {to:[{field: "rsa.misc.cs_registrar", setter: fld_set}]}, - "cs_represult": {to:[{field: "rsa.misc.cs_represult", setter: fld_set}]}, - "cs_rpayload": {to:[{field: "rsa.misc.cs_rpayload", setter: fld_set}]}, - "cs_sampler_name": {to:[{field: "rsa.misc.cs_sampler_name", setter: fld_set}]}, - "cs_sourcemodule": {to:[{field: "rsa.misc.cs_sourcemodule", setter: fld_set}]}, - "cs_streams": {to:[{field: "rsa.misc.cs_streams", setter: fld_set}]}, - "cs_targetmodule": {to:[{field: "rsa.misc.cs_targetmodule", setter: fld_set}]}, - "cs_v6nxthop": {to:[{field: "rsa.misc.cs_v6nxthop", setter: fld_set}]}, - "cs_whois_server": {to:[{field: "rsa.misc.cs_whois_server", setter: fld_set}]}, - "cs_yararesult": {to:[{field: "rsa.misc.cs_yararesult", setter: fld_set}]}, - "cve": {to:[{field: "rsa.misc.cve", setter: fld_set}]}, - "d_certauth": {to:[{field: "rsa.crypto.d_certauth", setter: fld_set}]}, - "d_cipher": {to:[{field: "rsa.crypto.cipher_dst", setter: fld_set}]}, - "d_ciphersize": {convert: to_long, to:[{field: "rsa.crypto.cipher_size_dst", setter: fld_set}]}, - "d_sslver": {to:[{field: "rsa.crypto.ssl_ver_dst", setter: fld_set}]}, - "data": {to:[{field: "rsa.internal.data", setter: fld_set}]}, - "data_type": {to:[{field: "rsa.misc.data_type", setter: fld_set}]}, - "date": {to:[{field: "rsa.time.date", setter: fld_set}]}, - "datetime": {to:[{field: "rsa.time.datetime", setter: fld_set}]}, - "day": {to:[{field: "rsa.time.day", setter: fld_set}]}, - "db_id": {to:[{field: "rsa.db.db_id", setter: fld_set}]}, - "db_name": {to:[{field: "rsa.db.database", setter: fld_set}]}, - "db_pid": {convert: to_long, to:[{field: "rsa.db.db_pid", setter: fld_set}]}, - "dclass_counter1": {convert: to_long, to:[{field: "rsa.counters.dclass_c1", setter: fld_set}]}, - "dclass_counter1_string": {to:[{field: "rsa.counters.dclass_c1_str", setter: fld_set}]}, - "dclass_counter2": {convert: to_long, to:[{field: "rsa.counters.dclass_c2", setter: fld_set}]}, - "dclass_counter2_string": {to:[{field: "rsa.counters.dclass_c2_str", setter: fld_set}]}, - "dclass_counter3": {convert: to_long, to:[{field: "rsa.counters.dclass_c3", setter: fld_set}]}, - "dclass_counter3_string": {to:[{field: "rsa.counters.dclass_c3_str", setter: fld_set}]}, - "dclass_ratio1": {to:[{field: "rsa.counters.dclass_r1", setter: fld_set}]}, - "dclass_ratio1_string": {to:[{field: "rsa.counters.dclass_r1_str", setter: fld_set}]}, - "dclass_ratio2": {to:[{field: "rsa.counters.dclass_r2", setter: fld_set}]}, - "dclass_ratio2_string": {to:[{field: "rsa.counters.dclass_r2_str", setter: fld_set}]}, - "dclass_ratio3": {to:[{field: "rsa.counters.dclass_r3", setter: fld_set}]}, - "dclass_ratio3_string": {to:[{field: "rsa.counters.dclass_r3_str", setter: fld_set}]}, - "dead": {convert: to_long, to:[{field: "rsa.internal.dead", setter: fld_set}]}, - "description": {to:[{field: "rsa.misc.description", setter: fld_set}]}, - "detail": {to:[{field: "rsa.misc.event_desc", setter: fld_set}]}, - "device": {to:[{field: "rsa.misc.device_name", setter: fld_set}]}, - "device.class": {to:[{field: "rsa.internal.device_class", setter: fld_set}]}, - "device.group": {to:[{field: "rsa.internal.device_group", setter: fld_set}]}, - "device.host": {to:[{field: "rsa.internal.device_host", setter: fld_set}]}, - "device.ip": {convert: to_ip, to:[{field: "rsa.internal.device_ip", setter: fld_set}]}, - "device.ipv6": {convert: to_ip, to:[{field: "rsa.internal.device_ipv6", setter: fld_set}]}, - "device.type": {to:[{field: "rsa.internal.device_type", setter: fld_set}]}, - "device.type.id": {convert: to_long, to:[{field: "rsa.internal.device_type_id", setter: fld_set}]}, - "devicehostname": {to:[{field: "rsa.network.alias_host", setter: fld_append}]}, - "devvendor": {to:[{field: "rsa.misc.devvendor", setter: fld_set}]}, - "dhost": {to:[{field: "rsa.network.host_dst", setter: fld_set}]}, - "did": {to:[{field: "rsa.internal.did", setter: fld_set}]}, - "dinterface": {to:[{field: "rsa.network.dinterface", setter: fld_set}]}, - "directory.dst": {to:[{field: "rsa.file.directory_dst", setter: fld_set}]}, - "directory.src": {to:[{field: "rsa.file.directory_src", setter: fld_set}]}, - "disk_volume": {to:[{field: "rsa.storage.disk_volume", setter: fld_set}]}, - "disposition": {to:[{field: "rsa.misc.disposition", setter: fld_set}]}, - "distance": {to:[{field: "rsa.misc.distance", setter: fld_set}]}, - "dmask": {to:[{field: "rsa.network.dmask", setter: fld_set}]}, - "dn": {to:[{field: "rsa.identity.dn", setter: fld_set}]}, - "dns_a_record": {to:[{field: "rsa.network.dns_a_record", setter: fld_set}]}, - "dns_cname_record": {to:[{field: "rsa.network.dns_cname_record", setter: fld_set}]}, - "dns_id": {to:[{field: "rsa.network.dns_id", setter: fld_set}]}, - "dns_opcode": {to:[{field: "rsa.network.dns_opcode", setter: fld_set}]}, - "dns_ptr_record": {to:[{field: "rsa.network.dns_ptr_record", setter: fld_set}]}, - "dns_resp": {to:[{field: "rsa.network.dns_resp", setter: fld_set}]}, - "dns_type": {to:[{field: "rsa.network.dns_type", setter: fld_set}]}, - "doc_number": {convert: to_long, to:[{field: "rsa.misc.doc_number", setter: fld_set}]}, - "domain": {to:[{field: "rsa.network.domain", setter: fld_set}]}, - "domain1": {to:[{field: "rsa.network.domain1", setter: fld_set}]}, - "dst_dn": {to:[{field: "rsa.identity.dn_dst", setter: fld_set}]}, - "dst_payload": {to:[{field: "rsa.misc.payload_dst", setter: fld_set}]}, - "dst_spi": {to:[{field: "rsa.misc.spi_dst", setter: fld_set}]}, - "dst_zone": {to:[{field: "rsa.network.zone_dst", setter: fld_set}]}, - "dstburb": {to:[{field: "rsa.misc.dstburb", setter: fld_set}]}, - "duration": {convert: to_double, to:[{field: "rsa.time.duration_time", setter: fld_set}]}, - "duration_string": {to:[{field: "rsa.time.duration_str", setter: fld_set}]}, - "ec_activity": {to:[{field: "rsa.investigations.ec_activity", setter: fld_set}]}, - "ec_outcome": {to:[{field: "rsa.investigations.ec_outcome", setter: fld_set}]}, - "ec_subject": {to:[{field: "rsa.investigations.ec_subject", setter: fld_set}]}, - "ec_theme": {to:[{field: "rsa.investigations.ec_theme", setter: fld_set}]}, - "edomain": {to:[{field: "rsa.misc.edomain", setter: fld_set}]}, - "edomaub": {to:[{field: "rsa.misc.edomaub", setter: fld_set}]}, - "effective_time": {convert: to_date, to:[{field: "rsa.time.effective_time", setter: fld_set}]}, - "ein.number": {convert: to_long, to:[{field: "rsa.misc.ein_number", setter: fld_set}]}, - "email": {to:[{field: "rsa.email.email", setter: fld_append}]}, - "encryption_type": {to:[{field: "rsa.crypto.crypto", setter: fld_set}]}, - "endtime": {convert: to_date, to:[{field: "rsa.time.endtime", setter: fld_set}]}, - "entropy.req": {convert: to_long, to:[{field: "rsa.internal.entropy_req", setter: fld_set}]}, - "entropy.res": {convert: to_long, to:[{field: "rsa.internal.entropy_res", setter: fld_set}]}, - "entry": {to:[{field: "rsa.internal.entry", setter: fld_set}]}, - "eoc": {to:[{field: "rsa.investigations.eoc", setter: fld_set}]}, - "error": {to:[{field: "rsa.misc.error", setter: fld_set}]}, - "eth_type": {convert: to_long, to:[{field: "rsa.network.eth_type", setter: fld_set}]}, - "euid": {to:[{field: "rsa.misc.euid", setter: fld_set}]}, - "event.cat": {convert: to_long, to:[{field: "rsa.investigations.event_cat", setter: fld_prio, prio: 1}]}, - "event.cat.name": {to:[{field: "rsa.investigations.event_cat_name", setter: fld_prio, prio: 1}]}, - "event_cat": {convert: to_long, to:[{field: "rsa.investigations.event_cat", setter: fld_prio, prio: 0}]}, - "event_cat_name": {to:[{field: "rsa.investigations.event_cat_name", setter: fld_prio, prio: 0}]}, - "event_category": {to:[{field: "rsa.misc.event_category", setter: fld_set}]}, - "event_computer": {to:[{field: "rsa.misc.event_computer", setter: fld_set}]}, - "event_counter": {convert: to_long, to:[{field: "rsa.counters.event_counter", setter: fld_set}]}, - "event_description": {to:[{field: "rsa.internal.event_desc", setter: fld_set}]}, - "event_id": {to:[{field: "rsa.misc.event_id", setter: fld_set}]}, - "event_log": {to:[{field: "rsa.misc.event_log", setter: fld_set}]}, - "event_name": {to:[{field: "rsa.internal.event_name", setter: fld_set}]}, - "event_queue_time": {convert: to_date, to:[{field: "rsa.time.event_queue_time", setter: fld_set}]}, - "event_source": {to:[{field: "rsa.misc.event_source", setter: fld_set}]}, - "event_state": {to:[{field: "rsa.misc.event_state", setter: fld_set}]}, - "event_time": {convert: to_date, to:[{field: "rsa.time.event_time", setter: fld_set}]}, - "event_time_str": {to:[{field: "rsa.time.event_time_str", setter: fld_prio, prio: 1}]}, - "event_time_string": {to:[{field: "rsa.time.event_time_str", setter: fld_prio, prio: 0}]}, - "event_type": {to:[{field: "rsa.misc.event_type", setter: fld_set}]}, - "event_user": {to:[{field: "rsa.misc.event_user", setter: fld_set}]}, - "eventtime": {to:[{field: "rsa.time.eventtime", setter: fld_set}]}, - "expected_val": {to:[{field: "rsa.misc.expected_val", setter: fld_set}]}, - "expiration_time": {convert: to_date, to:[{field: "rsa.time.expire_time", setter: fld_set}]}, - "expiration_time_string": {to:[{field: "rsa.time.expire_time_str", setter: fld_set}]}, - "facility": {to:[{field: "rsa.misc.facility", setter: fld_set}]}, - "facilityname": {to:[{field: "rsa.misc.facilityname", setter: fld_set}]}, - "faddr": {to:[{field: "rsa.network.faddr", setter: fld_set}]}, - "fcatnum": {to:[{field: "rsa.misc.fcatnum", setter: fld_set}]}, - "federated_idp": {to:[{field: "rsa.identity.federated_idp", setter: fld_set}]}, - "federated_sp": {to:[{field: "rsa.identity.federated_sp", setter: fld_set}]}, - "feed.category": {to:[{field: "rsa.internal.feed_category", setter: fld_set}]}, - "feed_desc": {to:[{field: "rsa.internal.feed_desc", setter: fld_set}]}, - "feed_name": {to:[{field: "rsa.internal.feed_name", setter: fld_set}]}, - "fhost": {to:[{field: "rsa.network.fhost", setter: fld_set}]}, - "file_entropy": {convert: to_double, to:[{field: "rsa.file.file_entropy", setter: fld_set}]}, - "file_vendor": {to:[{field: "rsa.file.file_vendor", setter: fld_set}]}, - "filename_dst": {to:[{field: "rsa.file.filename_dst", setter: fld_set}]}, - "filename_src": {to:[{field: "rsa.file.filename_src", setter: fld_set}]}, - "filename_tmp": {to:[{field: "rsa.file.filename_tmp", setter: fld_set}]}, - "filesystem": {to:[{field: "rsa.file.filesystem", setter: fld_set}]}, - "filter": {to:[{field: "rsa.misc.filter", setter: fld_set}]}, - "finterface": {to:[{field: "rsa.misc.finterface", setter: fld_set}]}, - "flags": {to:[{field: "rsa.misc.flags", setter: fld_set}]}, - "forensic_info": {to:[{field: "rsa.misc.forensic_info", setter: fld_set}]}, - "forward.ip": {convert: to_ip, to:[{field: "rsa.internal.forward_ip", setter: fld_set}]}, - "forward.ipv6": {convert: to_ip, to:[{field: "rsa.internal.forward_ipv6", setter: fld_set}]}, - "found": {to:[{field: "rsa.misc.found", setter: fld_set}]}, - "fport": {to:[{field: "rsa.network.fport", setter: fld_set}]}, - "fqdn": {to:[{field: "rsa.web.fqdn", setter: fld_set}]}, - "fresult": {convert: to_long, to:[{field: "rsa.misc.fresult", setter: fld_set}]}, - "from": {to:[{field: "rsa.email.email_src", setter: fld_set}]}, - "gaddr": {to:[{field: "rsa.misc.gaddr", setter: fld_set}]}, - "gateway": {to:[{field: "rsa.network.gateway", setter: fld_set}]}, - "gmtdate": {to:[{field: "rsa.time.gmtdate", setter: fld_set}]}, - "gmttime": {to:[{field: "rsa.time.gmttime", setter: fld_set}]}, - "group": {to:[{field: "rsa.misc.group", setter: fld_set}]}, - "group_object": {to:[{field: "rsa.misc.group_object", setter: fld_set}]}, - "groupid": {to:[{field: "rsa.misc.group_id", setter: fld_set}]}, - "h_code": {to:[{field: "rsa.internal.hcode", setter: fld_set}]}, - "hardware_id": {to:[{field: "rsa.misc.hardware_id", setter: fld_set}]}, - "header.id": {to:[{field: "rsa.internal.header_id", setter: fld_set}]}, - "host.orig": {to:[{field: "rsa.network.host_orig", setter: fld_set}]}, - "host.state": {to:[{field: "rsa.endpoint.host_state", setter: fld_set}]}, - "host.type": {to:[{field: "rsa.network.host_type", setter: fld_set}]}, - "host_role": {to:[{field: "rsa.identity.host_role", setter: fld_set}]}, - "hostid": {to:[{field: "rsa.network.alias_host", setter: fld_append}]}, - "hostname": {to:[{field: "rsa.network.alias_host", setter: fld_append}]}, - "hour": {to:[{field: "rsa.time.hour", setter: fld_set}]}, - "https.insact": {to:[{field: "rsa.crypto.https_insact", setter: fld_set}]}, - "https.valid": {to:[{field: "rsa.crypto.https_valid", setter: fld_set}]}, - "icmpcode": {convert: to_long, to:[{field: "rsa.network.icmp_code", setter: fld_set}]}, - "icmptype": {convert: to_long, to:[{field: "rsa.network.icmp_type", setter: fld_set}]}, - "id": {to:[{field: "rsa.misc.reference_id", setter: fld_set}]}, - "id1": {to:[{field: "rsa.misc.reference_id1", setter: fld_set}]}, - "id2": {to:[{field: "rsa.misc.reference_id2", setter: fld_set}]}, - "id3": {to:[{field: "rsa.misc.id3", setter: fld_set}]}, - "ike": {to:[{field: "rsa.crypto.ike", setter: fld_set}]}, - "ike_cookie1": {to:[{field: "rsa.crypto.ike_cookie1", setter: fld_set}]}, - "ike_cookie2": {to:[{field: "rsa.crypto.ike_cookie2", setter: fld_set}]}, - "im_buddyid": {to:[{field: "rsa.misc.im_buddyid", setter: fld_set}]}, - "im_buddyname": {to:[{field: "rsa.misc.im_buddyname", setter: fld_set}]}, - "im_client": {to:[{field: "rsa.misc.im_client", setter: fld_set}]}, - "im_croomid": {to:[{field: "rsa.misc.im_croomid", setter: fld_set}]}, - "im_croomtype": {to:[{field: "rsa.misc.im_croomtype", setter: fld_set}]}, - "im_members": {to:[{field: "rsa.misc.im_members", setter: fld_set}]}, - "im_userid": {to:[{field: "rsa.misc.im_userid", setter: fld_set}]}, - "im_username": {to:[{field: "rsa.misc.im_username", setter: fld_set}]}, - "index": {to:[{field: "rsa.misc.index", setter: fld_set}]}, - "info": {to:[{field: "rsa.db.index", setter: fld_set}]}, - "inode": {convert: to_long, to:[{field: "rsa.internal.inode", setter: fld_set}]}, - "inout": {to:[{field: "rsa.misc.inout", setter: fld_set}]}, - "instance": {to:[{field: "rsa.db.instance", setter: fld_set}]}, - "interface": {to:[{field: "rsa.network.interface", setter: fld_set}]}, - "inv.category": {to:[{field: "rsa.investigations.inv_category", setter: fld_set}]}, - "inv.context": {to:[{field: "rsa.investigations.inv_context", setter: fld_set}]}, - "ioc": {to:[{field: "rsa.investigations.ioc", setter: fld_set}]}, - "ip_proto": {convert: to_long, to:[{field: "rsa.network.ip_proto", setter: fld_set}]}, - "ipkt": {to:[{field: "rsa.misc.ipkt", setter: fld_set}]}, - "ipscat": {to:[{field: "rsa.misc.ipscat", setter: fld_set}]}, - "ipspri": {to:[{field: "rsa.misc.ipspri", setter: fld_set}]}, - "jobname": {to:[{field: "rsa.misc.jobname", setter: fld_set}]}, - "jobnum": {to:[{field: "rsa.misc.job_num", setter: fld_set}]}, - "laddr": {to:[{field: "rsa.network.laddr", setter: fld_set}]}, - "language": {to:[{field: "rsa.misc.language", setter: fld_set}]}, - "latitude": {to:[{field: "rsa.misc.latitude", setter: fld_set}]}, - "lc.cid": {to:[{field: "rsa.internal.lc_cid", setter: fld_set}]}, - "lc.ctime": {convert: to_date, to:[{field: "rsa.internal.lc_ctime", setter: fld_set}]}, - "ldap": {to:[{field: "rsa.identity.ldap", setter: fld_set}]}, - "ldap.query": {to:[{field: "rsa.identity.ldap_query", setter: fld_set}]}, - "ldap.response": {to:[{field: "rsa.identity.ldap_response", setter: fld_set}]}, - "level": {convert: to_long, to:[{field: "rsa.internal.level", setter: fld_set}]}, - "lhost": {to:[{field: "rsa.network.lhost", setter: fld_set}]}, - "library": {to:[{field: "rsa.misc.library", setter: fld_set}]}, - "lifetime": {convert: to_long, to:[{field: "rsa.misc.lifetime", setter: fld_set}]}, - "linenum": {to:[{field: "rsa.misc.linenum", setter: fld_set}]}, - "link": {to:[{field: "rsa.misc.link", setter: fld_set}]}, - "linterface": {to:[{field: "rsa.network.linterface", setter: fld_set}]}, - "list_name": {to:[{field: "rsa.misc.list_name", setter: fld_set}]}, - "listnum": {to:[{field: "rsa.misc.listnum", setter: fld_set}]}, - "load_data": {to:[{field: "rsa.misc.load_data", setter: fld_set}]}, - "location_floor": {to:[{field: "rsa.misc.location_floor", setter: fld_set}]}, - "location_mark": {to:[{field: "rsa.misc.location_mark", setter: fld_set}]}, - "log_id": {to:[{field: "rsa.misc.log_id", setter: fld_set}]}, - "log_type": {to:[{field: "rsa.misc.log_type", setter: fld_set}]}, - "logid": {to:[{field: "rsa.misc.logid", setter: fld_set}]}, - "logip": {to:[{field: "rsa.misc.logip", setter: fld_set}]}, - "logname": {to:[{field: "rsa.misc.logname", setter: fld_set}]}, - "logon_type": {to:[{field: "rsa.identity.logon_type", setter: fld_set}]}, - "logon_type_desc": {to:[{field: "rsa.identity.logon_type_desc", setter: fld_set}]}, - "longitude": {to:[{field: "rsa.misc.longitude", setter: fld_set}]}, - "lport": {to:[{field: "rsa.misc.lport", setter: fld_set}]}, - "lread": {convert: to_long, to:[{field: "rsa.db.lread", setter: fld_set}]}, - "lun": {to:[{field: "rsa.storage.lun", setter: fld_set}]}, - "lwrite": {convert: to_long, to:[{field: "rsa.db.lwrite", setter: fld_set}]}, - "macaddr": {convert: to_mac, to:[{field: "rsa.network.eth_host", setter: fld_set}]}, - "mail_id": {to:[{field: "rsa.misc.mail_id", setter: fld_set}]}, - "mask": {to:[{field: "rsa.network.mask", setter: fld_set}]}, - "match": {to:[{field: "rsa.misc.match", setter: fld_set}]}, - "mbug_data": {to:[{field: "rsa.misc.mbug_data", setter: fld_set}]}, - "mcb.req": {convert: to_long, to:[{field: "rsa.internal.mcb_req", setter: fld_set}]}, - "mcb.res": {convert: to_long, to:[{field: "rsa.internal.mcb_res", setter: fld_set}]}, - "mcbc.req": {convert: to_long, to:[{field: "rsa.internal.mcbc_req", setter: fld_set}]}, - "mcbc.res": {convert: to_long, to:[{field: "rsa.internal.mcbc_res", setter: fld_set}]}, - "medium": {convert: to_long, to:[{field: "rsa.internal.medium", setter: fld_set}]}, - "message": {to:[{field: "rsa.internal.message", setter: fld_set}]}, - "message_body": {to:[{field: "rsa.misc.message_body", setter: fld_set}]}, - "messageid": {to:[{field: "rsa.internal.messageid", setter: fld_set}]}, - "min": {to:[{field: "rsa.time.min", setter: fld_set}]}, - "misc": {to:[{field: "rsa.misc.misc", setter: fld_set}]}, - "misc_name": {to:[{field: "rsa.misc.misc_name", setter: fld_set}]}, - "mode": {to:[{field: "rsa.misc.mode", setter: fld_set}]}, - "month": {to:[{field: "rsa.time.month", setter: fld_set}]}, - "msg": {to:[{field: "rsa.internal.msg", setter: fld_set}]}, - "msgIdPart1": {to:[{field: "rsa.misc.msgIdPart1", setter: fld_set}]}, - "msgIdPart2": {to:[{field: "rsa.misc.msgIdPart2", setter: fld_set}]}, - "msgIdPart3": {to:[{field: "rsa.misc.msgIdPart3", setter: fld_set}]}, - "msgIdPart4": {to:[{field: "rsa.misc.msgIdPart4", setter: fld_set}]}, - "msg_id": {to:[{field: "rsa.internal.msg_id", setter: fld_set}]}, - "msg_type": {to:[{field: "rsa.misc.msg_type", setter: fld_set}]}, - "msgid": {to:[{field: "rsa.misc.msgid", setter: fld_set}]}, - "name": {to:[{field: "rsa.misc.name", setter: fld_set}]}, - "netname": {to:[{field: "rsa.network.netname", setter: fld_set}]}, - "netsessid": {to:[{field: "rsa.misc.netsessid", setter: fld_set}]}, - "network_port": {convert: to_long, to:[{field: "rsa.network.network_port", setter: fld_set}]}, - "network_service": {to:[{field: "rsa.network.network_service", setter: fld_set}]}, - "node": {to:[{field: "rsa.misc.node", setter: fld_set}]}, - "nodename": {to:[{field: "rsa.internal.node_name", setter: fld_set}]}, - "ntype": {to:[{field: "rsa.misc.ntype", setter: fld_set}]}, - "num": {to:[{field: "rsa.misc.num", setter: fld_set}]}, - "number": {to:[{field: "rsa.misc.number", setter: fld_set}]}, - "number1": {to:[{field: "rsa.misc.number1", setter: fld_set}]}, - "number2": {to:[{field: "rsa.misc.number2", setter: fld_set}]}, - "nwe.callback_id": {to:[{field: "rsa.internal.nwe_callback_id", setter: fld_set}]}, - "nwwn": {to:[{field: "rsa.misc.nwwn", setter: fld_set}]}, - "obj_id": {to:[{field: "rsa.internal.obj_id", setter: fld_set}]}, - "obj_name": {to:[{field: "rsa.misc.obj_name", setter: fld_set}]}, - "obj_server": {to:[{field: "rsa.internal.obj_server", setter: fld_set}]}, - "obj_type": {to:[{field: "rsa.misc.obj_type", setter: fld_set}]}, - "obj_value": {to:[{field: "rsa.internal.obj_val", setter: fld_set}]}, - "object": {to:[{field: "rsa.misc.object", setter: fld_set}]}, - "observed_val": {to:[{field: "rsa.misc.observed_val", setter: fld_set}]}, - "operation": {to:[{field: "rsa.misc.operation", setter: fld_set}]}, - "operation_id": {to:[{field: "rsa.misc.operation_id", setter: fld_set}]}, - "opkt": {to:[{field: "rsa.misc.opkt", setter: fld_set}]}, - "org.dst": {to:[{field: "rsa.physical.org_dst", setter: fld_prio, prio: 1}]}, - "org.src": {to:[{field: "rsa.physical.org_src", setter: fld_set}]}, - "org_dst": {to:[{field: "rsa.physical.org_dst", setter: fld_prio, prio: 0}]}, - "orig_from": {to:[{field: "rsa.misc.orig_from", setter: fld_set}]}, - "origin": {to:[{field: "rsa.network.origin", setter: fld_set}]}, - "original_owner": {to:[{field: "rsa.identity.owner", setter: fld_set}]}, - "os": {to:[{field: "rsa.misc.OS", setter: fld_set}]}, - "owner_id": {to:[{field: "rsa.misc.owner_id", setter: fld_set}]}, - "p_action": {to:[{field: "rsa.misc.p_action", setter: fld_set}]}, - "p_date": {to:[{field: "rsa.time.p_date", setter: fld_set}]}, - "p_filter": {to:[{field: "rsa.misc.p_filter", setter: fld_set}]}, - "p_group_object": {to:[{field: "rsa.misc.p_group_object", setter: fld_set}]}, - "p_id": {to:[{field: "rsa.misc.p_id", setter: fld_set}]}, - "p_month": {to:[{field: "rsa.time.p_month", setter: fld_set}]}, - "p_msgid": {to:[{field: "rsa.misc.p_msgid", setter: fld_set}]}, - "p_msgid1": {to:[{field: "rsa.misc.p_msgid1", setter: fld_set}]}, - "p_msgid2": {to:[{field: "rsa.misc.p_msgid2", setter: fld_set}]}, - "p_result1": {to:[{field: "rsa.misc.p_result1", setter: fld_set}]}, - "p_time": {to:[{field: "rsa.time.p_time", setter: fld_set}]}, - "p_time1": {to:[{field: "rsa.time.p_time1", setter: fld_set}]}, - "p_time2": {to:[{field: "rsa.time.p_time2", setter: fld_set}]}, - "p_url": {to:[{field: "rsa.web.p_url", setter: fld_set}]}, - "p_user_agent": {to:[{field: "rsa.web.p_user_agent", setter: fld_set}]}, - "p_web_cookie": {to:[{field: "rsa.web.p_web_cookie", setter: fld_set}]}, - "p_web_method": {to:[{field: "rsa.web.p_web_method", setter: fld_set}]}, - "p_web_referer": {to:[{field: "rsa.web.p_web_referer", setter: fld_set}]}, - "p_year": {to:[{field: "rsa.time.p_year", setter: fld_set}]}, - "packet_length": {to:[{field: "rsa.network.packet_length", setter: fld_set}]}, - "paddr": {convert: to_ip, to:[{field: "rsa.network.paddr", setter: fld_set}]}, - "param": {to:[{field: "rsa.misc.param", setter: fld_set}]}, - "param.dst": {to:[{field: "rsa.misc.param_dst", setter: fld_set}]}, - "param.src": {to:[{field: "rsa.misc.param_src", setter: fld_set}]}, - "parent_node": {to:[{field: "rsa.misc.parent_node", setter: fld_set}]}, - "parse.error": {to:[{field: "rsa.internal.parse_error", setter: fld_set}]}, - "password": {to:[{field: "rsa.identity.password", setter: fld_set}]}, - "password_chg": {to:[{field: "rsa.misc.password_chg", setter: fld_set}]}, - "password_expire": {to:[{field: "rsa.misc.password_expire", setter: fld_set}]}, - "patient_fname": {to:[{field: "rsa.healthcare.patient_fname", setter: fld_set}]}, - "patient_id": {to:[{field: "rsa.healthcare.patient_id", setter: fld_set}]}, - "patient_lname": {to:[{field: "rsa.healthcare.patient_lname", setter: fld_set}]}, - "patient_mname": {to:[{field: "rsa.healthcare.patient_mname", setter: fld_set}]}, - "payload.req": {convert: to_long, to:[{field: "rsa.internal.payload_req", setter: fld_set}]}, - "payload.res": {convert: to_long, to:[{field: "rsa.internal.payload_res", setter: fld_set}]}, - "peer": {to:[{field: "rsa.crypto.peer", setter: fld_set}]}, - "peer_id": {to:[{field: "rsa.crypto.peer_id", setter: fld_set}]}, - "permgranted": {to:[{field: "rsa.misc.permgranted", setter: fld_set}]}, - "permissions": {to:[{field: "rsa.db.permissions", setter: fld_set}]}, - "permwanted": {to:[{field: "rsa.misc.permwanted", setter: fld_set}]}, - "pgid": {to:[{field: "rsa.misc.pgid", setter: fld_set}]}, - "phone_number": {to:[{field: "rsa.misc.phone", setter: fld_prio, prio: 2}]}, - "phost": {to:[{field: "rsa.network.phost", setter: fld_set}]}, - "pid": {to:[{field: "rsa.misc.pid", setter: fld_set}]}, - "policy": {to:[{field: "rsa.misc.policy", setter: fld_set}]}, - "policyUUID": {to:[{field: "rsa.misc.policyUUID", setter: fld_set}]}, - "policy_id": {to:[{field: "rsa.misc.policy_id", setter: fld_set}]}, - "policy_value": {to:[{field: "rsa.misc.policy_value", setter: fld_set}]}, - "policy_waiver": {to:[{field: "rsa.misc.policy_waiver", setter: fld_set}]}, - "policyname": {to:[{field: "rsa.misc.policy_name", setter: fld_prio, prio: 0}]}, - "pool_id": {to:[{field: "rsa.misc.pool_id", setter: fld_set}]}, - "pool_name": {to:[{field: "rsa.misc.pool_name", setter: fld_set}]}, - "port": {convert: to_long, to:[{field: "rsa.network.port", setter: fld_set}]}, - "portname": {to:[{field: "rsa.misc.port_name", setter: fld_set}]}, - "pread": {convert: to_long, to:[{field: "rsa.db.pread", setter: fld_set}]}, - "priority": {to:[{field: "rsa.misc.priority", setter: fld_set}]}, - "privilege": {to:[{field: "rsa.file.privilege", setter: fld_set}]}, - "process.vid.dst": {to:[{field: "rsa.internal.process_vid_dst", setter: fld_set}]}, - "process.vid.src": {to:[{field: "rsa.internal.process_vid_src", setter: fld_set}]}, - "process_id_val": {to:[{field: "rsa.misc.process_id_val", setter: fld_set}]}, - "processing_time": {to:[{field: "rsa.time.process_time", setter: fld_set}]}, - "profile": {to:[{field: "rsa.identity.profile", setter: fld_set}]}, - "prog_asp_num": {to:[{field: "rsa.misc.prog_asp_num", setter: fld_set}]}, - "program": {to:[{field: "rsa.misc.program", setter: fld_set}]}, - "protocol_detail": {to:[{field: "rsa.network.protocol_detail", setter: fld_set}]}, - "pwwn": {to:[{field: "rsa.storage.pwwn", setter: fld_set}]}, - "r_hostid": {to:[{field: "rsa.network.alias_host", setter: fld_append}]}, - "real_data": {to:[{field: "rsa.misc.real_data", setter: fld_set}]}, - "realm": {to:[{field: "rsa.identity.realm", setter: fld_set}]}, - "reason": {to:[{field: "rsa.misc.reason", setter: fld_set}]}, - "rec_asp_device": {to:[{field: "rsa.misc.rec_asp_device", setter: fld_set}]}, - "rec_asp_num": {to:[{field: "rsa.misc.rec_asp_num", setter: fld_set}]}, - "rec_library": {to:[{field: "rsa.misc.rec_library", setter: fld_set}]}, - "recorded_time": {convert: to_date, to:[{field: "rsa.time.recorded_time", setter: fld_set}]}, - "recordnum": {to:[{field: "rsa.misc.recordnum", setter: fld_set}]}, - "registry.key": {to:[{field: "rsa.endpoint.registry_key", setter: fld_set}]}, - "registry.value": {to:[{field: "rsa.endpoint.registry_value", setter: fld_set}]}, - "remote_domain": {to:[{field: "rsa.web.remote_domain", setter: fld_set}]}, - "remote_domain_id": {to:[{field: "rsa.network.remote_domain_id", setter: fld_set}]}, - "reputation_num": {convert: to_double, to:[{field: "rsa.web.reputation_num", setter: fld_set}]}, - "resource": {to:[{field: "rsa.internal.resource", setter: fld_set}]}, - "resource_class": {to:[{field: "rsa.internal.resource_class", setter: fld_set}]}, - "result": {to:[{field: "rsa.misc.result", setter: fld_set}]}, - "result_code": {to:[{field: "rsa.misc.result_code", setter: fld_prio, prio: 1}]}, - "resultcode": {to:[{field: "rsa.misc.result_code", setter: fld_prio, prio: 0}]}, - "rid": {convert: to_long, to:[{field: "rsa.internal.rid", setter: fld_set}]}, - "risk": {to:[{field: "rsa.misc.risk", setter: fld_set}]}, - "risk_info": {to:[{field: "rsa.misc.risk_info", setter: fld_set}]}, - "risk_num": {convert: to_double, to:[{field: "rsa.misc.risk_num", setter: fld_set}]}, - "risk_num_comm": {convert: to_double, to:[{field: "rsa.misc.risk_num_comm", setter: fld_set}]}, - "risk_num_next": {convert: to_double, to:[{field: "rsa.misc.risk_num_next", setter: fld_set}]}, - "risk_num_sand": {convert: to_double, to:[{field: "rsa.misc.risk_num_sand", setter: fld_set}]}, - "risk_num_static": {convert: to_double, to:[{field: "rsa.misc.risk_num_static", setter: fld_set}]}, - "risk_suspicious": {to:[{field: "rsa.misc.risk_suspicious", setter: fld_set}]}, - "risk_warning": {to:[{field: "rsa.misc.risk_warning", setter: fld_set}]}, - "rpayload": {to:[{field: "rsa.network.rpayload", setter: fld_set}]}, - "ruid": {to:[{field: "rsa.misc.ruid", setter: fld_set}]}, - "rule": {to:[{field: "rsa.misc.rule", setter: fld_set}]}, - "rule_group": {to:[{field: "rsa.misc.rule_group", setter: fld_set}]}, - "rule_template": {to:[{field: "rsa.misc.rule_template", setter: fld_set}]}, - "rule_uid": {to:[{field: "rsa.misc.rule_uid", setter: fld_set}]}, - "rulename": {to:[{field: "rsa.misc.rule_name", setter: fld_set}]}, - "s_certauth": {to:[{field: "rsa.crypto.s_certauth", setter: fld_set}]}, - "s_cipher": {to:[{field: "rsa.crypto.cipher_src", setter: fld_set}]}, - "s_ciphersize": {convert: to_long, to:[{field: "rsa.crypto.cipher_size_src", setter: fld_set}]}, - "s_context": {to:[{field: "rsa.misc.context_subject", setter: fld_set}]}, - "s_sslver": {to:[{field: "rsa.crypto.ssl_ver_src", setter: fld_set}]}, - "sburb": {to:[{field: "rsa.misc.sburb", setter: fld_set}]}, - "scheme": {to:[{field: "rsa.crypto.scheme", setter: fld_set}]}, - "sdomain_fld": {to:[{field: "rsa.misc.sdomain_fld", setter: fld_set}]}, - "search.text": {to:[{field: "rsa.misc.search_text", setter: fld_set}]}, - "sec": {to:[{field: "rsa.misc.sec", setter: fld_set}]}, - "second": {to:[{field: "rsa.misc.second", setter: fld_set}]}, - "sensor": {to:[{field: "rsa.misc.sensor", setter: fld_set}]}, - "sensorname": {to:[{field: "rsa.misc.sensorname", setter: fld_set}]}, - "seqnum": {to:[{field: "rsa.misc.seqnum", setter: fld_set}]}, - "serial_number": {to:[{field: "rsa.misc.serial_number", setter: fld_set}]}, - "service.account": {to:[{field: "rsa.identity.service_account", setter: fld_set}]}, - "session": {to:[{field: "rsa.misc.session", setter: fld_set}]}, - "session.split": {to:[{field: "rsa.internal.session_split", setter: fld_set}]}, - "sessionid": {to:[{field: "rsa.misc.log_session_id", setter: fld_set}]}, - "sessionid1": {to:[{field: "rsa.misc.log_session_id1", setter: fld_set}]}, - "sessiontype": {to:[{field: "rsa.misc.sessiontype", setter: fld_set}]}, - "severity": {to:[{field: "rsa.misc.severity", setter: fld_set}]}, - "sid": {to:[{field: "rsa.identity.user_sid_dst", setter: fld_set}]}, - "sig.name": {to:[{field: "rsa.misc.sig_name", setter: fld_set}]}, - "sigUUID": {to:[{field: "rsa.misc.sigUUID", setter: fld_set}]}, - "sigcat": {to:[{field: "rsa.misc.sigcat", setter: fld_set}]}, - "sigid": {convert: to_long, to:[{field: "rsa.misc.sig_id", setter: fld_set}]}, - "sigid1": {convert: to_long, to:[{field: "rsa.misc.sig_id1", setter: fld_set}]}, - "sigid_string": {to:[{field: "rsa.misc.sig_id_str", setter: fld_set}]}, - "signame": {to:[{field: "rsa.misc.policy_name", setter: fld_prio, prio: 1}]}, - "sigtype": {to:[{field: "rsa.crypto.sig_type", setter: fld_set}]}, - "sinterface": {to:[{field: "rsa.network.sinterface", setter: fld_set}]}, - "site": {to:[{field: "rsa.internal.site", setter: fld_set}]}, - "size": {convert: to_long, to:[{field: "rsa.internal.size", setter: fld_set}]}, - "smask": {to:[{field: "rsa.network.smask", setter: fld_set}]}, - "snmp.oid": {to:[{field: "rsa.misc.snmp_oid", setter: fld_set}]}, - "snmp.value": {to:[{field: "rsa.misc.snmp_value", setter: fld_set}]}, - "sourcefile": {to:[{field: "rsa.internal.sourcefile", setter: fld_set}]}, - "space": {to:[{field: "rsa.misc.space", setter: fld_set}]}, - "space1": {to:[{field: "rsa.misc.space1", setter: fld_set}]}, - "spi": {to:[{field: "rsa.misc.spi", setter: fld_set}]}, - "sql": {to:[{field: "rsa.misc.sql", setter: fld_set}]}, - "src_dn": {to:[{field: "rsa.identity.dn_src", setter: fld_set}]}, - "src_payload": {to:[{field: "rsa.misc.payload_src", setter: fld_set}]}, - "src_spi": {to:[{field: "rsa.misc.spi_src", setter: fld_set}]}, - "src_zone": {to:[{field: "rsa.network.zone_src", setter: fld_set}]}, - "srcburb": {to:[{field: "rsa.misc.srcburb", setter: fld_set}]}, - "srcdom": {to:[{field: "rsa.misc.srcdom", setter: fld_set}]}, - "srcservice": {to:[{field: "rsa.misc.srcservice", setter: fld_set}]}, - "ssid": {to:[{field: "rsa.wireless.wlan_ssid", setter: fld_prio, prio: 0}]}, - "stamp": {convert: to_date, to:[{field: "rsa.time.stamp", setter: fld_set}]}, - "starttime": {convert: to_date, to:[{field: "rsa.time.starttime", setter: fld_set}]}, - "state": {to:[{field: "rsa.misc.state", setter: fld_set}]}, - "statement": {to:[{field: "rsa.internal.statement", setter: fld_set}]}, - "status": {to:[{field: "rsa.misc.status", setter: fld_set}]}, - "status1": {to:[{field: "rsa.misc.status1", setter: fld_set}]}, - "streams": {convert: to_long, to:[{field: "rsa.misc.streams", setter: fld_set}]}, - "subcategory": {to:[{field: "rsa.misc.subcategory", setter: fld_set}]}, - "subject": {to:[{field: "rsa.email.subject", setter: fld_set}]}, - "svcno": {to:[{field: "rsa.misc.svcno", setter: fld_set}]}, - "system": {to:[{field: "rsa.misc.system", setter: fld_set}]}, - "t_context": {to:[{field: "rsa.misc.context_target", setter: fld_set}]}, - "task_name": {to:[{field: "rsa.file.task_name", setter: fld_set}]}, - "tbdstr1": {to:[{field: "rsa.misc.tbdstr1", setter: fld_set}]}, - "tbdstr2": {to:[{field: "rsa.misc.tbdstr2", setter: fld_set}]}, - "tbl_name": {to:[{field: "rsa.db.table_name", setter: fld_set}]}, - "tcp_flags": {convert: to_long, to:[{field: "rsa.misc.tcp_flags", setter: fld_set}]}, - "terminal": {to:[{field: "rsa.misc.terminal", setter: fld_set}]}, - "tgtdom": {to:[{field: "rsa.misc.tgtdom", setter: fld_set}]}, - "tgtdomain": {to:[{field: "rsa.misc.tgtdomain", setter: fld_set}]}, - "threat_name": {to:[{field: "rsa.threat.threat_category", setter: fld_set}]}, - "threat_source": {to:[{field: "rsa.threat.threat_source", setter: fld_set}]}, - "threat_val": {to:[{field: "rsa.threat.threat_desc", setter: fld_set}]}, - "threshold": {to:[{field: "rsa.misc.threshold", setter: fld_set}]}, - "time": {convert: to_date, to:[{field: "rsa.internal.time", setter: fld_set}]}, - "timestamp": {to:[{field: "rsa.time.timestamp", setter: fld_set}]}, - "timezone": {to:[{field: "rsa.time.timezone", setter: fld_set}]}, - "to": {to:[{field: "rsa.email.email_dst", setter: fld_set}]}, - "tos": {convert: to_long, to:[{field: "rsa.misc.tos", setter: fld_set}]}, - "trans_from": {to:[{field: "rsa.email.trans_from", setter: fld_set}]}, - "trans_id": {to:[{field: "rsa.db.transact_id", setter: fld_set}]}, - "trans_to": {to:[{field: "rsa.email.trans_to", setter: fld_set}]}, - "trigger_desc": {to:[{field: "rsa.misc.trigger_desc", setter: fld_set}]}, - "trigger_val": {to:[{field: "rsa.misc.trigger_val", setter: fld_set}]}, - "type": {to:[{field: "rsa.misc.type", setter: fld_set}]}, - "type1": {to:[{field: "rsa.misc.type1", setter: fld_set}]}, - "tzone": {to:[{field: "rsa.time.tzone", setter: fld_set}]}, - "ubc.req": {convert: to_long, to:[{field: "rsa.internal.ubc_req", setter: fld_set}]}, - "ubc.res": {convert: to_long, to:[{field: "rsa.internal.ubc_res", setter: fld_set}]}, - "udb_class": {to:[{field: "rsa.misc.udb_class", setter: fld_set}]}, - "url_fld": {to:[{field: "rsa.misc.url_fld", setter: fld_set}]}, - "urlpage": {to:[{field: "rsa.web.urlpage", setter: fld_set}]}, - "urlroot": {to:[{field: "rsa.web.urlroot", setter: fld_set}]}, - "user_address": {to:[{field: "rsa.email.email", setter: fld_append}]}, - "user_dept": {to:[{field: "rsa.identity.user_dept", setter: fld_set}]}, - "user_div": {to:[{field: "rsa.misc.user_div", setter: fld_set}]}, - "user_fname": {to:[{field: "rsa.identity.firstname", setter: fld_set}]}, - "user_lname": {to:[{field: "rsa.identity.lastname", setter: fld_set}]}, - "user_mname": {to:[{field: "rsa.identity.middlename", setter: fld_set}]}, - "user_org": {to:[{field: "rsa.identity.org", setter: fld_set}]}, - "user_role": {to:[{field: "rsa.identity.user_role", setter: fld_set}]}, - "userid": {to:[{field: "rsa.misc.userid", setter: fld_set}]}, - "username_fld": {to:[{field: "rsa.misc.username_fld", setter: fld_set}]}, - "utcstamp": {to:[{field: "rsa.misc.utcstamp", setter: fld_set}]}, - "v_instafname": {to:[{field: "rsa.misc.v_instafname", setter: fld_set}]}, - "vendor_event_cat": {to:[{field: "rsa.investigations.event_vcat", setter: fld_set}]}, - "version": {to:[{field: "rsa.misc.version", setter: fld_set}]}, - "vid": {to:[{field: "rsa.internal.msg_vid", setter: fld_set}]}, - "virt_data": {to:[{field: "rsa.misc.virt_data", setter: fld_set}]}, - "virusname": {to:[{field: "rsa.misc.virusname", setter: fld_set}]}, - "vlan": {convert: to_long, to:[{field: "rsa.network.vlan", setter: fld_set}]}, - "vlan.name": {to:[{field: "rsa.network.vlan_name", setter: fld_set}]}, - "vm_target": {to:[{field: "rsa.misc.vm_target", setter: fld_set}]}, - "vpnid": {to:[{field: "rsa.misc.vpnid", setter: fld_set}]}, - "vsys": {to:[{field: "rsa.misc.vsys", setter: fld_set}]}, - "vuln_ref": {to:[{field: "rsa.misc.vuln_ref", setter: fld_set}]}, - "web_cookie": {to:[{field: "rsa.web.web_cookie", setter: fld_set}]}, - "web_extension_tmp": {to:[{field: "rsa.web.web_extension_tmp", setter: fld_set}]}, - "web_host": {to:[{field: "rsa.web.alias_host", setter: fld_set}]}, - "web_method": {to:[{field: "rsa.misc.action", setter: fld_append}]}, - "web_page": {to:[{field: "rsa.web.web_page", setter: fld_set}]}, - "web_ref_domain": {to:[{field: "rsa.web.web_ref_domain", setter: fld_set}]}, - "web_ref_host": {to:[{field: "rsa.network.alias_host", setter: fld_append}]}, - "web_ref_page": {to:[{field: "rsa.web.web_ref_page", setter: fld_set}]}, - "web_ref_query": {to:[{field: "rsa.web.web_ref_query", setter: fld_set}]}, - "web_ref_root": {to:[{field: "rsa.web.web_ref_root", setter: fld_set}]}, - "wifi_channel": {convert: to_long, to:[{field: "rsa.wireless.wlan_channel", setter: fld_set}]}, - "wlan": {to:[{field: "rsa.wireless.wlan_name", setter: fld_set}]}, - "word": {to:[{field: "rsa.internal.word", setter: fld_set}]}, - "workspace_desc": {to:[{field: "rsa.misc.workspace", setter: fld_set}]}, - "workstation": {to:[{field: "rsa.network.alias_host", setter: fld_append}]}, - "year": {to:[{field: "rsa.time.year", setter: fld_set}]}, - "zone": {to:[{field: "rsa.network.zone", setter: fld_set}]}, - }; - - function to_date(value) { - switch (typeof (value)) { - case "object": - // This is a Date. But as it was obtained from evt.Get(), the VM - // doesn't see it as a JS Date anymore, thus value instanceof Date === false. - // Have to trust that any object here is a valid Date for Go. - return value; - case "string": - var asDate = new Date(value); - if (!isNaN(asDate)) return asDate; - } - } - - // ECMAScript 5.1 doesn't have Object.MAX_SAFE_INTEGER / Object.MIN_SAFE_INTEGER. - var maxSafeInt = Math.pow(2, 53) - 1; - var minSafeInt = -maxSafeInt; - - function to_long(value) { - var num = parseInt(value); - // Better not to index a number if it's not safe (above 53 bits). - return !isNaN(num) && minSafeInt <= num && num <= maxSafeInt ? num : undefined; - } - - function to_ip(value) { - if (value.indexOf(":") === -1) - return to_ipv4(value); - return to_ipv6(value); - } - - var ipv4_regex = /^(\d+)\.(\d+)\.(\d+)\.(\d+)$/; - var ipv6_hex_regex = /^[0-9A-Fa-f]{1,4}$/; - - function to_ipv4(value) { - var result = ipv4_regex.exec(value); - if (result == null || result.length !== 5) return; - for (var i = 1; i < 5; i++) { - var num = strictToInt(result[i]); - if (isNaN(num) || num < 0 || num > 255) return; - } - return value; - } - - function to_ipv6(value) { - var sqEnd = value.indexOf("]"); - if (sqEnd > -1) { - if (value.charAt(0) !== "[") return; - value = value.substr(1, sqEnd - 1); - } - var zoneOffset = value.indexOf("%"); - if (zoneOffset > -1) { - value = value.substr(0, zoneOffset); - } - var parts = value.split(":"); - if (parts == null || parts.length < 3 || parts.length > 8) return; - var numEmpty = 0; - var innerEmpty = 0; - for (var i = 0; i < parts.length; i++) { - if (parts[i].length === 0) { - numEmpty++; - if (i > 0 && i + 1 < parts.length) innerEmpty++; - } else if (!parts[i].match(ipv6_hex_regex) && - // Accept an IPv6 with a valid IPv4 at the end. - ((i + 1 < parts.length) || !to_ipv4(parts[i]))) { - return; - } - } - return innerEmpty === 0 && parts.length === 8 || innerEmpty === 1 ? value : undefined; - } - - function to_double(value) { - return parseFloat(value); - } - - function to_mac(value) { - // ES doesn't have a mac datatype so it's safe to ingest whatever was captured. - return value; - } - - function to_lowercase(value) { - // to_lowercase is used against keyword fields, which can accept - // any other type (numbers, dates). - return typeof(value) === "string"? value.toLowerCase() : value; - } - - function fld_set(dst, value) { - dst[this.field] = { v: value }; - } - - function fld_append(dst, value) { - if (dst[this.field] === undefined) { - dst[this.field] = { v: [value] }; - } else { - var base = dst[this.field]; - if (base.v.indexOf(value)===-1) base.v.push(value); - } - } - - function fld_prio(dst, value) { - if (dst[this.field] === undefined) { - dst[this.field] = { v: value, prio: this.prio}; - } else if(this.prio < dst[this.field].prio) { - dst[this.field].v = value; - dst[this.field].prio = this.prio; - } - } - - var valid_ecs_outcome = { - 'failure': true, - 'success': true, - 'unknown': true - }; - - function fld_ecs_outcome(dst, value) { - value = value.toLowerCase(); - if (valid_ecs_outcome[value] === undefined) { - value = 'unknown'; - } - if (dst[this.field] === undefined) { - dst[this.field] = { v: value }; - } else if (dst[this.field].v === 'unknown') { - dst[this.field] = { v: value }; - } - } - - function map_all(evt, targets, value) { - for (var i = 0; i < targets.length; i++) { - evt.Put(targets[i], value); - } - } - - function populate_fields(evt) { - var base = evt.Get(FIELDS_OBJECT); - if (base === null) return; - alternate_datetime(evt); - if (map_ecs) { - do_populate(evt, base, ecs_mappings); - } - if (map_rsa) { - do_populate(evt, base, rsa_mappings); - } - if (keep_raw) { - evt.Put("rsa.raw", base); - } - evt.Delete(FIELDS_OBJECT); - } - - var datetime_alt_components = [ - {field: "day", fmts: [[dF]]}, - {field: "year", fmts: [[dW]]}, - {field: "month", fmts: [[dB],[dG]]}, - {field: "date", fmts: [[dW,dSkip,dG,dSkip,dF],[dW,dSkip,dB,dSkip,dF],[dW,dSkip,dR,dSkip,dF]]}, - {field: "hour", fmts: [[dN]]}, - {field: "min", fmts: [[dU]]}, - {field: "secs", fmts: [[dO]]}, - {field: "time", fmts: [[dN, dSkip, dU, dSkip, dO]]}, - ]; - - function alternate_datetime(evt) { - if (evt.Get(FIELDS_PREFIX + "event_time") != null) { - return; - } - var tzOffset = tz_offset; - if (tzOffset === "event") { - tzOffset = evt.Get("event.timezone"); - } - var container = new DateContainer(tzOffset); - for (var i=0; i} %{sport->} [%{fld20->} %{fld21}] \"%{web_method->} %{url->} %{network_service}\" %{daddr->} %{fld1->} %{username->} \"%{webpage}\" %{resultcode->} %{content_type->} %{sbytes->} \"%{web_referer}\" \"%{user_agent}\" %{action}", processor_chain([ - dup1, - dup2, - dup3, - dup4, - dup5, - dup6, - dup7, - dup8, - dup9, - dup10, - dup11, - dup12, - ])); - - var dup16 = match("MESSAGE#19:GET:01", "nwparser.payload", "%{event_time_string}.%{fld20->} %{duration->} %{saddr->} %{action}/%{resultcode->} %{sbytes->} %{web_method->} %{url->} %{username->} %{h_code}/%{daddr->} %{content_type}", processor_chain([ - dup1, - dup2, - dup3, - dup4, - dup13, - dup8, - dup9, - dup10, - dup14, - dup12, - ])); - - var dup17 = match("MESSAGE#2:POST", "nwparser.payload", "%{saddr->} %{sport->} [%{fld20->} %{fld21}] \"%{web_method->} %{url->} %{network_service}\" %{daddr->} %{fld1->} %{username->} \"%{webpage}\" %{resultcode->} %{content_type->} %{sbytes->} \"%{web_referer}\" \"%{user_agent}\" %{action}", processor_chain([ - dup1, - dup2, - dup4, - dup5, - dup6, - dup7, - dup8, - dup9, - dup10, - dup11, - dup12, - ])); - - var dup18 = match("MESSAGE#21:POST:01", "nwparser.payload", "%{event_time_string}.%{fld20->} %{duration->} %{saddr->} %{action}/%{resultcode->} %{sbytes->} %{web_method->} %{url->} %{username->} %{h_code}/%{daddr->} %{content_type}", processor_chain([ - dup1, - dup2, - dup4, - dup13, - dup8, - dup9, - dup10, - dup14, - dup12, - ])); - - var dup19 = match("MESSAGE#3:PUT", "nwparser.payload", "%{saddr->} %{sport->} [%{fld20->} %{fld21}] \"%{web_method->} %{url->} %{network_service}\" %{daddr->} %{fld1->} %{username->} \"%{webpage}\" %{resultcode->} %{content_type->} %{sbytes->} \"%{web_referer}\" \"%{user_agent}\" %{action}", processor_chain([ - dup1, - dup5, - dup6, - dup7, - dup8, - dup9, - dup10, - dup11, - dup12, - ])); - - var dup20 = match("MESSAGE#22:PUT:01", "nwparser.payload", "%{event_time_string}.%{fld20->} %{duration->} %{saddr->} %{action}/%{resultcode->} %{sbytes->} %{web_method->} %{url->} %{username->} %{h_code}/%{daddr->} %{content_type}", processor_chain([ - dup1, - dup13, - dup8, - dup9, - dup10, - dup14, - dup12, - ])); - - var hdr1 = match("HEADER#0:0001", "message", "%{hsaddr->} %{hsport->} [%{fld20->} %{fld21}] \"%{messageid->} %{p0}", processor_chain([ - setc("header_id","0001"), - call({ - dest: "nwparser.payload", - fn: STRCAT, - args: [ - field("hsaddr"), - constant(" "), - field("hsport"), - constant(" ["), - field("fld20"), - constant(" "), - field("fld21"), - constant("] \""), - field("messageid"), - constant(" "), - field("p0"), - ], - }), - ])); - - var hdr2 = match("HEADER#1:0002", "message", "%{hevent_time_string->} %{hduration->} %{hsaddr->} %{haction}/%{hresultcode->} %{hsbytes->} %{messageid->} %{p0}", processor_chain([ - setc("header_id","0002"), - call({ - dest: "nwparser.payload", - fn: STRCAT, - args: [ - field("hevent_time_string"), - constant(" "), - field("hduration"), - constant(" "), - field("hsaddr"), - constant(" "), - field("haction"), - constant("/"), - field("hresultcode"), - constant(" "), - field("hsbytes"), - constant(" "), - field("messageid"), - constant(" "), - field("p0"), - ], - }), - ])); - - var select1 = linear_select([ - hdr1, - hdr2, - ]); - - var msg1 = msg("GET", dup15); - - var part1 = match("MESSAGE#18:GET:02", "nwparser.payload", "%{saddr->} %{sport->} [%{fld20->} %{fld21}] \"%{web_method->} %{url->} %{network_service}\" %{resultcode->} %{sbytes->} \"%{web_referer}\" \"%{user_agent}\" %{action->} %{daddr->} %{content_type->} %{duration}", processor_chain([ - dup1, - dup2, - dup3, - dup4, - dup5, - dup6, - dup7, - dup8, - dup9, - dup10, - dup11, - dup12, - ])); - - var msg2 = msg("GET:02", part1); - - var msg3 = msg("GET:01", dup16); - - var select2 = linear_select([ - msg1, - msg2, - msg3, - ]); - - var msg4 = msg("HEAD", dup15); - - var msg5 = msg("HEAD:01", dup16); - - var select3 = linear_select([ - msg4, - msg5, - ]); - - var msg6 = msg("POST", dup17); - - var msg7 = msg("POST:01", dup18); - - var select4 = linear_select([ - msg6, - msg7, - ]); - - var msg8 = msg("PUT", dup19); - - var msg9 = msg("PUT:01", dup20); - - var select5 = linear_select([ - msg8, - msg9, - ]); - - var msg10 = msg("DELETE", dup19); - - var msg11 = msg("DELETE:01", dup20); - - var select6 = linear_select([ - msg10, - msg11, - ]); - - var msg12 = msg("TRACE", dup19); - - var msg13 = msg("TRACE:01", dup20); - - var select7 = linear_select([ - msg12, - msg13, - ]); - - var msg14 = msg("OPTIONS", dup19); - - var msg15 = msg("OPTIONS:01", dup20); - - var select8 = linear_select([ - msg14, - msg15, - ]); - - var msg16 = msg("CONNECT", dup17); - - var msg17 = msg("CONNECT:01", dup18); - - var select9 = linear_select([ - msg16, - msg17, - ]); - - var msg18 = msg("ICP_QUERY", dup19); - - var msg19 = msg("ICP_QUERY:01", dup20); - - var select10 = linear_select([ - msg18, - msg19, - ]); - - var msg20 = msg("PURGE", dup19); - - var msg21 = msg("PURGE:01", dup20); - - var select11 = linear_select([ - msg20, - msg21, - ]); - - var msg22 = msg("PROPFIND", dup19); - - var msg23 = msg("PROPFIND:01", dup20); - - var select12 = linear_select([ - msg22, - msg23, - ]); - - var msg24 = msg("PROPATCH", dup19); - - var msg25 = msg("PROPATCH:01", dup20); - - var select13 = linear_select([ - msg24, - msg25, - ]); - - var msg26 = msg("MKOL", dup19); - - var msg27 = msg("MKOL:01", dup20); - - var select14 = linear_select([ - msg26, - msg27, - ]); - - var msg28 = msg("COPY", dup19); - - var msg29 = msg("COPY:01", dup20); - - var select15 = linear_select([ - msg28, - msg29, - ]); - - var msg30 = msg("MOVE", dup19); - - var msg31 = msg("MOVE:01", dup20); - - var select16 = linear_select([ - msg30, - msg31, - ]); - - var msg32 = msg("LOCK", dup19); - - var msg33 = msg("LOCK:01", dup20); - - var select17 = linear_select([ - msg32, - msg33, - ]); - - var msg34 = msg("UNLOCK", dup19); - - var msg35 = msg("UNLOCK:01", dup20); - - var select18 = linear_select([ - msg34, - msg35, - ]); - - var msg36 = msg("NONE", dup19); - - var msg37 = msg("NONE:01", dup20); - - var select19 = linear_select([ - msg36, - msg37, - ]); - - var chain1 = processor_chain([ - select1, - msgid_select({ - "CONNECT": select9, - "COPY": select15, - "DELETE": select6, - "GET": select2, - "HEAD": select3, - "ICP_QUERY": select10, - "LOCK": select17, - "MKOL": select14, - "MOVE": select16, - "NONE": select19, - "OPTIONS": select8, - "POST": select4, - "PROPATCH": select13, - "PROPFIND": select12, - "PURGE": select11, - "PUT": select5, - "TRACE": select7, - "UNLOCK": select18, - }), - ]); - - var part2 = match("MESSAGE#0:GET", "nwparser.payload", "%{saddr->} %{sport->} [%{fld20->} %{fld21}] \"%{web_method->} %{url->} %{network_service}\" %{daddr->} %{fld1->} %{username->} \"%{webpage}\" %{resultcode->} %{content_type->} %{sbytes->} \"%{web_referer}\" \"%{user_agent}\" %{action}", processor_chain([ - dup1, - dup2, - dup3, - dup4, - dup5, - dup6, - dup7, - dup8, - dup9, - dup10, - dup11, - dup12, - ])); - - var part3 = match("MESSAGE#19:GET:01", "nwparser.payload", "%{event_time_string}.%{fld20->} %{duration->} %{saddr->} %{action}/%{resultcode->} %{sbytes->} %{web_method->} %{url->} %{username->} %{h_code}/%{daddr->} %{content_type}", processor_chain([ - dup1, - dup2, - dup3, - dup4, - dup13, - dup8, - dup9, - dup10, - dup14, - dup12, - ])); - - var part4 = match("MESSAGE#2:POST", "nwparser.payload", "%{saddr->} %{sport->} [%{fld20->} %{fld21}] \"%{web_method->} %{url->} %{network_service}\" %{daddr->} %{fld1->} %{username->} \"%{webpage}\" %{resultcode->} %{content_type->} %{sbytes->} \"%{web_referer}\" \"%{user_agent}\" %{action}", processor_chain([ - dup1, - dup2, - dup4, - dup5, - dup6, - dup7, - dup8, - dup9, - dup10, - dup11, - dup12, - ])); - - var part5 = match("MESSAGE#21:POST:01", "nwparser.payload", "%{event_time_string}.%{fld20->} %{duration->} %{saddr->} %{action}/%{resultcode->} %{sbytes->} %{web_method->} %{url->} %{username->} %{h_code}/%{daddr->} %{content_type}", processor_chain([ - dup1, - dup2, - dup4, - dup13, - dup8, - dup9, - dup10, - dup14, - dup12, - ])); - - var part6 = match("MESSAGE#3:PUT", "nwparser.payload", "%{saddr->} %{sport->} [%{fld20->} %{fld21}] \"%{web_method->} %{url->} %{network_service}\" %{daddr->} %{fld1->} %{username->} \"%{webpage}\" %{resultcode->} %{content_type->} %{sbytes->} \"%{web_referer}\" \"%{user_agent}\" %{action}", processor_chain([ - dup1, - dup5, - dup6, - dup7, - dup8, - dup9, - dup10, - dup11, - dup12, - ])); - - var part7 = match("MESSAGE#22:PUT:01", "nwparser.payload", "%{event_time_string}.%{fld20->} %{duration->} %{saddr->} %{action}/%{resultcode->} %{sbytes->} %{web_method->} %{url->} %{username->} %{h_code}/%{daddr->} %{content_type}", processor_chain([ - dup1, - dup13, - dup8, - dup9, - dup10, - dup14, - dup12, - ])); - -- community_id: -- registered_domain: - ignore_missing: true - ignore_failure: true - field: dns.question.name - target_field: dns.question.registered_domain - target_subdomain_field: dns.question.subdomain - target_etld_field: dns.question.top_level_domain -- registered_domain: - ignore_missing: true - ignore_failure: true - field: client.domain - target_field: client.registered_domain - target_subdomain_field: client.subdomain - target_etld_field: client.top_level_domain -- registered_domain: - ignore_missing: true - ignore_failure: true - field: server.domain - target_field: server.registered_domain - target_subdomain_field: server.subdomain - target_etld_field: server.top_level_domain -- registered_domain: - ignore_missing: true - ignore_failure: true - field: destination.domain - target_field: destination.registered_domain - target_subdomain_field: destination.subdomain - target_etld_field: destination.top_level_domain -- registered_domain: - ignore_missing: true - ignore_failure: true - field: source.domain - target_field: source.registered_domain - target_subdomain_field: source.subdomain - target_etld_field: source.top_level_domain -- registered_domain: - ignore_missing: true - ignore_failure: true - field: url.domain - target_field: url.registered_domain - target_subdomain_field: url.subdomain - target_etld_field: url.top_level_domain -- add_locale: ~ diff --git a/packages/squid/data_stream/log/agent/stream/tcp.yml.hbs b/packages/squid/data_stream/log/agent/stream/tcp.yml.hbs index 5e616afc65b..84497a2d00a 100644 --- a/packages/squid/data_stream/log/agent/stream/tcp.yml.hbs +++ b/packages/squid/data_stream/log/agent/stream/tcp.yml.hbs @@ -1,3054 +1,21 @@ -tcp: host: "{{tcp_host}}:{{tcp_port}}" tags: {{#if preserve_original_event}} - preserve_original_event {{/if}} -{{#each tags as |tag i|}} +{{#each tags as |tag|}} - {{tag}} {{/each}} -fields_under_root: true -fields: - observer: - vendor: "Squid" - product: "Proxy" - type: "Proxies" {{#contains "forwarded" tags}} publisher_pipeline.disable_host: true {{/contains}} -processors: +{{#if ssl}} +ssl: {{ssl}} +{{/if}} {{#if processors}} +processors: {{processors}} {{/if}} -- script: - lang: javascript - params: - ecs: true - rsa: {{rsa_fields}} - tz_offset: {{tz_offset}} - keep_raw: {{keep_raw_fields}} - debug: {{debug}} - source: | - // Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - // or more contributor license agreements. Licensed under the Elastic License; - // you may not use this file except in compliance with the Elastic License. - - /* jshint -W014,-W016,-W097,-W116 */ - - var processor = require("processor"); - var console = require("console"); - - var FLAG_FIELD = "log.flags"; - var FIELDS_OBJECT = "nwparser"; - var FIELDS_PREFIX = FIELDS_OBJECT + "."; - - var defaults = { - debug: false, - ecs: true, - rsa: false, - keep_raw: false, - tz_offset: "local", - strip_priority: true - }; - - var saved_flags = null; - var debug; - var map_ecs; - var map_rsa; - var keep_raw; - var device; - var tz_offset; - var strip_priority; - - // Register params from configuration. - function register(params) { - debug = params.debug !== undefined ? params.debug : defaults.debug; - map_ecs = params.ecs !== undefined ? params.ecs : defaults.ecs; - map_rsa = params.rsa !== undefined ? params.rsa : defaults.rsa; - keep_raw = params.keep_raw !== undefined ? params.keep_raw : defaults.keep_raw; - tz_offset = parse_tz_offset(params.tz_offset !== undefined? params.tz_offset : defaults.tz_offset); - strip_priority = params.strip_priority !== undefined? params.strip_priority : defaults.strip_priority; - device = new DeviceProcessor(); - } - - function parse_tz_offset(offset) { - var date; - var m; - switch(offset) { - // local uses the tz offset from the JS VM. - case "local": - date = new Date(); - // Reversing the sign as we the offset from UTC, not to UTC. - return parse_local_tz_offset(-date.getTimezoneOffset()); - // event uses the tz offset from event.timezone (add_locale processor). - case "event": - return offset; - // Otherwise a tz offset in the form "[+-][0-9]{4}" is required. - default: - m = offset.match(/^([+\-])([0-9]{2}):?([0-9]{2})?$/); - if (m === null || m.length !== 4) { - throw("bad timezone offset: '" + offset + "'. Must have the form +HH:MM"); - } - return m[1] + m[2] + ":" + (m[3]!==undefined? m[3] : "00"); - } - } - - function parse_local_tz_offset(minutes) { - var neg = minutes < 0; - minutes = Math.abs(minutes); - var min = minutes % 60; - var hours = Math.floor(minutes / 60); - var pad2digit = function(n) { - if (n < 10) { return "0" + n;} - return "" + n; - }; - return (neg? "-" : "+") + pad2digit(hours) + ":" + pad2digit(min); - } - - function process(evt) { - // Function register is only called by the processor when `params` are set - // in the processor config. - if (device === undefined) { - register(defaults); - } - return device.process(evt); - } - - function processor_chain(subprocessors) { - var builder = new processor.Chain(); - subprocessors.forEach(builder.Add); - return builder.Build().Run; - } - - function linear_select(subprocessors) { - return function (evt) { - var flags = evt.Get(FLAG_FIELD); - var i; - for (i = 0; i < subprocessors.length; i++) { - evt.Delete(FLAG_FIELD); - if (debug) console.warn("linear_select trying entry " + i); - subprocessors[i](evt); - // Dissect processor succeeded? - if (evt.Get(FLAG_FIELD) == null) break; - if (debug) console.warn("linear_select failed entry " + i); - } - if (flags !== null) { - evt.Put(FLAG_FIELD, flags); - } - if (debug) { - if (i < subprocessors.length) { - console.warn("linear_select matched entry " + i); - } else { - console.warn("linear_select didn't match"); - } - } - }; - } - - function conditional(opt) { - return function(evt) { - if (opt.if(evt)) { - opt.then(evt); - } else if (opt.else) { - opt.else(evt); - } - }; - } - - var strip_syslog_priority = (function() { - var isEnabled = function() { return strip_priority === true; }; - var fetchPRI = field("_pri"); - var fetchPayload = field("payload"); - var removePayload = remove(["payload"]); - var cleanup = remove(["_pri", "payload"]); - var onMatch = function(evt) { - var pri, priStr = fetchPRI(evt); - if (priStr != null - && 0 < priStr.length && priStr.length < 4 - && !isNaN((pri = Number(priStr))) - && 0 <= pri && pri < 192) { - var severity = pri & 7, - facility = pri >> 3; - setc("_severity", "" + severity)(evt); - setc("_facility", "" + facility)(evt); - // Replace message with priority stripped. - evt.Put("message", fetchPayload(evt)); - removePayload(evt); - } else { - // not a valid syslog PRI, cleanup. - cleanup(evt); - } - }; - return conditional({ - if: isEnabled, - then: cleanup_flags(match( - "STRIP_PRI", - "message", - "<%{_pri}>%{payload}", - onMatch - )) - }); - })(); - - function match(id, src, pattern, on_success) { - var dissect = new processor.Dissect({ - field: src, - tokenizer: pattern, - target_prefix: FIELDS_OBJECT, - ignore_failure: true, - overwrite_keys: true, - trim_values: "right" - }); - return function (evt) { - var msg = evt.Get(src); - dissect.Run(evt); - var failed = evt.Get(FLAG_FIELD) != null; - if (debug) { - if (failed) { - console.debug("dissect fail: " + id + " field:" + src); - } else { - console.debug("dissect OK: " + id + " field:" + src); - } - console.debug(" expr: <<" + pattern + ">>"); - console.debug(" input: <<" + msg + ">>"); - } - if (on_success != null && !failed) { - on_success(evt); - } - }; - } - - function match_copy(id, src, dst, on_success) { - dst = FIELDS_PREFIX + dst; - if (dst === FIELDS_PREFIX || dst === src) { - return function (evt) { - if (debug) { - console.debug("noop OK: " + id + " field:" + src); - console.debug(" input: <<" + evt.Get(src) + ">>"); - } - if (on_success != null) on_success(evt); - } - } - return function (evt) { - var msg = evt.Get(src); - evt.Put(dst, msg); - if (debug) { - console.debug("copy OK: " + id + " field:" + src); - console.debug(" target: '" + dst + "'"); - console.debug(" input: <<" + msg + ">>"); - } - if (on_success != null) on_success(evt); - } - } - - function cleanup_flags(processor) { - return function(evt) { - processor(evt); - evt.Delete(FLAG_FIELD); - }; - } - - function all_match(opts) { - return function (evt) { - var i; - for (i = 0; i < opts.processors.length; i++) { - evt.Delete(FLAG_FIELD); - opts.processors[i](evt); - // Dissect processor succeeded? - if (evt.Get(FLAG_FIELD) != null) { - if (debug) console.warn("all_match failure at " + i); - if (opts.on_failure != null) opts.on_failure(evt); - return; - } - if (debug) console.warn("all_match success at " + i); - } - if (opts.on_success != null) opts.on_success(evt); - }; - } - - function msgid_select(mapping) { - return function (evt) { - var msgid = evt.Get(FIELDS_PREFIX + "messageid"); - if (msgid == null) { - if (debug) console.warn("msgid_select: no messageid captured!"); - return; - } - var next = mapping[msgid]; - if (next === undefined) { - if (debug) console.warn("msgid_select: no mapping for messageid:" + msgid); - return; - } - if (debug) console.info("msgid_select: matched key=" + msgid); - return next(evt); - }; - } - - function msg(msg_id, match) { - return function (evt) { - match(evt); - if (evt.Get(FLAG_FIELD) == null) { - evt.Put(FIELDS_PREFIX + "msg_id1", msg_id); - } - }; - } - - var start; - - function save_flags(evt) { - saved_flags = evt.Get(FLAG_FIELD); - evt.Put("event.original", evt.Get("message")); - } - - function restore_flags(evt) { - if (saved_flags !== null) { - evt.Put(FLAG_FIELD, saved_flags); - } - evt.Delete("message"); - } - - function constant(value) { - return function (evt) { - return value; - }; - } - - function field(name) { - var fullname = FIELDS_PREFIX + name; - return function (evt) { - return evt.Get(fullname); - }; - } - - function STRCAT(args) { - var s = ""; - var i; - for (i = 0; i < args.length; i++) { - s += args[i]; - } - return s; - } - - // TODO: Implement - function DIRCHK(args) { - unimplemented("DIRCHK"); - } - - function strictToInt(str) { - return str * 1; - } - - function CALC(args) { - if (args.length !== 3) { - console.warn("skipped call to CALC with " + args.length + " arguments."); - return; - } - var a = strictToInt(args[0]); - var b = strictToInt(args[2]); - if (isNaN(a) || isNaN(b)) { - console.warn("failed evaluating CALC arguments a='" + args[0] + "' b='" + args[2] + "'."); - return; - } - var result; - switch (args[1]) { - case "+": - result = a + b; - break; - case "-": - result = a - b; - break; - case "*": - result = a * b; - break; - default: - // Only * and + seen in the parsers. - console.warn("unknown CALC operation '" + args[1] + "'."); - return; - } - // Always return a string - return result !== undefined ? "" + result : result; - } - - var quoteChars = "\"'`"; - function RMQ(args) { - if(args.length !== 1) { - console.warn("RMQ: only one argument expected"); - return; - } - var value = args[0].trim(); - var n = value.length; - var char; - return n > 1 - && (char=value.charAt(0)) === value.charAt(n-1) - && quoteChars.indexOf(char) !== -1? - value.substr(1, n-2) - : value; - } - - function call(opts) { - var args = new Array(opts.args.length); - return function (evt) { - for (var i = 0; i < opts.args.length; i++) - if ((args[i] = opts.args[i](evt)) == null) return; - var result = opts.fn(args); - if (result != null) { - evt.Put(opts.dest, result); - } - }; - } - - function nop(evt) { - } - - function appendErrorMsg(evt, msg) { - var value = evt.Get("error.message"); - if (value == null) { - value = [msg]; - } else if (msg instanceof Array) { - value.push(msg); - } else { - value = [value, msg]; - } - evt.Put("error.message", value); - } - - function unimplemented(name) { - appendErrorMsg("unimplemented feature: " + name); - } - - function lookup(opts) { - return function (evt) { - var key = opts.key(evt); - if (key == null) return; - var value = opts.map.keyvaluepairs[key]; - if (value === undefined) { - value = opts.map.default; - } - if (value !== undefined) { - evt.Put(opts.dest, value(evt)); - } - }; - } - - function set(fields) { - return new processor.AddFields({ - target: FIELDS_OBJECT, - fields: fields, - }); - } - - function setf(dst, src) { - return function (evt) { - var val = evt.Get(FIELDS_PREFIX + src); - if (val != null) evt.Put(FIELDS_PREFIX + dst, val); - }; - } - - function setc(dst, value) { - return function (evt) { - evt.Put(FIELDS_PREFIX + dst, value); - }; - } - - function set_field(opts) { - return function (evt) { - var val = opts.value(evt); - if (val != null) evt.Put(opts.dest, val); - }; - } - - function dump(label) { - return function (evt) { - console.log("Dump of event at " + label + ": " + JSON.stringify(evt, null, "\t")); - }; - } - - function date_time_join_args(evt, arglist) { - var str = ""; - for (var i = 0; i < arglist.length; i++) { - var fname = FIELDS_PREFIX + arglist[i]; - var val = evt.Get(fname); - if (val != null) { - if (str !== "") str += " "; - str += val; - } else { - if (debug) console.warn("in date_time: input arg " + fname + " is not set"); - } - } - return str; - } - - function to2Digit(num) { - return num? (num < 10? "0" + num : num) : "00"; - } - - // Make two-digit dates 00-69 interpreted as 2000-2069 - // and dates 70-99 translated to 1970-1999. - var twoDigitYearEpoch = 70; - var twoDigitYearCentury = 2000; - - // This is to accept dates up to 2 days in the future, only used when - // no year is specified in a date. 2 days should be enough to account for - // time differences between systems and different tz offsets. - var maxFutureDelta = 2*24*60*60*1000; - - // DateContainer stores date fields and then converts those fields into - // a Date. Necessary because building a Date using its set() methods gives - // different results depending on the order of components. - function DateContainer(tzOffset) { - this.offset = tzOffset === undefined? "Z" : tzOffset; - } - - DateContainer.prototype = { - setYear: function(v) {this.year = v;}, - setMonth: function(v) {this.month = v;}, - setDay: function(v) {this.day = v;}, - setHours: function(v) {this.hours = v;}, - setMinutes: function(v) {this.minutes = v;}, - setSeconds: function(v) {this.seconds = v;}, - - setUNIX: function(v) {this.unix = v;}, - - set2DigitYear: function(v) { - this.year = v < twoDigitYearEpoch? twoDigitYearCentury + v : twoDigitYearCentury + v - 100; - }, - - toDate: function() { - if (this.unix !== undefined) { - return new Date(this.unix * 1000); - } - if (this.day === undefined || this.month === undefined) { - // Can't make a date from this. - return undefined; - } - if (this.year === undefined) { - // A date without a year. Set current year, or previous year - // if date would be in the future. - var now = new Date(); - this.year = now.getFullYear(); - var date = this.toDate(); - if (date.getTime() - now.getTime() > maxFutureDelta) { - date.setFullYear(now.getFullYear() - 1); - } - return date; - } - var MM = to2Digit(this.month); - var DD = to2Digit(this.day); - var hh = to2Digit(this.hours); - var mm = to2Digit(this.minutes); - var ss = to2Digit(this.seconds); - return new Date(this.year + "-" + MM + "-" + DD + "T" + hh + ":" + mm + ":" + ss + this.offset); - } - } - - function date_time_try_pattern(fmt, str, tzOffset) { - var date = new DateContainer(tzOffset); - var pos = date_time_try_pattern_at_pos(fmt, str, 0, date); - return pos !== undefined? date.toDate() : undefined; - } - - function date_time_try_pattern_at_pos(fmt, str, pos, date) { - var len = str.length; - for (var proc = 0; pos !== undefined && pos < len && proc < fmt.length; proc++) { - pos = fmt[proc](str, pos, date); - } - return pos; - } - - function date_time(opts) { - return function (evt) { - var tzOffset = opts.tz || tz_offset; - if (tzOffset === "event") { - tzOffset = evt.Get("event.timezone"); - } - var str = date_time_join_args(evt, opts.args); - for (var i = 0; i < opts.fmts.length; i++) { - var date = date_time_try_pattern(opts.fmts[i], str, tzOffset); - if (date !== undefined) { - evt.Put(FIELDS_PREFIX + opts.dest, date); - return; - } - } - if (debug) console.warn("in date_time: id=" + opts.id + " FAILED: " + str); - }; - } - - var uA = 60 * 60 * 24; - var uD = 60 * 60 * 24; - var uF = 60 * 60; - var uG = 60 * 60 * 24 * 30; - var uH = 60 * 60; - var uI = 60 * 60; - var uJ = 60 * 60 * 24; - var uM = 60 * 60 * 24 * 30; - var uN = 60 * 60; - var uO = 1; - var uS = 1; - var uT = 60; - var uU = 60; - var uc = dc; - - function duration(opts) { - return function(evt) { - var str = date_time_join_args(evt, opts.args); - for (var i = 0; i < opts.fmts.length; i++) { - var seconds = duration_try_pattern(opts.fmts[i], str); - if (seconds !== undefined) { - evt.Put(FIELDS_PREFIX + opts.dest, seconds); - return; - } - } - if (debug) console.warn("in duration: id=" + opts.id + " (s) FAILED: " + str); - }; - } - - function duration_try_pattern(fmt, str) { - var secs = 0; - var pos = 0; - for (var i=0; i [ month_id , how many chars to skip if month in long form ] - "Jan": [0, 4], - "Feb": [1, 5], - "Mar": [2, 2], - "Apr": [3, 2], - "May": [4, 0], - "Jun": [5, 1], - "Jul": [6, 1], - "Aug": [7, 3], - "Sep": [8, 6], - "Oct": [9, 4], - "Nov": [10, 5], - "Dec": [11, 4], - "jan": [0, 4], - "feb": [1, 5], - "mar": [2, 2], - "apr": [3, 2], - "may": [4, 0], - "jun": [5, 1], - "jul": [6, 1], - "aug": [7, 3], - "sep": [8, 6], - "oct": [9, 4], - "nov": [10, 5], - "dec": [11, 4], - }; - - // var dC = undefined; - var dR = dateMonthName(true); - var dB = dateMonthName(false); - var dM = dateFixedWidthNumber("M", 2, 1, 12, DateContainer.prototype.setMonth); - var dG = dateVariableWidthNumber("G", 1, 12, DateContainer.prototype.setMonth); - var dD = dateFixedWidthNumber("D", 2, 1, 31, DateContainer.prototype.setDay); - var dF = dateVariableWidthNumber("F", 1, 31, DateContainer.prototype.setDay); - var dH = dateFixedWidthNumber("H", 2, 0, 24, DateContainer.prototype.setHours); - var dI = dateVariableWidthNumber("I", 0, 24, DateContainer.prototype.setHours); // Accept hours >12 - var dN = dateVariableWidthNumber("N", 0, 24, DateContainer.prototype.setHours); - var dT = dateFixedWidthNumber("T", 2, 0, 59, DateContainer.prototype.setMinutes); - var dU = dateVariableWidthNumber("U", 0, 59, DateContainer.prototype.setMinutes); - var dP = parseAMPM; // AM|PM - var dQ = parseAMPM; // A.M.|P.M - var dS = dateFixedWidthNumber("S", 2, 0, 60, DateContainer.prototype.setSeconds); - var dO = dateVariableWidthNumber("O", 0, 60, DateContainer.prototype.setSeconds); - var dY = dateFixedWidthNumber("Y", 2, 0, 99, DateContainer.prototype.set2DigitYear); - var dW = dateFixedWidthNumber("W", 4, 1000, 9999, DateContainer.prototype.setYear); - var dZ = parseHMS; - var dX = dateVariableWidthNumber("X", 0, 0x10000000000, DateContainer.prototype.setUNIX); - - // parseAMPM parses "A.M", "AM", "P.M", "PM" from logs. - // Only works if this modifier appears after the hour has been read from logs - // which is always the case in the 300 devices. - function parseAMPM(str, pos, date) { - var n = str.length; - var start = skipws(str, pos); - if (start + 2 > n) return; - var head = str.substr(start, 2).toUpperCase(); - var isPM = false; - var skip = false; - switch (head) { - case "A.": - skip = true; - /* falls through */ - case "AM": - break; - case "P.": - skip = true; - /* falls through */ - case "PM": - isPM = true; - break; - default: - if (debug) console.warn("can't parse pos " + start + " as AM/PM: " + str + "(head:" + head + ")"); - return; - } - pos = start + 2; - if (skip) { - if (pos+2 > n || str.substr(pos, 2).toUpperCase() !== "M.") { - if (debug) console.warn("can't parse pos " + start + " as AM/PM: " + str + "(tail)"); - return; - } - pos += 2; - } - var hh = date.hours; - if (isPM) { - // Accept existing hour in 24h format. - if (hh < 12) hh += 12; - } else { - if (hh === 12) hh = 0; - } - date.setHours(hh); - return pos; - } - - function parseHMS(str, pos, date) { - return date_time_try_pattern_at_pos([dN, dc(":"), dU, dc(":"), dO], str, pos, date); - } - - function skipws(str, pos) { - for ( var n = str.length; - pos < n && str.charAt(pos) === " "; - pos++) - ; - return pos; - } - - function skipdigits(str, pos) { - var c; - for (var n = str.length; - pos < n && (c = str.charAt(pos)) >= "0" && c <= "9"; - pos++) - ; - return pos; - } - - function dSkip(str, pos, date) { - var chr; - for (;pos < str.length && (chr=str[pos])<'0' || chr>'9'; pos++) {} - return pos < str.length? pos : undefined; - } - - function dateVariableWidthNumber(fmtChar, min, max, setter) { - return function (str, pos, date) { - var start = skipws(str, pos); - pos = skipdigits(str, start); - var s = str.substr(start, pos - start); - var value = parseInt(s, 10); - if (value >= min && value <= max) { - setter.call(date, value); - return pos; - } - return; - }; - } - - function dateFixedWidthNumber(fmtChar, width, min, max, setter) { - return function (str, pos, date) { - pos = skipws(str, pos); - var n = str.length; - if (pos + width > n) return; - var s = str.substr(pos, width); - var value = parseInt(s, 10); - if (value >= min && value <= max) { - setter.call(date, value); - return pos + width; - } - return; - }; - } - - // Short month name (Jan..Dec). - function dateMonthName(long) { - return function (str, pos, date) { - pos = skipws(str, pos); - var n = str.length; - if (pos + 3 > n) return; - var mon = str.substr(pos, 3); - var idx = shortMonths[mon]; - if (idx === undefined) { - idx = shortMonths[mon.toLowerCase()]; - } - if (idx === undefined) { - //console.warn("parsing date_time: '" + mon + "' is not a valid short month (%B)"); - return; - } - date.setMonth(idx[0]+1); - return pos + 3 + (long ? idx[1] : 0); - }; - } - - function url_wrapper(dst, src, fn) { - return function(evt) { - var value = evt.Get(FIELDS_PREFIX + src), result; - if (value != null && (result = fn(value))!== undefined) { - evt.Put(FIELDS_PREFIX + dst, result); - } else { - console.debug(fn.name + " failed for '" + value + "'"); - } - }; - } - - // The following regular expression for parsing URLs from: - // https://github.com/wizard04wsu/URI_Parsing - // - // The MIT License (MIT) - // - // Copyright (c) 2014 Andrew Harrison - // - // 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. - var uriRegExp = /^([a-z][a-z0-9+.\-]*):(?:\/\/((?:(?=((?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9A-F]{2})*))(\3)@)?(?=(\[[0-9A-F:.]{2,}\]|(?:[a-z0-9\-._~!$&'()*+,;=]|%[0-9A-F]{2})*))\5(?::(?=(\d*))\6)?)(\/(?=((?:[a-z0-9-._~!$&'()*+,;=:@\/]|%[0-9A-F]{2})*))\8)?|(\/?(?!\/)(?=((?:[a-z0-9-._~!$&'()*+,;=:@\/]|%[0-9A-F]{2})*))\10)?)(?:\?(?=((?:[a-z0-9-._~!$&'()*+,;=:@\/?]|%[0-9A-F]{2})*))\11)?(?:#(?=((?:[a-z0-9-._~!$&'()*+,;=:@\/?]|%[0-9A-F]{2})*))\12)?$/i; - - var uriScheme = 1; - var uriDomain = 5; - var uriPort = 6; - var uriPath = 7; - var uriPathAlt = 9; - var uriQuery = 11; - - function domain(dst, src) { - return url_wrapper(dst, src, extract_domain); - } - - function split_url(value) { - var m = value.match(uriRegExp); - if (m && m[uriDomain]) return m; - // Support input in the form "www.example.net/path", but not "/path". - m = ("null://" + value).match(uriRegExp); - if (m) return m; - } - - function extract_domain(value) { - var m = split_url(value); - if (m && m[uriDomain]) return m[uriDomain]; - } - - var extFromPage = /\.[^.]+$/; - function extract_ext(value) { - var page = extract_page(value); - if (page) { - var m = page.match(extFromPage); - if (m) return m[0]; - } - } - - function ext(dst, src) { - return url_wrapper(dst, src, extract_ext); - } - - function fqdn(dst, src) { - // TODO: fqdn and domain(eTLD+1) are currently the same. - return domain(dst, src); - } - - var pageFromPathRegExp = /\/([^\/]+)$/; - var pageName = 1; - - function extract_page(value) { - value = extract_path(value); - if (!value) return undefined; - var m = value.match(pageFromPathRegExp); - if (m) return m[pageName]; - } - - function page(dst, src) { - return url_wrapper(dst, src, extract_page); - } - - function extract_path(value) { - var m = split_url(value); - return m? m[uriPath] || m[uriPathAlt] : undefined; - } - - function path(dst, src) { - return url_wrapper(dst, src, extract_path); - } - - // Map common schemes to their default port. - // port has to be a string (will be converted at a later stage). - var schemePort = { - "ftp": "21", - "ssh": "22", - "http": "80", - "https": "443", - }; - - function extract_port(value) { - var m = split_url(value); - if (!m) return undefined; - if (m[uriPort]) return m[uriPort]; - if (m[uriScheme]) { - return schemePort[m[uriScheme]]; - } - } - - function port(dst, src) { - return url_wrapper(dst, src, extract_port); - } - - function extract_query(value) { - var m = split_url(value); - if (m && m[uriQuery]) return m[uriQuery]; - } - - function query(dst, src) { - return url_wrapper(dst, src, extract_query); - } - - function extract_root(value) { - var m = split_url(value); - if (m && m[uriDomain] && m[uriDomain]) { - var scheme = m[uriScheme] && m[uriScheme] !== "null"? - m[uriScheme] + "://" : ""; - var port = m[uriPort]? ":" + m[uriPort] : ""; - return scheme + m[uriDomain] + port; - } - } - - function root(dst, src) { - return url_wrapper(dst, src, extract_root); - } - - function tagval(id, src, cfg, keys, on_success) { - var fail = function(evt) { - evt.Put(FLAG_FIELD, "tagval_parsing_error"); - } - if (cfg.kv_separator.length !== 1) { - throw("Invalid TAGVALMAP ValueDelimiter (must have 1 character)"); - } - var quotes_len = cfg.open_quote.length > 0 && cfg.close_quote.length > 0? - cfg.open_quote.length + cfg.close_quote.length : 0; - var kv_regex = new RegExp('^([^' + cfg.kv_separator + ']*)*' + cfg.kv_separator + ' *(.*)*$'); - return function(evt) { - var msg = evt.Get(src); - if (msg === undefined) { - console.warn("tagval: input field is missing"); - return fail(evt); - } - var pairs = msg.split(cfg.pair_separator); - var i; - var success = false; - var prev = ""; - for (i=0; i 0 && - value.length >= cfg.open_quote.length + cfg.close_quote.length && - value.substr(0, cfg.open_quote.length) === cfg.open_quote && - value.substr(value.length - cfg.close_quote.length) === cfg.close_quote) { - value = value.substr(cfg.open_quote.length, value.length - quotes_len); - } - evt.Put(FIELDS_PREFIX + field, value); - success = true; - } - if (!success) { - return fail(evt); - } - if (on_success != null) { - on_success(evt); - } - } - } - - var ecs_mappings = { - "_facility": {convert: to_long, to:[{field: "log.syslog.facility.code", setter: fld_set}]}, - "_pri": {convert: to_long, to:[{field: "log.syslog.priority", setter: fld_set}]}, - "_severity": {convert: to_long, to:[{field: "log.syslog.severity.code", setter: fld_set}]}, - "action": {to:[{field: "event.action", setter: fld_prio, prio: 0}]}, - "administrator": {to:[{field: "related.user", setter: fld_append},{field: "user.name", setter: fld_prio, prio: 4}]}, - "alias.ip": {convert: to_ip, to:[{field: "host.ip", setter: fld_prio, prio: 3},{field: "related.ip", setter: fld_append}]}, - "alias.ipv6": {convert: to_ip, to:[{field: "host.ip", setter: fld_prio, prio: 4},{field: "related.ip", setter: fld_append}]}, - "alias.mac": {convert: to_mac, to:[{field: "host.mac", setter: fld_prio, prio: 1}]}, - "application": {to:[{field: "network.application", setter: fld_set}]}, - "bytes": {convert: to_long, to:[{field: "network.bytes", setter: fld_set}]}, - "c_domain": {to:[{field: "source.domain", setter: fld_prio, prio: 1}]}, - "c_logon_id": {to:[{field: "user.id", setter: fld_prio, prio: 2}]}, - "c_user_name": {to:[{field: "related.user", setter: fld_append},{field: "user.name", setter: fld_prio, prio: 8}]}, - "c_username": {to:[{field: "related.user", setter: fld_append},{field: "user.name", setter: fld_prio, prio: 2}]}, - "cctld": {to:[{field: "url.top_level_domain", setter: fld_prio, prio: 1}]}, - "child_pid": {convert: to_long, to:[{field: "process.pid", setter: fld_prio, prio: 1}]}, - "child_pid_val": {to:[{field: "process.title", setter: fld_set}]}, - "child_process": {to:[{field: "process.name", setter: fld_prio, prio: 1}]}, - "city.dst": {to:[{field: "destination.geo.city_name", setter: fld_set}]}, - "city.src": {to:[{field: "source.geo.city_name", setter: fld_set}]}, - "daddr": {convert: to_ip, to:[{field: "destination.ip", setter: fld_set},{field: "related.ip", setter: fld_append}]}, - "daddr_v6": {convert: to_ip, to:[{field: "destination.ip", setter: fld_set},{field: "related.ip", setter: fld_append}]}, - "ddomain": {to:[{field: "destination.domain", setter: fld_prio, prio: 0}]}, - "devicehostip": {convert: to_ip, to:[{field: "host.ip", setter: fld_prio, prio: 2},{field: "related.ip", setter: fld_append}]}, - "devicehostmac": {convert: to_mac, to:[{field: "host.mac", setter: fld_prio, prio: 0}]}, - "dhost": {to:[{field: "destination.address", setter: fld_set},{field: "related.hosts", setter: fld_append}]}, - "dinterface": {to:[{field: "observer.egress.interface.name", setter: fld_set}]}, - "direction": {to:[{field: "network.direction", setter: fld_set}]}, - "directory": {to:[{field: "file.directory", setter: fld_set}]}, - "dmacaddr": {convert: to_mac, to:[{field: "destination.mac", setter: fld_set}]}, - "dns.responsetype": {to:[{field: "dns.answers.type", setter: fld_set}]}, - "dns.resptext": {to:[{field: "dns.answers.name", setter: fld_set}]}, - "dns_querytype": {to:[{field: "dns.question.type", setter: fld_set}]}, - "domain": {to:[{field: "server.domain", setter: fld_prio, prio: 0},{field: "related.hosts", setter: fld_append}]}, - "domain.dst": {to:[{field: "destination.domain", setter: fld_prio, prio: 1}]}, - "domain.src": {to:[{field: "source.domain", setter: fld_prio, prio: 2}]}, - "domain_id": {to:[{field: "user.domain", setter: fld_set}]}, - "domainname": {to:[{field: "server.domain", setter: fld_prio, prio: 1}]}, - "dport": {convert: to_long, to:[{field: "destination.port", setter: fld_prio, prio: 0}]}, - "dtransaddr": {convert: to_ip, to:[{field: "destination.nat.ip", setter: fld_prio, prio: 0},{field: "related.ip", setter: fld_append}]}, - "dtransport": {convert: to_long, to:[{field: "destination.nat.port", setter: fld_prio, prio: 0}]}, - "ec_outcome": {to:[{field: "event.outcome", setter: fld_ecs_outcome}]}, - "event_description": {to:[{field: "message", setter: fld_prio, prio: 0}]}, - "event_source": {to:[{field: "related.hosts", setter: fld_append}]}, - "event_time": {convert: to_date, to:[{field: "@timestamp", setter: fld_set}]}, - "event_type": {to:[{field: "event.action", setter: fld_prio, prio: 1}]}, - "extension": {to:[{field: "file.extension", setter: fld_prio, prio: 1}]}, - "file.attributes": {to:[{field: "file.attributes", setter: fld_set}]}, - "filename": {to:[{field: "file.name", setter: fld_prio, prio: 0}]}, - "filename_size": {convert: to_long, to:[{field: "file.size", setter: fld_set}]}, - "filepath": {to:[{field: "file.path", setter: fld_set}]}, - "filetype": {to:[{field: "file.type", setter: fld_set}]}, - "fqdn": {to:[{field: "related.hosts", setter: fld_append}]}, - "group": {to:[{field: "group.name", setter: fld_set}]}, - "groupid": {to:[{field: "group.id", setter: fld_set}]}, - "host": {to:[{field: "host.name", setter: fld_prio, prio: 1},{field: "related.hosts", setter: fld_append}]}, - "hostip": {convert: to_ip, to:[{field: "host.ip", setter: fld_prio, prio: 0},{field: "related.ip", setter: fld_append}]}, - "hostip_v6": {convert: to_ip, to:[{field: "host.ip", setter: fld_prio, prio: 1},{field: "related.ip", setter: fld_append}]}, - "hostname": {to:[{field: "host.name", setter: fld_prio, prio: 0}]}, - "id": {to:[{field: "event.code", setter: fld_prio, prio: 0}]}, - "interface": {to:[{field: "network.interface.name", setter: fld_set}]}, - "ip.orig": {convert: to_ip, to:[{field: "network.forwarded_ip", setter: fld_prio, prio: 0},{field: "related.ip", setter: fld_append}]}, - "ip.trans.dst": {convert: to_ip, to:[{field: "destination.nat.ip", setter: fld_prio, prio: 1},{field: "related.ip", setter: fld_append}]}, - "ip.trans.src": {convert: to_ip, to:[{field: "source.nat.ip", setter: fld_prio, prio: 1},{field: "related.ip", setter: fld_append}]}, - "ipv6.orig": {convert: to_ip, to:[{field: "network.forwarded_ip", setter: fld_prio, prio: 2},{field: "related.ip", setter: fld_append}]}, - "latdec_dst": {convert: to_double, to:[{field: "destination.geo.location.lat", setter: fld_set}]}, - "latdec_src": {convert: to_double, to:[{field: "source.geo.location.lat", setter: fld_set}]}, - "location_city": {to:[{field: "geo.city_name", setter: fld_set}]}, - "location_country": {to:[{field: "geo.country_name", setter: fld_set}]}, - "location_desc": {to:[{field: "geo.name", setter: fld_set}]}, - "location_dst": {to:[{field: "destination.geo.country_name", setter: fld_set}]}, - "location_src": {to:[{field: "source.geo.country_name", setter: fld_set}]}, - "location_state": {to:[{field: "geo.region_name", setter: fld_set}]}, - "logon_id": {to:[{field: "related.user", setter: fld_append},{field: "user.name", setter: fld_prio, prio: 5}]}, - "longdec_dst": {convert: to_double, to:[{field: "destination.geo.location.lon", setter: fld_set}]}, - "longdec_src": {convert: to_double, to:[{field: "source.geo.location.lon", setter: fld_set}]}, - "macaddr": {convert: to_mac, to:[{field: "host.mac", setter: fld_prio, prio: 2}]}, - "messageid": {to:[{field: "event.code", setter: fld_prio, prio: 1}]}, - "method": {to:[{field: "http.request.method", setter: fld_set}]}, - "msg": {to:[{field: "message", setter: fld_set}]}, - "orig_ip": {convert: to_ip, to:[{field: "network.forwarded_ip", setter: fld_prio, prio: 1},{field: "related.ip", setter: fld_append}]}, - "owner": {to:[{field: "related.user", setter: fld_append},{field: "user.name", setter: fld_prio, prio: 6}]}, - "packets": {convert: to_long, to:[{field: "network.packets", setter: fld_set}]}, - "parent_pid": {convert: to_long, to:[{field: "process.parent.pid", setter: fld_prio, prio: 0}]}, - "parent_pid_val": {to:[{field: "process.parent.title", setter: fld_set}]}, - "parent_process": {to:[{field: "process.parent.name", setter: fld_prio, prio: 0}]}, - "patient_fullname": {to:[{field: "user.full_name", setter: fld_prio, prio: 1}]}, - "port.dst": {convert: to_long, to:[{field: "destination.port", setter: fld_prio, prio: 1}]}, - "port.src": {convert: to_long, to:[{field: "source.port", setter: fld_prio, prio: 1}]}, - "port.trans.dst": {convert: to_long, to:[{field: "destination.nat.port", setter: fld_prio, prio: 1}]}, - "port.trans.src": {convert: to_long, to:[{field: "source.nat.port", setter: fld_prio, prio: 1}]}, - "process": {to:[{field: "process.name", setter: fld_prio, prio: 0}]}, - "process_id": {convert: to_long, to:[{field: "process.pid", setter: fld_prio, prio: 0}]}, - "process_id_src": {convert: to_long, to:[{field: "process.parent.pid", setter: fld_prio, prio: 1}]}, - "process_src": {to:[{field: "process.parent.name", setter: fld_prio, prio: 1}]}, - "product": {to:[{field: "observer.product", setter: fld_set}]}, - "protocol": {to:[{field: "network.protocol", setter: fld_set}]}, - "query": {to:[{field: "url.query", setter: fld_prio, prio: 2}]}, - "rbytes": {convert: to_long, to:[{field: "destination.bytes", setter: fld_set}]}, - "referer": {to:[{field: "http.request.referrer", setter: fld_prio, prio: 1}]}, - "rulename": {to:[{field: "rule.name", setter: fld_set}]}, - "saddr": {convert: to_ip, to:[{field: "source.ip", setter: fld_set},{field: "related.ip", setter: fld_append}]}, - "saddr_v6": {convert: to_ip, to:[{field: "source.ip", setter: fld_set},{field: "related.ip", setter: fld_append}]}, - "sbytes": {convert: to_long, to:[{field: "source.bytes", setter: fld_set}]}, - "sdomain": {to:[{field: "source.domain", setter: fld_prio, prio: 0}]}, - "service": {to:[{field: "service.name", setter: fld_prio, prio: 1}]}, - "service.name": {to:[{field: "service.name", setter: fld_prio, prio: 0}]}, - "service_account": {to:[{field: "related.user", setter: fld_append},{field: "user.name", setter: fld_prio, prio: 7}]}, - "severity": {to:[{field: "log.level", setter: fld_set}]}, - "shost": {to:[{field: "host.hostname", setter: fld_set},{field: "source.address", setter: fld_set},{field: "related.hosts", setter: fld_append}]}, - "sinterface": {to:[{field: "observer.ingress.interface.name", setter: fld_set}]}, - "sld": {to:[{field: "url.registered_domain", setter: fld_set}]}, - "smacaddr": {convert: to_mac, to:[{field: "source.mac", setter: fld_set}]}, - "sport": {convert: to_long, to:[{field: "source.port", setter: fld_prio, prio: 0}]}, - "stransaddr": {convert: to_ip, to:[{field: "source.nat.ip", setter: fld_prio, prio: 0},{field: "related.ip", setter: fld_append}]}, - "stransport": {convert: to_long, to:[{field: "source.nat.port", setter: fld_prio, prio: 0}]}, - "tcp.dstport": {convert: to_long, to:[{field: "destination.port", setter: fld_prio, prio: 2}]}, - "tcp.srcport": {convert: to_long, to:[{field: "source.port", setter: fld_prio, prio: 2}]}, - "timezone": {to:[{field: "event.timezone", setter: fld_set}]}, - "tld": {to:[{field: "url.top_level_domain", setter: fld_prio, prio: 0}]}, - "udp.dstport": {convert: to_long, to:[{field: "destination.port", setter: fld_prio, prio: 3}]}, - "udp.srcport": {convert: to_long, to:[{field: "source.port", setter: fld_prio, prio: 3}]}, - "uid": {to:[{field: "related.user", setter: fld_append},{field: "user.name", setter: fld_prio, prio: 3}]}, - "url": {to:[{field: "url.original", setter: fld_prio, prio: 1}]}, - "url_raw": {to:[{field: "url.original", setter: fld_prio, prio: 0}]}, - "urldomain": {to:[{field: "url.domain", setter: fld_prio, prio: 0}]}, - "urlquery": {to:[{field: "url.query", setter: fld_prio, prio: 0}]}, - "user": {to:[{field: "related.user", setter: fld_append},{field: "user.name", setter: fld_prio, prio: 0}]}, - "user.id": {to:[{field: "user.id", setter: fld_prio, prio: 1}]}, - "user_agent": {to:[{field: "user_agent.original", setter: fld_set}]}, - "user_fullname": {to:[{field: "user.full_name", setter: fld_prio, prio: 0}]}, - "user_id": {to:[{field: "user.id", setter: fld_prio, prio: 0}]}, - "username": {to:[{field: "related.user", setter: fld_append},{field: "user.name", setter: fld_prio, prio: 1}]}, - "version": {to:[{field: "observer.version", setter: fld_set}]}, - "web_domain": {to:[{field: "url.domain", setter: fld_prio, prio: 1},{field: "related.hosts", setter: fld_append}]}, - "web_extension": {to:[{field: "file.extension", setter: fld_prio, prio: 0}]}, - "web_query": {to:[{field: "url.query", setter: fld_prio, prio: 1}]}, - "web_ref_domain": {to:[{field: "related.hosts", setter: fld_append}]}, - "web_referer": {to:[{field: "http.request.referrer", setter: fld_prio, prio: 0}]}, - "web_root": {to:[{field: "url.path", setter: fld_set}]}, - "webpage": {to:[{field: "file.name", setter: fld_prio, prio: 1}]}, - }; - - var rsa_mappings = { - "access_point": {to:[{field: "rsa.wireless.access_point", setter: fld_set}]}, - "accesses": {to:[{field: "rsa.identity.accesses", setter: fld_set}]}, - "acl_id": {to:[{field: "rsa.misc.acl_id", setter: fld_set}]}, - "acl_op": {to:[{field: "rsa.misc.acl_op", setter: fld_set}]}, - "acl_pos": {to:[{field: "rsa.misc.acl_pos", setter: fld_set}]}, - "acl_table": {to:[{field: "rsa.misc.acl_table", setter: fld_set}]}, - "action": {to:[{field: "rsa.misc.action", setter: fld_append}]}, - "ad_computer_dst": {to:[{field: "rsa.network.ad_computer_dst", setter: fld_set}]}, - "addr": {to:[{field: "rsa.network.addr", setter: fld_set}]}, - "admin": {to:[{field: "rsa.misc.admin", setter: fld_set}]}, - "agent": {to:[{field: "rsa.misc.client", setter: fld_prio, prio: 0}]}, - "agent.id": {to:[{field: "rsa.misc.agent_id", setter: fld_set}]}, - "alarm_id": {to:[{field: "rsa.misc.alarm_id", setter: fld_set}]}, - "alarmname": {to:[{field: "rsa.misc.alarmname", setter: fld_set}]}, - "alert": {to:[{field: "rsa.threat.alert", setter: fld_set}]}, - "alert_id": {to:[{field: "rsa.misc.alert_id", setter: fld_set}]}, - "alias.host": {to:[{field: "rsa.network.alias_host", setter: fld_append}]}, - "analysis.file": {to:[{field: "rsa.investigations.analysis_file", setter: fld_set}]}, - "analysis.service": {to:[{field: "rsa.investigations.analysis_service", setter: fld_set}]}, - "analysis.session": {to:[{field: "rsa.investigations.analysis_session", setter: fld_set}]}, - "app_id": {to:[{field: "rsa.misc.app_id", setter: fld_set}]}, - "attachment": {to:[{field: "rsa.file.attachment", setter: fld_set}]}, - "audit": {to:[{field: "rsa.misc.audit", setter: fld_set}]}, - "audit_class": {to:[{field: "rsa.internal.audit_class", setter: fld_set}]}, - "audit_object": {to:[{field: "rsa.misc.audit_object", setter: fld_set}]}, - "auditdata": {to:[{field: "rsa.misc.auditdata", setter: fld_set}]}, - "authmethod": {to:[{field: "rsa.identity.auth_method", setter: fld_set}]}, - "autorun_type": {to:[{field: "rsa.misc.autorun_type", setter: fld_set}]}, - "bcc": {to:[{field: "rsa.email.email", setter: fld_append}]}, - "benchmark": {to:[{field: "rsa.misc.benchmark", setter: fld_set}]}, - "binary": {to:[{field: "rsa.file.binary", setter: fld_set}]}, - "boc": {to:[{field: "rsa.investigations.boc", setter: fld_set}]}, - "bssid": {to:[{field: "rsa.wireless.wlan_ssid", setter: fld_prio, prio: 1}]}, - "bypass": {to:[{field: "rsa.misc.bypass", setter: fld_set}]}, - "c_sid": {to:[{field: "rsa.identity.user_sid_src", setter: fld_set}]}, - "cache": {to:[{field: "rsa.misc.cache", setter: fld_set}]}, - "cache_hit": {to:[{field: "rsa.misc.cache_hit", setter: fld_set}]}, - "calling_from": {to:[{field: "rsa.misc.phone", setter: fld_prio, prio: 1}]}, - "calling_to": {to:[{field: "rsa.misc.phone", setter: fld_prio, prio: 0}]}, - "category": {to:[{field: "rsa.misc.category", setter: fld_set}]}, - "cc": {to:[{field: "rsa.email.email", setter: fld_append}]}, - "cc.number": {convert: to_long, to:[{field: "rsa.misc.cc_number", setter: fld_set}]}, - "cefversion": {to:[{field: "rsa.misc.cefversion", setter: fld_set}]}, - "cert.serial": {to:[{field: "rsa.crypto.cert_serial", setter: fld_set}]}, - "cert_ca": {to:[{field: "rsa.crypto.cert_ca", setter: fld_set}]}, - "cert_checksum": {to:[{field: "rsa.crypto.cert_checksum", setter: fld_set}]}, - "cert_common": {to:[{field: "rsa.crypto.cert_common", setter: fld_set}]}, - "cert_error": {to:[{field: "rsa.crypto.cert_error", setter: fld_set}]}, - "cert_hostname": {to:[{field: "rsa.crypto.cert_host_name", setter: fld_set}]}, - "cert_hostname_cat": {to:[{field: "rsa.crypto.cert_host_cat", setter: fld_set}]}, - "cert_issuer": {to:[{field: "rsa.crypto.cert_issuer", setter: fld_set}]}, - "cert_keysize": {to:[{field: "rsa.crypto.cert_keysize", setter: fld_set}]}, - "cert_status": {to:[{field: "rsa.crypto.cert_status", setter: fld_set}]}, - "cert_subject": {to:[{field: "rsa.crypto.cert_subject", setter: fld_set}]}, - "cert_username": {to:[{field: "rsa.crypto.cert_username", setter: fld_set}]}, - "cfg.attr": {to:[{field: "rsa.misc.cfg_attr", setter: fld_set}]}, - "cfg.obj": {to:[{field: "rsa.misc.cfg_obj", setter: fld_set}]}, - "cfg.path": {to:[{field: "rsa.misc.cfg_path", setter: fld_set}]}, - "change_attribute": {to:[{field: "rsa.misc.change_attrib", setter: fld_set}]}, - "change_new": {to:[{field: "rsa.misc.change_new", setter: fld_set}]}, - "change_old": {to:[{field: "rsa.misc.change_old", setter: fld_set}]}, - "changes": {to:[{field: "rsa.misc.changes", setter: fld_set}]}, - "checksum": {to:[{field: "rsa.misc.checksum", setter: fld_set}]}, - "checksum.dst": {to:[{field: "rsa.misc.checksum_dst", setter: fld_set}]}, - "checksum.src": {to:[{field: "rsa.misc.checksum_src", setter: fld_set}]}, - "cid": {to:[{field: "rsa.internal.cid", setter: fld_set}]}, - "client": {to:[{field: "rsa.misc.client", setter: fld_prio, prio: 1}]}, - "client_ip": {to:[{field: "rsa.misc.client_ip", setter: fld_set}]}, - "clustermembers": {to:[{field: "rsa.misc.clustermembers", setter: fld_set}]}, - "cmd": {to:[{field: "rsa.misc.cmd", setter: fld_set}]}, - "cn_acttimeout": {to:[{field: "rsa.misc.cn_acttimeout", setter: fld_set}]}, - "cn_asn_dst": {to:[{field: "rsa.web.cn_asn_dst", setter: fld_set}]}, - "cn_asn_src": {to:[{field: "rsa.misc.cn_asn_src", setter: fld_set}]}, - "cn_bgpv4nxthop": {to:[{field: "rsa.misc.cn_bgpv4nxthop", setter: fld_set}]}, - "cn_ctr_dst_code": {to:[{field: "rsa.misc.cn_ctr_dst_code", setter: fld_set}]}, - "cn_dst_tos": {to:[{field: "rsa.misc.cn_dst_tos", setter: fld_set}]}, - "cn_dst_vlan": {to:[{field: "rsa.misc.cn_dst_vlan", setter: fld_set}]}, - "cn_engine_id": {to:[{field: "rsa.misc.cn_engine_id", setter: fld_set}]}, - "cn_engine_type": {to:[{field: "rsa.misc.cn_engine_type", setter: fld_set}]}, - "cn_f_switch": {to:[{field: "rsa.misc.cn_f_switch", setter: fld_set}]}, - "cn_flowsampid": {to:[{field: "rsa.misc.cn_flowsampid", setter: fld_set}]}, - "cn_flowsampintv": {to:[{field: "rsa.misc.cn_flowsampintv", setter: fld_set}]}, - "cn_flowsampmode": {to:[{field: "rsa.misc.cn_flowsampmode", setter: fld_set}]}, - "cn_inacttimeout": {to:[{field: "rsa.misc.cn_inacttimeout", setter: fld_set}]}, - "cn_inpermbyts": {to:[{field: "rsa.misc.cn_inpermbyts", setter: fld_set}]}, - "cn_inpermpckts": {to:[{field: "rsa.misc.cn_inpermpckts", setter: fld_set}]}, - "cn_invalid": {to:[{field: "rsa.misc.cn_invalid", setter: fld_set}]}, - "cn_ip_proto_ver": {to:[{field: "rsa.misc.cn_ip_proto_ver", setter: fld_set}]}, - "cn_ipv4_ident": {to:[{field: "rsa.misc.cn_ipv4_ident", setter: fld_set}]}, - "cn_l_switch": {to:[{field: "rsa.misc.cn_l_switch", setter: fld_set}]}, - "cn_log_did": {to:[{field: "rsa.misc.cn_log_did", setter: fld_set}]}, - "cn_log_rid": {to:[{field: "rsa.misc.cn_log_rid", setter: fld_set}]}, - "cn_max_ttl": {to:[{field: "rsa.misc.cn_max_ttl", setter: fld_set}]}, - "cn_maxpcktlen": {to:[{field: "rsa.misc.cn_maxpcktlen", setter: fld_set}]}, - "cn_min_ttl": {to:[{field: "rsa.misc.cn_min_ttl", setter: fld_set}]}, - "cn_minpcktlen": {to:[{field: "rsa.misc.cn_minpcktlen", setter: fld_set}]}, - "cn_mpls_lbl_1": {to:[{field: "rsa.misc.cn_mpls_lbl_1", setter: fld_set}]}, - "cn_mpls_lbl_10": {to:[{field: "rsa.misc.cn_mpls_lbl_10", setter: fld_set}]}, - "cn_mpls_lbl_2": {to:[{field: "rsa.misc.cn_mpls_lbl_2", setter: fld_set}]}, - "cn_mpls_lbl_3": {to:[{field: "rsa.misc.cn_mpls_lbl_3", setter: fld_set}]}, - "cn_mpls_lbl_4": {to:[{field: "rsa.misc.cn_mpls_lbl_4", setter: fld_set}]}, - "cn_mpls_lbl_5": {to:[{field: "rsa.misc.cn_mpls_lbl_5", setter: fld_set}]}, - "cn_mpls_lbl_6": {to:[{field: "rsa.misc.cn_mpls_lbl_6", setter: fld_set}]}, - "cn_mpls_lbl_7": {to:[{field: "rsa.misc.cn_mpls_lbl_7", setter: fld_set}]}, - "cn_mpls_lbl_8": {to:[{field: "rsa.misc.cn_mpls_lbl_8", setter: fld_set}]}, - "cn_mpls_lbl_9": {to:[{field: "rsa.misc.cn_mpls_lbl_9", setter: fld_set}]}, - "cn_mplstoplabel": {to:[{field: "rsa.misc.cn_mplstoplabel", setter: fld_set}]}, - "cn_mplstoplabip": {to:[{field: "rsa.misc.cn_mplstoplabip", setter: fld_set}]}, - "cn_mul_dst_byt": {to:[{field: "rsa.misc.cn_mul_dst_byt", setter: fld_set}]}, - "cn_mul_dst_pks": {to:[{field: "rsa.misc.cn_mul_dst_pks", setter: fld_set}]}, - "cn_muligmptype": {to:[{field: "rsa.misc.cn_muligmptype", setter: fld_set}]}, - "cn_rpackets": {to:[{field: "rsa.web.cn_rpackets", setter: fld_set}]}, - "cn_sampalgo": {to:[{field: "rsa.misc.cn_sampalgo", setter: fld_set}]}, - "cn_sampint": {to:[{field: "rsa.misc.cn_sampint", setter: fld_set}]}, - "cn_seqctr": {to:[{field: "rsa.misc.cn_seqctr", setter: fld_set}]}, - "cn_spackets": {to:[{field: "rsa.misc.cn_spackets", setter: fld_set}]}, - "cn_src_tos": {to:[{field: "rsa.misc.cn_src_tos", setter: fld_set}]}, - "cn_src_vlan": {to:[{field: "rsa.misc.cn_src_vlan", setter: fld_set}]}, - "cn_sysuptime": {to:[{field: "rsa.misc.cn_sysuptime", setter: fld_set}]}, - "cn_template_id": {to:[{field: "rsa.misc.cn_template_id", setter: fld_set}]}, - "cn_totbytsexp": {to:[{field: "rsa.misc.cn_totbytsexp", setter: fld_set}]}, - "cn_totflowexp": {to:[{field: "rsa.misc.cn_totflowexp", setter: fld_set}]}, - "cn_totpcktsexp": {to:[{field: "rsa.misc.cn_totpcktsexp", setter: fld_set}]}, - "cn_unixnanosecs": {to:[{field: "rsa.misc.cn_unixnanosecs", setter: fld_set}]}, - "cn_v6flowlabel": {to:[{field: "rsa.misc.cn_v6flowlabel", setter: fld_set}]}, - "cn_v6optheaders": {to:[{field: "rsa.misc.cn_v6optheaders", setter: fld_set}]}, - "code": {to:[{field: "rsa.misc.code", setter: fld_set}]}, - "command": {to:[{field: "rsa.misc.command", setter: fld_set}]}, - "comments": {to:[{field: "rsa.misc.comments", setter: fld_set}]}, - "comp_class": {to:[{field: "rsa.misc.comp_class", setter: fld_set}]}, - "comp_name": {to:[{field: "rsa.misc.comp_name", setter: fld_set}]}, - "comp_rbytes": {to:[{field: "rsa.misc.comp_rbytes", setter: fld_set}]}, - "comp_sbytes": {to:[{field: "rsa.misc.comp_sbytes", setter: fld_set}]}, - "component_version": {to:[{field: "rsa.misc.comp_version", setter: fld_set}]}, - "connection_id": {to:[{field: "rsa.misc.connection_id", setter: fld_prio, prio: 1}]}, - "connectionid": {to:[{field: "rsa.misc.connection_id", setter: fld_prio, prio: 0}]}, - "content": {to:[{field: "rsa.misc.content", setter: fld_set}]}, - "content_type": {to:[{field: "rsa.misc.content_type", setter: fld_set}]}, - "content_version": {to:[{field: "rsa.misc.content_version", setter: fld_set}]}, - "context": {to:[{field: "rsa.misc.context", setter: fld_set}]}, - "count": {to:[{field: "rsa.misc.count", setter: fld_set}]}, - "cpu": {convert: to_long, to:[{field: "rsa.misc.cpu", setter: fld_set}]}, - "cpu_data": {to:[{field: "rsa.misc.cpu_data", setter: fld_set}]}, - "criticality": {to:[{field: "rsa.misc.criticality", setter: fld_set}]}, - "cs_agency_dst": {to:[{field: "rsa.misc.cs_agency_dst", setter: fld_set}]}, - "cs_analyzedby": {to:[{field: "rsa.misc.cs_analyzedby", setter: fld_set}]}, - "cs_av_other": {to:[{field: "rsa.misc.cs_av_other", setter: fld_set}]}, - "cs_av_primary": {to:[{field: "rsa.misc.cs_av_primary", setter: fld_set}]}, - "cs_av_secondary": {to:[{field: "rsa.misc.cs_av_secondary", setter: fld_set}]}, - "cs_bgpv6nxthop": {to:[{field: "rsa.misc.cs_bgpv6nxthop", setter: fld_set}]}, - "cs_bit9status": {to:[{field: "rsa.misc.cs_bit9status", setter: fld_set}]}, - "cs_context": {to:[{field: "rsa.misc.cs_context", setter: fld_set}]}, - "cs_control": {to:[{field: "rsa.misc.cs_control", setter: fld_set}]}, - "cs_data": {to:[{field: "rsa.misc.cs_data", setter: fld_set}]}, - "cs_datecret": {to:[{field: "rsa.misc.cs_datecret", setter: fld_set}]}, - "cs_dst_tld": {to:[{field: "rsa.misc.cs_dst_tld", setter: fld_set}]}, - "cs_eth_dst_ven": {to:[{field: "rsa.misc.cs_eth_dst_ven", setter: fld_set}]}, - "cs_eth_src_ven": {to:[{field: "rsa.misc.cs_eth_src_ven", setter: fld_set}]}, - "cs_event_uuid": {to:[{field: "rsa.misc.cs_event_uuid", setter: fld_set}]}, - "cs_filetype": {to:[{field: "rsa.misc.cs_filetype", setter: fld_set}]}, - "cs_fld": {to:[{field: "rsa.misc.cs_fld", setter: fld_set}]}, - "cs_if_desc": {to:[{field: "rsa.misc.cs_if_desc", setter: fld_set}]}, - "cs_if_name": {to:[{field: "rsa.misc.cs_if_name", setter: fld_set}]}, - "cs_ip_next_hop": {to:[{field: "rsa.misc.cs_ip_next_hop", setter: fld_set}]}, - "cs_ipv4dstpre": {to:[{field: "rsa.misc.cs_ipv4dstpre", setter: fld_set}]}, - "cs_ipv4srcpre": {to:[{field: "rsa.misc.cs_ipv4srcpre", setter: fld_set}]}, - "cs_lifetime": {to:[{field: "rsa.misc.cs_lifetime", setter: fld_set}]}, - "cs_log_medium": {to:[{field: "rsa.misc.cs_log_medium", setter: fld_set}]}, - "cs_loginname": {to:[{field: "rsa.misc.cs_loginname", setter: fld_set}]}, - "cs_modulescore": {to:[{field: "rsa.misc.cs_modulescore", setter: fld_set}]}, - "cs_modulesign": {to:[{field: "rsa.misc.cs_modulesign", setter: fld_set}]}, - "cs_opswatresult": {to:[{field: "rsa.misc.cs_opswatresult", setter: fld_set}]}, - "cs_payload": {to:[{field: "rsa.misc.cs_payload", setter: fld_set}]}, - "cs_registrant": {to:[{field: "rsa.misc.cs_registrant", setter: fld_set}]}, - "cs_registrar": {to:[{field: "rsa.misc.cs_registrar", setter: fld_set}]}, - "cs_represult": {to:[{field: "rsa.misc.cs_represult", setter: fld_set}]}, - "cs_rpayload": {to:[{field: "rsa.misc.cs_rpayload", setter: fld_set}]}, - "cs_sampler_name": {to:[{field: "rsa.misc.cs_sampler_name", setter: fld_set}]}, - "cs_sourcemodule": {to:[{field: "rsa.misc.cs_sourcemodule", setter: fld_set}]}, - "cs_streams": {to:[{field: "rsa.misc.cs_streams", setter: fld_set}]}, - "cs_targetmodule": {to:[{field: "rsa.misc.cs_targetmodule", setter: fld_set}]}, - "cs_v6nxthop": {to:[{field: "rsa.misc.cs_v6nxthop", setter: fld_set}]}, - "cs_whois_server": {to:[{field: "rsa.misc.cs_whois_server", setter: fld_set}]}, - "cs_yararesult": {to:[{field: "rsa.misc.cs_yararesult", setter: fld_set}]}, - "cve": {to:[{field: "rsa.misc.cve", setter: fld_set}]}, - "d_certauth": {to:[{field: "rsa.crypto.d_certauth", setter: fld_set}]}, - "d_cipher": {to:[{field: "rsa.crypto.cipher_dst", setter: fld_set}]}, - "d_ciphersize": {convert: to_long, to:[{field: "rsa.crypto.cipher_size_dst", setter: fld_set}]}, - "d_sslver": {to:[{field: "rsa.crypto.ssl_ver_dst", setter: fld_set}]}, - "data": {to:[{field: "rsa.internal.data", setter: fld_set}]}, - "data_type": {to:[{field: "rsa.misc.data_type", setter: fld_set}]}, - "date": {to:[{field: "rsa.time.date", setter: fld_set}]}, - "datetime": {to:[{field: "rsa.time.datetime", setter: fld_set}]}, - "day": {to:[{field: "rsa.time.day", setter: fld_set}]}, - "db_id": {to:[{field: "rsa.db.db_id", setter: fld_set}]}, - "db_name": {to:[{field: "rsa.db.database", setter: fld_set}]}, - "db_pid": {convert: to_long, to:[{field: "rsa.db.db_pid", setter: fld_set}]}, - "dclass_counter1": {convert: to_long, to:[{field: "rsa.counters.dclass_c1", setter: fld_set}]}, - "dclass_counter1_string": {to:[{field: "rsa.counters.dclass_c1_str", setter: fld_set}]}, - "dclass_counter2": {convert: to_long, to:[{field: "rsa.counters.dclass_c2", setter: fld_set}]}, - "dclass_counter2_string": {to:[{field: "rsa.counters.dclass_c2_str", setter: fld_set}]}, - "dclass_counter3": {convert: to_long, to:[{field: "rsa.counters.dclass_c3", setter: fld_set}]}, - "dclass_counter3_string": {to:[{field: "rsa.counters.dclass_c3_str", setter: fld_set}]}, - "dclass_ratio1": {to:[{field: "rsa.counters.dclass_r1", setter: fld_set}]}, - "dclass_ratio1_string": {to:[{field: "rsa.counters.dclass_r1_str", setter: fld_set}]}, - "dclass_ratio2": {to:[{field: "rsa.counters.dclass_r2", setter: fld_set}]}, - "dclass_ratio2_string": {to:[{field: "rsa.counters.dclass_r2_str", setter: fld_set}]}, - "dclass_ratio3": {to:[{field: "rsa.counters.dclass_r3", setter: fld_set}]}, - "dclass_ratio3_string": {to:[{field: "rsa.counters.dclass_r3_str", setter: fld_set}]}, - "dead": {convert: to_long, to:[{field: "rsa.internal.dead", setter: fld_set}]}, - "description": {to:[{field: "rsa.misc.description", setter: fld_set}]}, - "detail": {to:[{field: "rsa.misc.event_desc", setter: fld_set}]}, - "device": {to:[{field: "rsa.misc.device_name", setter: fld_set}]}, - "device.class": {to:[{field: "rsa.internal.device_class", setter: fld_set}]}, - "device.group": {to:[{field: "rsa.internal.device_group", setter: fld_set}]}, - "device.host": {to:[{field: "rsa.internal.device_host", setter: fld_set}]}, - "device.ip": {convert: to_ip, to:[{field: "rsa.internal.device_ip", setter: fld_set}]}, - "device.ipv6": {convert: to_ip, to:[{field: "rsa.internal.device_ipv6", setter: fld_set}]}, - "device.type": {to:[{field: "rsa.internal.device_type", setter: fld_set}]}, - "device.type.id": {convert: to_long, to:[{field: "rsa.internal.device_type_id", setter: fld_set}]}, - "devicehostname": {to:[{field: "rsa.network.alias_host", setter: fld_append}]}, - "devvendor": {to:[{field: "rsa.misc.devvendor", setter: fld_set}]}, - "dhost": {to:[{field: "rsa.network.host_dst", setter: fld_set}]}, - "did": {to:[{field: "rsa.internal.did", setter: fld_set}]}, - "dinterface": {to:[{field: "rsa.network.dinterface", setter: fld_set}]}, - "directory.dst": {to:[{field: "rsa.file.directory_dst", setter: fld_set}]}, - "directory.src": {to:[{field: "rsa.file.directory_src", setter: fld_set}]}, - "disk_volume": {to:[{field: "rsa.storage.disk_volume", setter: fld_set}]}, - "disposition": {to:[{field: "rsa.misc.disposition", setter: fld_set}]}, - "distance": {to:[{field: "rsa.misc.distance", setter: fld_set}]}, - "dmask": {to:[{field: "rsa.network.dmask", setter: fld_set}]}, - "dn": {to:[{field: "rsa.identity.dn", setter: fld_set}]}, - "dns_a_record": {to:[{field: "rsa.network.dns_a_record", setter: fld_set}]}, - "dns_cname_record": {to:[{field: "rsa.network.dns_cname_record", setter: fld_set}]}, - "dns_id": {to:[{field: "rsa.network.dns_id", setter: fld_set}]}, - "dns_opcode": {to:[{field: "rsa.network.dns_opcode", setter: fld_set}]}, - "dns_ptr_record": {to:[{field: "rsa.network.dns_ptr_record", setter: fld_set}]}, - "dns_resp": {to:[{field: "rsa.network.dns_resp", setter: fld_set}]}, - "dns_type": {to:[{field: "rsa.network.dns_type", setter: fld_set}]}, - "doc_number": {convert: to_long, to:[{field: "rsa.misc.doc_number", setter: fld_set}]}, - "domain": {to:[{field: "rsa.network.domain", setter: fld_set}]}, - "domain1": {to:[{field: "rsa.network.domain1", setter: fld_set}]}, - "dst_dn": {to:[{field: "rsa.identity.dn_dst", setter: fld_set}]}, - "dst_payload": {to:[{field: "rsa.misc.payload_dst", setter: fld_set}]}, - "dst_spi": {to:[{field: "rsa.misc.spi_dst", setter: fld_set}]}, - "dst_zone": {to:[{field: "rsa.network.zone_dst", setter: fld_set}]}, - "dstburb": {to:[{field: "rsa.misc.dstburb", setter: fld_set}]}, - "duration": {convert: to_double, to:[{field: "rsa.time.duration_time", setter: fld_set}]}, - "duration_string": {to:[{field: "rsa.time.duration_str", setter: fld_set}]}, - "ec_activity": {to:[{field: "rsa.investigations.ec_activity", setter: fld_set}]}, - "ec_outcome": {to:[{field: "rsa.investigations.ec_outcome", setter: fld_set}]}, - "ec_subject": {to:[{field: "rsa.investigations.ec_subject", setter: fld_set}]}, - "ec_theme": {to:[{field: "rsa.investigations.ec_theme", setter: fld_set}]}, - "edomain": {to:[{field: "rsa.misc.edomain", setter: fld_set}]}, - "edomaub": {to:[{field: "rsa.misc.edomaub", setter: fld_set}]}, - "effective_time": {convert: to_date, to:[{field: "rsa.time.effective_time", setter: fld_set}]}, - "ein.number": {convert: to_long, to:[{field: "rsa.misc.ein_number", setter: fld_set}]}, - "email": {to:[{field: "rsa.email.email", setter: fld_append}]}, - "encryption_type": {to:[{field: "rsa.crypto.crypto", setter: fld_set}]}, - "endtime": {convert: to_date, to:[{field: "rsa.time.endtime", setter: fld_set}]}, - "entropy.req": {convert: to_long, to:[{field: "rsa.internal.entropy_req", setter: fld_set}]}, - "entropy.res": {convert: to_long, to:[{field: "rsa.internal.entropy_res", setter: fld_set}]}, - "entry": {to:[{field: "rsa.internal.entry", setter: fld_set}]}, - "eoc": {to:[{field: "rsa.investigations.eoc", setter: fld_set}]}, - "error": {to:[{field: "rsa.misc.error", setter: fld_set}]}, - "eth_type": {convert: to_long, to:[{field: "rsa.network.eth_type", setter: fld_set}]}, - "euid": {to:[{field: "rsa.misc.euid", setter: fld_set}]}, - "event.cat": {convert: to_long, to:[{field: "rsa.investigations.event_cat", setter: fld_prio, prio: 1}]}, - "event.cat.name": {to:[{field: "rsa.investigations.event_cat_name", setter: fld_prio, prio: 1}]}, - "event_cat": {convert: to_long, to:[{field: "rsa.investigations.event_cat", setter: fld_prio, prio: 0}]}, - "event_cat_name": {to:[{field: "rsa.investigations.event_cat_name", setter: fld_prio, prio: 0}]}, - "event_category": {to:[{field: "rsa.misc.event_category", setter: fld_set}]}, - "event_computer": {to:[{field: "rsa.misc.event_computer", setter: fld_set}]}, - "event_counter": {convert: to_long, to:[{field: "rsa.counters.event_counter", setter: fld_set}]}, - "event_description": {to:[{field: "rsa.internal.event_desc", setter: fld_set}]}, - "event_id": {to:[{field: "rsa.misc.event_id", setter: fld_set}]}, - "event_log": {to:[{field: "rsa.misc.event_log", setter: fld_set}]}, - "event_name": {to:[{field: "rsa.internal.event_name", setter: fld_set}]}, - "event_queue_time": {convert: to_date, to:[{field: "rsa.time.event_queue_time", setter: fld_set}]}, - "event_source": {to:[{field: "rsa.misc.event_source", setter: fld_set}]}, - "event_state": {to:[{field: "rsa.misc.event_state", setter: fld_set}]}, - "event_time": {convert: to_date, to:[{field: "rsa.time.event_time", setter: fld_set}]}, - "event_time_str": {to:[{field: "rsa.time.event_time_str", setter: fld_prio, prio: 1}]}, - "event_time_string": {to:[{field: "rsa.time.event_time_str", setter: fld_prio, prio: 0}]}, - "event_type": {to:[{field: "rsa.misc.event_type", setter: fld_set}]}, - "event_user": {to:[{field: "rsa.misc.event_user", setter: fld_set}]}, - "eventtime": {to:[{field: "rsa.time.eventtime", setter: fld_set}]}, - "expected_val": {to:[{field: "rsa.misc.expected_val", setter: fld_set}]}, - "expiration_time": {convert: to_date, to:[{field: "rsa.time.expire_time", setter: fld_set}]}, - "expiration_time_string": {to:[{field: "rsa.time.expire_time_str", setter: fld_set}]}, - "facility": {to:[{field: "rsa.misc.facility", setter: fld_set}]}, - "facilityname": {to:[{field: "rsa.misc.facilityname", setter: fld_set}]}, - "faddr": {to:[{field: "rsa.network.faddr", setter: fld_set}]}, - "fcatnum": {to:[{field: "rsa.misc.fcatnum", setter: fld_set}]}, - "federated_idp": {to:[{field: "rsa.identity.federated_idp", setter: fld_set}]}, - "federated_sp": {to:[{field: "rsa.identity.federated_sp", setter: fld_set}]}, - "feed.category": {to:[{field: "rsa.internal.feed_category", setter: fld_set}]}, - "feed_desc": {to:[{field: "rsa.internal.feed_desc", setter: fld_set}]}, - "feed_name": {to:[{field: "rsa.internal.feed_name", setter: fld_set}]}, - "fhost": {to:[{field: "rsa.network.fhost", setter: fld_set}]}, - "file_entropy": {convert: to_double, to:[{field: "rsa.file.file_entropy", setter: fld_set}]}, - "file_vendor": {to:[{field: "rsa.file.file_vendor", setter: fld_set}]}, - "filename_dst": {to:[{field: "rsa.file.filename_dst", setter: fld_set}]}, - "filename_src": {to:[{field: "rsa.file.filename_src", setter: fld_set}]}, - "filename_tmp": {to:[{field: "rsa.file.filename_tmp", setter: fld_set}]}, - "filesystem": {to:[{field: "rsa.file.filesystem", setter: fld_set}]}, - "filter": {to:[{field: "rsa.misc.filter", setter: fld_set}]}, - "finterface": {to:[{field: "rsa.misc.finterface", setter: fld_set}]}, - "flags": {to:[{field: "rsa.misc.flags", setter: fld_set}]}, - "forensic_info": {to:[{field: "rsa.misc.forensic_info", setter: fld_set}]}, - "forward.ip": {convert: to_ip, to:[{field: "rsa.internal.forward_ip", setter: fld_set}]}, - "forward.ipv6": {convert: to_ip, to:[{field: "rsa.internal.forward_ipv6", setter: fld_set}]}, - "found": {to:[{field: "rsa.misc.found", setter: fld_set}]}, - "fport": {to:[{field: "rsa.network.fport", setter: fld_set}]}, - "fqdn": {to:[{field: "rsa.web.fqdn", setter: fld_set}]}, - "fresult": {convert: to_long, to:[{field: "rsa.misc.fresult", setter: fld_set}]}, - "from": {to:[{field: "rsa.email.email_src", setter: fld_set}]}, - "gaddr": {to:[{field: "rsa.misc.gaddr", setter: fld_set}]}, - "gateway": {to:[{field: "rsa.network.gateway", setter: fld_set}]}, - "gmtdate": {to:[{field: "rsa.time.gmtdate", setter: fld_set}]}, - "gmttime": {to:[{field: "rsa.time.gmttime", setter: fld_set}]}, - "group": {to:[{field: "rsa.misc.group", setter: fld_set}]}, - "group_object": {to:[{field: "rsa.misc.group_object", setter: fld_set}]}, - "groupid": {to:[{field: "rsa.misc.group_id", setter: fld_set}]}, - "h_code": {to:[{field: "rsa.internal.hcode", setter: fld_set}]}, - "hardware_id": {to:[{field: "rsa.misc.hardware_id", setter: fld_set}]}, - "header.id": {to:[{field: "rsa.internal.header_id", setter: fld_set}]}, - "host.orig": {to:[{field: "rsa.network.host_orig", setter: fld_set}]}, - "host.state": {to:[{field: "rsa.endpoint.host_state", setter: fld_set}]}, - "host.type": {to:[{field: "rsa.network.host_type", setter: fld_set}]}, - "host_role": {to:[{field: "rsa.identity.host_role", setter: fld_set}]}, - "hostid": {to:[{field: "rsa.network.alias_host", setter: fld_append}]}, - "hostname": {to:[{field: "rsa.network.alias_host", setter: fld_append}]}, - "hour": {to:[{field: "rsa.time.hour", setter: fld_set}]}, - "https.insact": {to:[{field: "rsa.crypto.https_insact", setter: fld_set}]}, - "https.valid": {to:[{field: "rsa.crypto.https_valid", setter: fld_set}]}, - "icmpcode": {convert: to_long, to:[{field: "rsa.network.icmp_code", setter: fld_set}]}, - "icmptype": {convert: to_long, to:[{field: "rsa.network.icmp_type", setter: fld_set}]}, - "id": {to:[{field: "rsa.misc.reference_id", setter: fld_set}]}, - "id1": {to:[{field: "rsa.misc.reference_id1", setter: fld_set}]}, - "id2": {to:[{field: "rsa.misc.reference_id2", setter: fld_set}]}, - "id3": {to:[{field: "rsa.misc.id3", setter: fld_set}]}, - "ike": {to:[{field: "rsa.crypto.ike", setter: fld_set}]}, - "ike_cookie1": {to:[{field: "rsa.crypto.ike_cookie1", setter: fld_set}]}, - "ike_cookie2": {to:[{field: "rsa.crypto.ike_cookie2", setter: fld_set}]}, - "im_buddyid": {to:[{field: "rsa.misc.im_buddyid", setter: fld_set}]}, - "im_buddyname": {to:[{field: "rsa.misc.im_buddyname", setter: fld_set}]}, - "im_client": {to:[{field: "rsa.misc.im_client", setter: fld_set}]}, - "im_croomid": {to:[{field: "rsa.misc.im_croomid", setter: fld_set}]}, - "im_croomtype": {to:[{field: "rsa.misc.im_croomtype", setter: fld_set}]}, - "im_members": {to:[{field: "rsa.misc.im_members", setter: fld_set}]}, - "im_userid": {to:[{field: "rsa.misc.im_userid", setter: fld_set}]}, - "im_username": {to:[{field: "rsa.misc.im_username", setter: fld_set}]}, - "index": {to:[{field: "rsa.misc.index", setter: fld_set}]}, - "info": {to:[{field: "rsa.db.index", setter: fld_set}]}, - "inode": {convert: to_long, to:[{field: "rsa.internal.inode", setter: fld_set}]}, - "inout": {to:[{field: "rsa.misc.inout", setter: fld_set}]}, - "instance": {to:[{field: "rsa.db.instance", setter: fld_set}]}, - "interface": {to:[{field: "rsa.network.interface", setter: fld_set}]}, - "inv.category": {to:[{field: "rsa.investigations.inv_category", setter: fld_set}]}, - "inv.context": {to:[{field: "rsa.investigations.inv_context", setter: fld_set}]}, - "ioc": {to:[{field: "rsa.investigations.ioc", setter: fld_set}]}, - "ip_proto": {convert: to_long, to:[{field: "rsa.network.ip_proto", setter: fld_set}]}, - "ipkt": {to:[{field: "rsa.misc.ipkt", setter: fld_set}]}, - "ipscat": {to:[{field: "rsa.misc.ipscat", setter: fld_set}]}, - "ipspri": {to:[{field: "rsa.misc.ipspri", setter: fld_set}]}, - "jobname": {to:[{field: "rsa.misc.jobname", setter: fld_set}]}, - "jobnum": {to:[{field: "rsa.misc.job_num", setter: fld_set}]}, - "laddr": {to:[{field: "rsa.network.laddr", setter: fld_set}]}, - "language": {to:[{field: "rsa.misc.language", setter: fld_set}]}, - "latitude": {to:[{field: "rsa.misc.latitude", setter: fld_set}]}, - "lc.cid": {to:[{field: "rsa.internal.lc_cid", setter: fld_set}]}, - "lc.ctime": {convert: to_date, to:[{field: "rsa.internal.lc_ctime", setter: fld_set}]}, - "ldap": {to:[{field: "rsa.identity.ldap", setter: fld_set}]}, - "ldap.query": {to:[{field: "rsa.identity.ldap_query", setter: fld_set}]}, - "ldap.response": {to:[{field: "rsa.identity.ldap_response", setter: fld_set}]}, - "level": {convert: to_long, to:[{field: "rsa.internal.level", setter: fld_set}]}, - "lhost": {to:[{field: "rsa.network.lhost", setter: fld_set}]}, - "library": {to:[{field: "rsa.misc.library", setter: fld_set}]}, - "lifetime": {convert: to_long, to:[{field: "rsa.misc.lifetime", setter: fld_set}]}, - "linenum": {to:[{field: "rsa.misc.linenum", setter: fld_set}]}, - "link": {to:[{field: "rsa.misc.link", setter: fld_set}]}, - "linterface": {to:[{field: "rsa.network.linterface", setter: fld_set}]}, - "list_name": {to:[{field: "rsa.misc.list_name", setter: fld_set}]}, - "listnum": {to:[{field: "rsa.misc.listnum", setter: fld_set}]}, - "load_data": {to:[{field: "rsa.misc.load_data", setter: fld_set}]}, - "location_floor": {to:[{field: "rsa.misc.location_floor", setter: fld_set}]}, - "location_mark": {to:[{field: "rsa.misc.location_mark", setter: fld_set}]}, - "log_id": {to:[{field: "rsa.misc.log_id", setter: fld_set}]}, - "log_type": {to:[{field: "rsa.misc.log_type", setter: fld_set}]}, - "logid": {to:[{field: "rsa.misc.logid", setter: fld_set}]}, - "logip": {to:[{field: "rsa.misc.logip", setter: fld_set}]}, - "logname": {to:[{field: "rsa.misc.logname", setter: fld_set}]}, - "logon_type": {to:[{field: "rsa.identity.logon_type", setter: fld_set}]}, - "logon_type_desc": {to:[{field: "rsa.identity.logon_type_desc", setter: fld_set}]}, - "longitude": {to:[{field: "rsa.misc.longitude", setter: fld_set}]}, - "lport": {to:[{field: "rsa.misc.lport", setter: fld_set}]}, - "lread": {convert: to_long, to:[{field: "rsa.db.lread", setter: fld_set}]}, - "lun": {to:[{field: "rsa.storage.lun", setter: fld_set}]}, - "lwrite": {convert: to_long, to:[{field: "rsa.db.lwrite", setter: fld_set}]}, - "macaddr": {convert: to_mac, to:[{field: "rsa.network.eth_host", setter: fld_set}]}, - "mail_id": {to:[{field: "rsa.misc.mail_id", setter: fld_set}]}, - "mask": {to:[{field: "rsa.network.mask", setter: fld_set}]}, - "match": {to:[{field: "rsa.misc.match", setter: fld_set}]}, - "mbug_data": {to:[{field: "rsa.misc.mbug_data", setter: fld_set}]}, - "mcb.req": {convert: to_long, to:[{field: "rsa.internal.mcb_req", setter: fld_set}]}, - "mcb.res": {convert: to_long, to:[{field: "rsa.internal.mcb_res", setter: fld_set}]}, - "mcbc.req": {convert: to_long, to:[{field: "rsa.internal.mcbc_req", setter: fld_set}]}, - "mcbc.res": {convert: to_long, to:[{field: "rsa.internal.mcbc_res", setter: fld_set}]}, - "medium": {convert: to_long, to:[{field: "rsa.internal.medium", setter: fld_set}]}, - "message": {to:[{field: "rsa.internal.message", setter: fld_set}]}, - "message_body": {to:[{field: "rsa.misc.message_body", setter: fld_set}]}, - "messageid": {to:[{field: "rsa.internal.messageid", setter: fld_set}]}, - "min": {to:[{field: "rsa.time.min", setter: fld_set}]}, - "misc": {to:[{field: "rsa.misc.misc", setter: fld_set}]}, - "misc_name": {to:[{field: "rsa.misc.misc_name", setter: fld_set}]}, - "mode": {to:[{field: "rsa.misc.mode", setter: fld_set}]}, - "month": {to:[{field: "rsa.time.month", setter: fld_set}]}, - "msg": {to:[{field: "rsa.internal.msg", setter: fld_set}]}, - "msgIdPart1": {to:[{field: "rsa.misc.msgIdPart1", setter: fld_set}]}, - "msgIdPart2": {to:[{field: "rsa.misc.msgIdPart2", setter: fld_set}]}, - "msgIdPart3": {to:[{field: "rsa.misc.msgIdPart3", setter: fld_set}]}, - "msgIdPart4": {to:[{field: "rsa.misc.msgIdPart4", setter: fld_set}]}, - "msg_id": {to:[{field: "rsa.internal.msg_id", setter: fld_set}]}, - "msg_type": {to:[{field: "rsa.misc.msg_type", setter: fld_set}]}, - "msgid": {to:[{field: "rsa.misc.msgid", setter: fld_set}]}, - "name": {to:[{field: "rsa.misc.name", setter: fld_set}]}, - "netname": {to:[{field: "rsa.network.netname", setter: fld_set}]}, - "netsessid": {to:[{field: "rsa.misc.netsessid", setter: fld_set}]}, - "network_port": {convert: to_long, to:[{field: "rsa.network.network_port", setter: fld_set}]}, - "network_service": {to:[{field: "rsa.network.network_service", setter: fld_set}]}, - "node": {to:[{field: "rsa.misc.node", setter: fld_set}]}, - "nodename": {to:[{field: "rsa.internal.node_name", setter: fld_set}]}, - "ntype": {to:[{field: "rsa.misc.ntype", setter: fld_set}]}, - "num": {to:[{field: "rsa.misc.num", setter: fld_set}]}, - "number": {to:[{field: "rsa.misc.number", setter: fld_set}]}, - "number1": {to:[{field: "rsa.misc.number1", setter: fld_set}]}, - "number2": {to:[{field: "rsa.misc.number2", setter: fld_set}]}, - "nwe.callback_id": {to:[{field: "rsa.internal.nwe_callback_id", setter: fld_set}]}, - "nwwn": {to:[{field: "rsa.misc.nwwn", setter: fld_set}]}, - "obj_id": {to:[{field: "rsa.internal.obj_id", setter: fld_set}]}, - "obj_name": {to:[{field: "rsa.misc.obj_name", setter: fld_set}]}, - "obj_server": {to:[{field: "rsa.internal.obj_server", setter: fld_set}]}, - "obj_type": {to:[{field: "rsa.misc.obj_type", setter: fld_set}]}, - "obj_value": {to:[{field: "rsa.internal.obj_val", setter: fld_set}]}, - "object": {to:[{field: "rsa.misc.object", setter: fld_set}]}, - "observed_val": {to:[{field: "rsa.misc.observed_val", setter: fld_set}]}, - "operation": {to:[{field: "rsa.misc.operation", setter: fld_set}]}, - "operation_id": {to:[{field: "rsa.misc.operation_id", setter: fld_set}]}, - "opkt": {to:[{field: "rsa.misc.opkt", setter: fld_set}]}, - "org.dst": {to:[{field: "rsa.physical.org_dst", setter: fld_prio, prio: 1}]}, - "org.src": {to:[{field: "rsa.physical.org_src", setter: fld_set}]}, - "org_dst": {to:[{field: "rsa.physical.org_dst", setter: fld_prio, prio: 0}]}, - "orig_from": {to:[{field: "rsa.misc.orig_from", setter: fld_set}]}, - "origin": {to:[{field: "rsa.network.origin", setter: fld_set}]}, - "original_owner": {to:[{field: "rsa.identity.owner", setter: fld_set}]}, - "os": {to:[{field: "rsa.misc.OS", setter: fld_set}]}, - "owner_id": {to:[{field: "rsa.misc.owner_id", setter: fld_set}]}, - "p_action": {to:[{field: "rsa.misc.p_action", setter: fld_set}]}, - "p_date": {to:[{field: "rsa.time.p_date", setter: fld_set}]}, - "p_filter": {to:[{field: "rsa.misc.p_filter", setter: fld_set}]}, - "p_group_object": {to:[{field: "rsa.misc.p_group_object", setter: fld_set}]}, - "p_id": {to:[{field: "rsa.misc.p_id", setter: fld_set}]}, - "p_month": {to:[{field: "rsa.time.p_month", setter: fld_set}]}, - "p_msgid": {to:[{field: "rsa.misc.p_msgid", setter: fld_set}]}, - "p_msgid1": {to:[{field: "rsa.misc.p_msgid1", setter: fld_set}]}, - "p_msgid2": {to:[{field: "rsa.misc.p_msgid2", setter: fld_set}]}, - "p_result1": {to:[{field: "rsa.misc.p_result1", setter: fld_set}]}, - "p_time": {to:[{field: "rsa.time.p_time", setter: fld_set}]}, - "p_time1": {to:[{field: "rsa.time.p_time1", setter: fld_set}]}, - "p_time2": {to:[{field: "rsa.time.p_time2", setter: fld_set}]}, - "p_url": {to:[{field: "rsa.web.p_url", setter: fld_set}]}, - "p_user_agent": {to:[{field: "rsa.web.p_user_agent", setter: fld_set}]}, - "p_web_cookie": {to:[{field: "rsa.web.p_web_cookie", setter: fld_set}]}, - "p_web_method": {to:[{field: "rsa.web.p_web_method", setter: fld_set}]}, - "p_web_referer": {to:[{field: "rsa.web.p_web_referer", setter: fld_set}]}, - "p_year": {to:[{field: "rsa.time.p_year", setter: fld_set}]}, - "packet_length": {to:[{field: "rsa.network.packet_length", setter: fld_set}]}, - "paddr": {convert: to_ip, to:[{field: "rsa.network.paddr", setter: fld_set}]}, - "param": {to:[{field: "rsa.misc.param", setter: fld_set}]}, - "param.dst": {to:[{field: "rsa.misc.param_dst", setter: fld_set}]}, - "param.src": {to:[{field: "rsa.misc.param_src", setter: fld_set}]}, - "parent_node": {to:[{field: "rsa.misc.parent_node", setter: fld_set}]}, - "parse.error": {to:[{field: "rsa.internal.parse_error", setter: fld_set}]}, - "password": {to:[{field: "rsa.identity.password", setter: fld_set}]}, - "password_chg": {to:[{field: "rsa.misc.password_chg", setter: fld_set}]}, - "password_expire": {to:[{field: "rsa.misc.password_expire", setter: fld_set}]}, - "patient_fname": {to:[{field: "rsa.healthcare.patient_fname", setter: fld_set}]}, - "patient_id": {to:[{field: "rsa.healthcare.patient_id", setter: fld_set}]}, - "patient_lname": {to:[{field: "rsa.healthcare.patient_lname", setter: fld_set}]}, - "patient_mname": {to:[{field: "rsa.healthcare.patient_mname", setter: fld_set}]}, - "payload.req": {convert: to_long, to:[{field: "rsa.internal.payload_req", setter: fld_set}]}, - "payload.res": {convert: to_long, to:[{field: "rsa.internal.payload_res", setter: fld_set}]}, - "peer": {to:[{field: "rsa.crypto.peer", setter: fld_set}]}, - "peer_id": {to:[{field: "rsa.crypto.peer_id", setter: fld_set}]}, - "permgranted": {to:[{field: "rsa.misc.permgranted", setter: fld_set}]}, - "permissions": {to:[{field: "rsa.db.permissions", setter: fld_set}]}, - "permwanted": {to:[{field: "rsa.misc.permwanted", setter: fld_set}]}, - "pgid": {to:[{field: "rsa.misc.pgid", setter: fld_set}]}, - "phone_number": {to:[{field: "rsa.misc.phone", setter: fld_prio, prio: 2}]}, - "phost": {to:[{field: "rsa.network.phost", setter: fld_set}]}, - "pid": {to:[{field: "rsa.misc.pid", setter: fld_set}]}, - "policy": {to:[{field: "rsa.misc.policy", setter: fld_set}]}, - "policyUUID": {to:[{field: "rsa.misc.policyUUID", setter: fld_set}]}, - "policy_id": {to:[{field: "rsa.misc.policy_id", setter: fld_set}]}, - "policy_value": {to:[{field: "rsa.misc.policy_value", setter: fld_set}]}, - "policy_waiver": {to:[{field: "rsa.misc.policy_waiver", setter: fld_set}]}, - "policyname": {to:[{field: "rsa.misc.policy_name", setter: fld_prio, prio: 0}]}, - "pool_id": {to:[{field: "rsa.misc.pool_id", setter: fld_set}]}, - "pool_name": {to:[{field: "rsa.misc.pool_name", setter: fld_set}]}, - "port": {convert: to_long, to:[{field: "rsa.network.port", setter: fld_set}]}, - "portname": {to:[{field: "rsa.misc.port_name", setter: fld_set}]}, - "pread": {convert: to_long, to:[{field: "rsa.db.pread", setter: fld_set}]}, - "priority": {to:[{field: "rsa.misc.priority", setter: fld_set}]}, - "privilege": {to:[{field: "rsa.file.privilege", setter: fld_set}]}, - "process.vid.dst": {to:[{field: "rsa.internal.process_vid_dst", setter: fld_set}]}, - "process.vid.src": {to:[{field: "rsa.internal.process_vid_src", setter: fld_set}]}, - "process_id_val": {to:[{field: "rsa.misc.process_id_val", setter: fld_set}]}, - "processing_time": {to:[{field: "rsa.time.process_time", setter: fld_set}]}, - "profile": {to:[{field: "rsa.identity.profile", setter: fld_set}]}, - "prog_asp_num": {to:[{field: "rsa.misc.prog_asp_num", setter: fld_set}]}, - "program": {to:[{field: "rsa.misc.program", setter: fld_set}]}, - "protocol_detail": {to:[{field: "rsa.network.protocol_detail", setter: fld_set}]}, - "pwwn": {to:[{field: "rsa.storage.pwwn", setter: fld_set}]}, - "r_hostid": {to:[{field: "rsa.network.alias_host", setter: fld_append}]}, - "real_data": {to:[{field: "rsa.misc.real_data", setter: fld_set}]}, - "realm": {to:[{field: "rsa.identity.realm", setter: fld_set}]}, - "reason": {to:[{field: "rsa.misc.reason", setter: fld_set}]}, - "rec_asp_device": {to:[{field: "rsa.misc.rec_asp_device", setter: fld_set}]}, - "rec_asp_num": {to:[{field: "rsa.misc.rec_asp_num", setter: fld_set}]}, - "rec_library": {to:[{field: "rsa.misc.rec_library", setter: fld_set}]}, - "recorded_time": {convert: to_date, to:[{field: "rsa.time.recorded_time", setter: fld_set}]}, - "recordnum": {to:[{field: "rsa.misc.recordnum", setter: fld_set}]}, - "registry.key": {to:[{field: "rsa.endpoint.registry_key", setter: fld_set}]}, - "registry.value": {to:[{field: "rsa.endpoint.registry_value", setter: fld_set}]}, - "remote_domain": {to:[{field: "rsa.web.remote_domain", setter: fld_set}]}, - "remote_domain_id": {to:[{field: "rsa.network.remote_domain_id", setter: fld_set}]}, - "reputation_num": {convert: to_double, to:[{field: "rsa.web.reputation_num", setter: fld_set}]}, - "resource": {to:[{field: "rsa.internal.resource", setter: fld_set}]}, - "resource_class": {to:[{field: "rsa.internal.resource_class", setter: fld_set}]}, - "result": {to:[{field: "rsa.misc.result", setter: fld_set}]}, - "result_code": {to:[{field: "rsa.misc.result_code", setter: fld_prio, prio: 1}]}, - "resultcode": {to:[{field: "rsa.misc.result_code", setter: fld_prio, prio: 0}]}, - "rid": {convert: to_long, to:[{field: "rsa.internal.rid", setter: fld_set}]}, - "risk": {to:[{field: "rsa.misc.risk", setter: fld_set}]}, - "risk_info": {to:[{field: "rsa.misc.risk_info", setter: fld_set}]}, - "risk_num": {convert: to_double, to:[{field: "rsa.misc.risk_num", setter: fld_set}]}, - "risk_num_comm": {convert: to_double, to:[{field: "rsa.misc.risk_num_comm", setter: fld_set}]}, - "risk_num_next": {convert: to_double, to:[{field: "rsa.misc.risk_num_next", setter: fld_set}]}, - "risk_num_sand": {convert: to_double, to:[{field: "rsa.misc.risk_num_sand", setter: fld_set}]}, - "risk_num_static": {convert: to_double, to:[{field: "rsa.misc.risk_num_static", setter: fld_set}]}, - "risk_suspicious": {to:[{field: "rsa.misc.risk_suspicious", setter: fld_set}]}, - "risk_warning": {to:[{field: "rsa.misc.risk_warning", setter: fld_set}]}, - "rpayload": {to:[{field: "rsa.network.rpayload", setter: fld_set}]}, - "ruid": {to:[{field: "rsa.misc.ruid", setter: fld_set}]}, - "rule": {to:[{field: "rsa.misc.rule", setter: fld_set}]}, - "rule_group": {to:[{field: "rsa.misc.rule_group", setter: fld_set}]}, - "rule_template": {to:[{field: "rsa.misc.rule_template", setter: fld_set}]}, - "rule_uid": {to:[{field: "rsa.misc.rule_uid", setter: fld_set}]}, - "rulename": {to:[{field: "rsa.misc.rule_name", setter: fld_set}]}, - "s_certauth": {to:[{field: "rsa.crypto.s_certauth", setter: fld_set}]}, - "s_cipher": {to:[{field: "rsa.crypto.cipher_src", setter: fld_set}]}, - "s_ciphersize": {convert: to_long, to:[{field: "rsa.crypto.cipher_size_src", setter: fld_set}]}, - "s_context": {to:[{field: "rsa.misc.context_subject", setter: fld_set}]}, - "s_sslver": {to:[{field: "rsa.crypto.ssl_ver_src", setter: fld_set}]}, - "sburb": {to:[{field: "rsa.misc.sburb", setter: fld_set}]}, - "scheme": {to:[{field: "rsa.crypto.scheme", setter: fld_set}]}, - "sdomain_fld": {to:[{field: "rsa.misc.sdomain_fld", setter: fld_set}]}, - "search.text": {to:[{field: "rsa.misc.search_text", setter: fld_set}]}, - "sec": {to:[{field: "rsa.misc.sec", setter: fld_set}]}, - "second": {to:[{field: "rsa.misc.second", setter: fld_set}]}, - "sensor": {to:[{field: "rsa.misc.sensor", setter: fld_set}]}, - "sensorname": {to:[{field: "rsa.misc.sensorname", setter: fld_set}]}, - "seqnum": {to:[{field: "rsa.misc.seqnum", setter: fld_set}]}, - "serial_number": {to:[{field: "rsa.misc.serial_number", setter: fld_set}]}, - "service.account": {to:[{field: "rsa.identity.service_account", setter: fld_set}]}, - "session": {to:[{field: "rsa.misc.session", setter: fld_set}]}, - "session.split": {to:[{field: "rsa.internal.session_split", setter: fld_set}]}, - "sessionid": {to:[{field: "rsa.misc.log_session_id", setter: fld_set}]}, - "sessionid1": {to:[{field: "rsa.misc.log_session_id1", setter: fld_set}]}, - "sessiontype": {to:[{field: "rsa.misc.sessiontype", setter: fld_set}]}, - "severity": {to:[{field: "rsa.misc.severity", setter: fld_set}]}, - "sid": {to:[{field: "rsa.identity.user_sid_dst", setter: fld_set}]}, - "sig.name": {to:[{field: "rsa.misc.sig_name", setter: fld_set}]}, - "sigUUID": {to:[{field: "rsa.misc.sigUUID", setter: fld_set}]}, - "sigcat": {to:[{field: "rsa.misc.sigcat", setter: fld_set}]}, - "sigid": {convert: to_long, to:[{field: "rsa.misc.sig_id", setter: fld_set}]}, - "sigid1": {convert: to_long, to:[{field: "rsa.misc.sig_id1", setter: fld_set}]}, - "sigid_string": {to:[{field: "rsa.misc.sig_id_str", setter: fld_set}]}, - "signame": {to:[{field: "rsa.misc.policy_name", setter: fld_prio, prio: 1}]}, - "sigtype": {to:[{field: "rsa.crypto.sig_type", setter: fld_set}]}, - "sinterface": {to:[{field: "rsa.network.sinterface", setter: fld_set}]}, - "site": {to:[{field: "rsa.internal.site", setter: fld_set}]}, - "size": {convert: to_long, to:[{field: "rsa.internal.size", setter: fld_set}]}, - "smask": {to:[{field: "rsa.network.smask", setter: fld_set}]}, - "snmp.oid": {to:[{field: "rsa.misc.snmp_oid", setter: fld_set}]}, - "snmp.value": {to:[{field: "rsa.misc.snmp_value", setter: fld_set}]}, - "sourcefile": {to:[{field: "rsa.internal.sourcefile", setter: fld_set}]}, - "space": {to:[{field: "rsa.misc.space", setter: fld_set}]}, - "space1": {to:[{field: "rsa.misc.space1", setter: fld_set}]}, - "spi": {to:[{field: "rsa.misc.spi", setter: fld_set}]}, - "sql": {to:[{field: "rsa.misc.sql", setter: fld_set}]}, - "src_dn": {to:[{field: "rsa.identity.dn_src", setter: fld_set}]}, - "src_payload": {to:[{field: "rsa.misc.payload_src", setter: fld_set}]}, - "src_spi": {to:[{field: "rsa.misc.spi_src", setter: fld_set}]}, - "src_zone": {to:[{field: "rsa.network.zone_src", setter: fld_set}]}, - "srcburb": {to:[{field: "rsa.misc.srcburb", setter: fld_set}]}, - "srcdom": {to:[{field: "rsa.misc.srcdom", setter: fld_set}]}, - "srcservice": {to:[{field: "rsa.misc.srcservice", setter: fld_set}]}, - "ssid": {to:[{field: "rsa.wireless.wlan_ssid", setter: fld_prio, prio: 0}]}, - "stamp": {convert: to_date, to:[{field: "rsa.time.stamp", setter: fld_set}]}, - "starttime": {convert: to_date, to:[{field: "rsa.time.starttime", setter: fld_set}]}, - "state": {to:[{field: "rsa.misc.state", setter: fld_set}]}, - "statement": {to:[{field: "rsa.internal.statement", setter: fld_set}]}, - "status": {to:[{field: "rsa.misc.status", setter: fld_set}]}, - "status1": {to:[{field: "rsa.misc.status1", setter: fld_set}]}, - "streams": {convert: to_long, to:[{field: "rsa.misc.streams", setter: fld_set}]}, - "subcategory": {to:[{field: "rsa.misc.subcategory", setter: fld_set}]}, - "subject": {to:[{field: "rsa.email.subject", setter: fld_set}]}, - "svcno": {to:[{field: "rsa.misc.svcno", setter: fld_set}]}, - "system": {to:[{field: "rsa.misc.system", setter: fld_set}]}, - "t_context": {to:[{field: "rsa.misc.context_target", setter: fld_set}]}, - "task_name": {to:[{field: "rsa.file.task_name", setter: fld_set}]}, - "tbdstr1": {to:[{field: "rsa.misc.tbdstr1", setter: fld_set}]}, - "tbdstr2": {to:[{field: "rsa.misc.tbdstr2", setter: fld_set}]}, - "tbl_name": {to:[{field: "rsa.db.table_name", setter: fld_set}]}, - "tcp_flags": {convert: to_long, to:[{field: "rsa.misc.tcp_flags", setter: fld_set}]}, - "terminal": {to:[{field: "rsa.misc.terminal", setter: fld_set}]}, - "tgtdom": {to:[{field: "rsa.misc.tgtdom", setter: fld_set}]}, - "tgtdomain": {to:[{field: "rsa.misc.tgtdomain", setter: fld_set}]}, - "threat_name": {to:[{field: "rsa.threat.threat_category", setter: fld_set}]}, - "threat_source": {to:[{field: "rsa.threat.threat_source", setter: fld_set}]}, - "threat_val": {to:[{field: "rsa.threat.threat_desc", setter: fld_set}]}, - "threshold": {to:[{field: "rsa.misc.threshold", setter: fld_set}]}, - "time": {convert: to_date, to:[{field: "rsa.internal.time", setter: fld_set}]}, - "timestamp": {to:[{field: "rsa.time.timestamp", setter: fld_set}]}, - "timezone": {to:[{field: "rsa.time.timezone", setter: fld_set}]}, - "to": {to:[{field: "rsa.email.email_dst", setter: fld_set}]}, - "tos": {convert: to_long, to:[{field: "rsa.misc.tos", setter: fld_set}]}, - "trans_from": {to:[{field: "rsa.email.trans_from", setter: fld_set}]}, - "trans_id": {to:[{field: "rsa.db.transact_id", setter: fld_set}]}, - "trans_to": {to:[{field: "rsa.email.trans_to", setter: fld_set}]}, - "trigger_desc": {to:[{field: "rsa.misc.trigger_desc", setter: fld_set}]}, - "trigger_val": {to:[{field: "rsa.misc.trigger_val", setter: fld_set}]}, - "type": {to:[{field: "rsa.misc.type", setter: fld_set}]}, - "type1": {to:[{field: "rsa.misc.type1", setter: fld_set}]}, - "tzone": {to:[{field: "rsa.time.tzone", setter: fld_set}]}, - "ubc.req": {convert: to_long, to:[{field: "rsa.internal.ubc_req", setter: fld_set}]}, - "ubc.res": {convert: to_long, to:[{field: "rsa.internal.ubc_res", setter: fld_set}]}, - "udb_class": {to:[{field: "rsa.misc.udb_class", setter: fld_set}]}, - "url_fld": {to:[{field: "rsa.misc.url_fld", setter: fld_set}]}, - "urlpage": {to:[{field: "rsa.web.urlpage", setter: fld_set}]}, - "urlroot": {to:[{field: "rsa.web.urlroot", setter: fld_set}]}, - "user_address": {to:[{field: "rsa.email.email", setter: fld_append}]}, - "user_dept": {to:[{field: "rsa.identity.user_dept", setter: fld_set}]}, - "user_div": {to:[{field: "rsa.misc.user_div", setter: fld_set}]}, - "user_fname": {to:[{field: "rsa.identity.firstname", setter: fld_set}]}, - "user_lname": {to:[{field: "rsa.identity.lastname", setter: fld_set}]}, - "user_mname": {to:[{field: "rsa.identity.middlename", setter: fld_set}]}, - "user_org": {to:[{field: "rsa.identity.org", setter: fld_set}]}, - "user_role": {to:[{field: "rsa.identity.user_role", setter: fld_set}]}, - "userid": {to:[{field: "rsa.misc.userid", setter: fld_set}]}, - "username_fld": {to:[{field: "rsa.misc.username_fld", setter: fld_set}]}, - "utcstamp": {to:[{field: "rsa.misc.utcstamp", setter: fld_set}]}, - "v_instafname": {to:[{field: "rsa.misc.v_instafname", setter: fld_set}]}, - "vendor_event_cat": {to:[{field: "rsa.investigations.event_vcat", setter: fld_set}]}, - "version": {to:[{field: "rsa.misc.version", setter: fld_set}]}, - "vid": {to:[{field: "rsa.internal.msg_vid", setter: fld_set}]}, - "virt_data": {to:[{field: "rsa.misc.virt_data", setter: fld_set}]}, - "virusname": {to:[{field: "rsa.misc.virusname", setter: fld_set}]}, - "vlan": {convert: to_long, to:[{field: "rsa.network.vlan", setter: fld_set}]}, - "vlan.name": {to:[{field: "rsa.network.vlan_name", setter: fld_set}]}, - "vm_target": {to:[{field: "rsa.misc.vm_target", setter: fld_set}]}, - "vpnid": {to:[{field: "rsa.misc.vpnid", setter: fld_set}]}, - "vsys": {to:[{field: "rsa.misc.vsys", setter: fld_set}]}, - "vuln_ref": {to:[{field: "rsa.misc.vuln_ref", setter: fld_set}]}, - "web_cookie": {to:[{field: "rsa.web.web_cookie", setter: fld_set}]}, - "web_extension_tmp": {to:[{field: "rsa.web.web_extension_tmp", setter: fld_set}]}, - "web_host": {to:[{field: "rsa.web.alias_host", setter: fld_set}]}, - "web_method": {to:[{field: "rsa.misc.action", setter: fld_append}]}, - "web_page": {to:[{field: "rsa.web.web_page", setter: fld_set}]}, - "web_ref_domain": {to:[{field: "rsa.web.web_ref_domain", setter: fld_set}]}, - "web_ref_host": {to:[{field: "rsa.network.alias_host", setter: fld_append}]}, - "web_ref_page": {to:[{field: "rsa.web.web_ref_page", setter: fld_set}]}, - "web_ref_query": {to:[{field: "rsa.web.web_ref_query", setter: fld_set}]}, - "web_ref_root": {to:[{field: "rsa.web.web_ref_root", setter: fld_set}]}, - "wifi_channel": {convert: to_long, to:[{field: "rsa.wireless.wlan_channel", setter: fld_set}]}, - "wlan": {to:[{field: "rsa.wireless.wlan_name", setter: fld_set}]}, - "word": {to:[{field: "rsa.internal.word", setter: fld_set}]}, - "workspace_desc": {to:[{field: "rsa.misc.workspace", setter: fld_set}]}, - "workstation": {to:[{field: "rsa.network.alias_host", setter: fld_append}]}, - "year": {to:[{field: "rsa.time.year", setter: fld_set}]}, - "zone": {to:[{field: "rsa.network.zone", setter: fld_set}]}, - }; - - function to_date(value) { - switch (typeof (value)) { - case "object": - // This is a Date. But as it was obtained from evt.Get(), the VM - // doesn't see it as a JS Date anymore, thus value instanceof Date === false. - // Have to trust that any object here is a valid Date for Go. - return value; - case "string": - var asDate = new Date(value); - if (!isNaN(asDate)) return asDate; - } - } - - // ECMAScript 5.1 doesn't have Object.MAX_SAFE_INTEGER / Object.MIN_SAFE_INTEGER. - var maxSafeInt = Math.pow(2, 53) - 1; - var minSafeInt = -maxSafeInt; - - function to_long(value) { - var num = parseInt(value); - // Better not to index a number if it's not safe (above 53 bits). - return !isNaN(num) && minSafeInt <= num && num <= maxSafeInt ? num : undefined; - } - - function to_ip(value) { - if (value.indexOf(":") === -1) - return to_ipv4(value); - return to_ipv6(value); - } - - var ipv4_regex = /^(\d+)\.(\d+)\.(\d+)\.(\d+)$/; - var ipv6_hex_regex = /^[0-9A-Fa-f]{1,4}$/; - - function to_ipv4(value) { - var result = ipv4_regex.exec(value); - if (result == null || result.length !== 5) return; - for (var i = 1; i < 5; i++) { - var num = strictToInt(result[i]); - if (isNaN(num) || num < 0 || num > 255) return; - } - return value; - } - - function to_ipv6(value) { - var sqEnd = value.indexOf("]"); - if (sqEnd > -1) { - if (value.charAt(0) !== "[") return; - value = value.substr(1, sqEnd - 1); - } - var zoneOffset = value.indexOf("%"); - if (zoneOffset > -1) { - value = value.substr(0, zoneOffset); - } - var parts = value.split(":"); - if (parts == null || parts.length < 3 || parts.length > 8) return; - var numEmpty = 0; - var innerEmpty = 0; - for (var i = 0; i < parts.length; i++) { - if (parts[i].length === 0) { - numEmpty++; - if (i > 0 && i + 1 < parts.length) innerEmpty++; - } else if (!parts[i].match(ipv6_hex_regex) && - // Accept an IPv6 with a valid IPv4 at the end. - ((i + 1 < parts.length) || !to_ipv4(parts[i]))) { - return; - } - } - return innerEmpty === 0 && parts.length === 8 || innerEmpty === 1 ? value : undefined; - } - - function to_double(value) { - return parseFloat(value); - } - - function to_mac(value) { - // ES doesn't have a mac datatype so it's safe to ingest whatever was captured. - return value; - } - - function to_lowercase(value) { - // to_lowercase is used against keyword fields, which can accept - // any other type (numbers, dates). - return typeof(value) === "string"? value.toLowerCase() : value; - } - - function fld_set(dst, value) { - dst[this.field] = { v: value }; - } - - function fld_append(dst, value) { - if (dst[this.field] === undefined) { - dst[this.field] = { v: [value] }; - } else { - var base = dst[this.field]; - if (base.v.indexOf(value)===-1) base.v.push(value); - } - } - - function fld_prio(dst, value) { - if (dst[this.field] === undefined) { - dst[this.field] = { v: value, prio: this.prio}; - } else if(this.prio < dst[this.field].prio) { - dst[this.field].v = value; - dst[this.field].prio = this.prio; - } - } - - var valid_ecs_outcome = { - 'failure': true, - 'success': true, - 'unknown': true - }; - - function fld_ecs_outcome(dst, value) { - value = value.toLowerCase(); - if (valid_ecs_outcome[value] === undefined) { - value = 'unknown'; - } - if (dst[this.field] === undefined) { - dst[this.field] = { v: value }; - } else if (dst[this.field].v === 'unknown') { - dst[this.field] = { v: value }; - } - } - - function map_all(evt, targets, value) { - for (var i = 0; i < targets.length; i++) { - evt.Put(targets[i], value); - } - } - - function populate_fields(evt) { - var base = evt.Get(FIELDS_OBJECT); - if (base === null) return; - alternate_datetime(evt); - if (map_ecs) { - do_populate(evt, base, ecs_mappings); - } - if (map_rsa) { - do_populate(evt, base, rsa_mappings); - } - if (keep_raw) { - evt.Put("rsa.raw", base); - } - evt.Delete(FIELDS_OBJECT); - } - - var datetime_alt_components = [ - {field: "day", fmts: [[dF]]}, - {field: "year", fmts: [[dW]]}, - {field: "month", fmts: [[dB],[dG]]}, - {field: "date", fmts: [[dW,dSkip,dG,dSkip,dF],[dW,dSkip,dB,dSkip,dF],[dW,dSkip,dR,dSkip,dF]]}, - {field: "hour", fmts: [[dN]]}, - {field: "min", fmts: [[dU]]}, - {field: "secs", fmts: [[dO]]}, - {field: "time", fmts: [[dN, dSkip, dU, dSkip, dO]]}, - ]; - - function alternate_datetime(evt) { - if (evt.Get(FIELDS_PREFIX + "event_time") != null) { - return; - } - var tzOffset = tz_offset; - if (tzOffset === "event") { - tzOffset = evt.Get("event.timezone"); - } - var container = new DateContainer(tzOffset); - for (var i=0; i} %{sport->} [%{fld20->} %{fld21}] \"%{web_method->} %{url->} %{network_service}\" %{daddr->} %{fld1->} %{username->} \"%{webpage}\" %{resultcode->} %{content_type->} %{sbytes->} \"%{web_referer}\" \"%{user_agent}\" %{action}", processor_chain([ - dup1, - dup2, - dup3, - dup4, - dup5, - dup6, - dup7, - dup8, - dup9, - dup10, - dup11, - dup12, - ])); - - var dup16 = match("MESSAGE#19:GET:01", "nwparser.payload", "%{event_time_string}.%{fld20->} %{duration->} %{saddr->} %{action}/%{resultcode->} %{sbytes->} %{web_method->} %{url->} %{username->} %{h_code}/%{daddr->} %{content_type}", processor_chain([ - dup1, - dup2, - dup3, - dup4, - dup13, - dup8, - dup9, - dup10, - dup14, - dup12, - ])); - - var dup17 = match("MESSAGE#2:POST", "nwparser.payload", "%{saddr->} %{sport->} [%{fld20->} %{fld21}] \"%{web_method->} %{url->} %{network_service}\" %{daddr->} %{fld1->} %{username->} \"%{webpage}\" %{resultcode->} %{content_type->} %{sbytes->} \"%{web_referer}\" \"%{user_agent}\" %{action}", processor_chain([ - dup1, - dup2, - dup4, - dup5, - dup6, - dup7, - dup8, - dup9, - dup10, - dup11, - dup12, - ])); - - var dup18 = match("MESSAGE#21:POST:01", "nwparser.payload", "%{event_time_string}.%{fld20->} %{duration->} %{saddr->} %{action}/%{resultcode->} %{sbytes->} %{web_method->} %{url->} %{username->} %{h_code}/%{daddr->} %{content_type}", processor_chain([ - dup1, - dup2, - dup4, - dup13, - dup8, - dup9, - dup10, - dup14, - dup12, - ])); - - var dup19 = match("MESSAGE#3:PUT", "nwparser.payload", "%{saddr->} %{sport->} [%{fld20->} %{fld21}] \"%{web_method->} %{url->} %{network_service}\" %{daddr->} %{fld1->} %{username->} \"%{webpage}\" %{resultcode->} %{content_type->} %{sbytes->} \"%{web_referer}\" \"%{user_agent}\" %{action}", processor_chain([ - dup1, - dup5, - dup6, - dup7, - dup8, - dup9, - dup10, - dup11, - dup12, - ])); - - var dup20 = match("MESSAGE#22:PUT:01", "nwparser.payload", "%{event_time_string}.%{fld20->} %{duration->} %{saddr->} %{action}/%{resultcode->} %{sbytes->} %{web_method->} %{url->} %{username->} %{h_code}/%{daddr->} %{content_type}", processor_chain([ - dup1, - dup13, - dup8, - dup9, - dup10, - dup14, - dup12, - ])); - - var hdr1 = match("HEADER#0:0001", "message", "%{hsaddr->} %{hsport->} [%{fld20->} %{fld21}] \"%{messageid->} %{p0}", processor_chain([ - setc("header_id","0001"), - call({ - dest: "nwparser.payload", - fn: STRCAT, - args: [ - field("hsaddr"), - constant(" "), - field("hsport"), - constant(" ["), - field("fld20"), - constant(" "), - field("fld21"), - constant("] \""), - field("messageid"), - constant(" "), - field("p0"), - ], - }), - ])); - - var hdr2 = match("HEADER#1:0002", "message", "%{hevent_time_string->} %{hduration->} %{hsaddr->} %{haction}/%{hresultcode->} %{hsbytes->} %{messageid->} %{p0}", processor_chain([ - setc("header_id","0002"), - call({ - dest: "nwparser.payload", - fn: STRCAT, - args: [ - field("hevent_time_string"), - constant(" "), - field("hduration"), - constant(" "), - field("hsaddr"), - constant(" "), - field("haction"), - constant("/"), - field("hresultcode"), - constant(" "), - field("hsbytes"), - constant(" "), - field("messageid"), - constant(" "), - field("p0"), - ], - }), - ])); - - var select1 = linear_select([ - hdr1, - hdr2, - ]); - - var msg1 = msg("GET", dup15); - - var part1 = match("MESSAGE#18:GET:02", "nwparser.payload", "%{saddr->} %{sport->} [%{fld20->} %{fld21}] \"%{web_method->} %{url->} %{network_service}\" %{resultcode->} %{sbytes->} \"%{web_referer}\" \"%{user_agent}\" %{action->} %{daddr->} %{content_type->} %{duration}", processor_chain([ - dup1, - dup2, - dup3, - dup4, - dup5, - dup6, - dup7, - dup8, - dup9, - dup10, - dup11, - dup12, - ])); - - var msg2 = msg("GET:02", part1); - - var msg3 = msg("GET:01", dup16); - - var select2 = linear_select([ - msg1, - msg2, - msg3, - ]); - - var msg4 = msg("HEAD", dup15); - - var msg5 = msg("HEAD:01", dup16); - - var select3 = linear_select([ - msg4, - msg5, - ]); - - var msg6 = msg("POST", dup17); - - var msg7 = msg("POST:01", dup18); - - var select4 = linear_select([ - msg6, - msg7, - ]); - - var msg8 = msg("PUT", dup19); - - var msg9 = msg("PUT:01", dup20); - - var select5 = linear_select([ - msg8, - msg9, - ]); - - var msg10 = msg("DELETE", dup19); - - var msg11 = msg("DELETE:01", dup20); - - var select6 = linear_select([ - msg10, - msg11, - ]); - - var msg12 = msg("TRACE", dup19); - - var msg13 = msg("TRACE:01", dup20); - - var select7 = linear_select([ - msg12, - msg13, - ]); - - var msg14 = msg("OPTIONS", dup19); - - var msg15 = msg("OPTIONS:01", dup20); - - var select8 = linear_select([ - msg14, - msg15, - ]); - - var msg16 = msg("CONNECT", dup17); - - var msg17 = msg("CONNECT:01", dup18); - - var select9 = linear_select([ - msg16, - msg17, - ]); - - var msg18 = msg("ICP_QUERY", dup19); - - var msg19 = msg("ICP_QUERY:01", dup20); - - var select10 = linear_select([ - msg18, - msg19, - ]); - - var msg20 = msg("PURGE", dup19); - - var msg21 = msg("PURGE:01", dup20); - - var select11 = linear_select([ - msg20, - msg21, - ]); - - var msg22 = msg("PROPFIND", dup19); - - var msg23 = msg("PROPFIND:01", dup20); - - var select12 = linear_select([ - msg22, - msg23, - ]); - - var msg24 = msg("PROPATCH", dup19); - - var msg25 = msg("PROPATCH:01", dup20); - - var select13 = linear_select([ - msg24, - msg25, - ]); - - var msg26 = msg("MKOL", dup19); - - var msg27 = msg("MKOL:01", dup20); - - var select14 = linear_select([ - msg26, - msg27, - ]); - - var msg28 = msg("COPY", dup19); - - var msg29 = msg("COPY:01", dup20); - - var select15 = linear_select([ - msg28, - msg29, - ]); - - var msg30 = msg("MOVE", dup19); - - var msg31 = msg("MOVE:01", dup20); - - var select16 = linear_select([ - msg30, - msg31, - ]); - - var msg32 = msg("LOCK", dup19); - - var msg33 = msg("LOCK:01", dup20); - - var select17 = linear_select([ - msg32, - msg33, - ]); - - var msg34 = msg("UNLOCK", dup19); - - var msg35 = msg("UNLOCK:01", dup20); - - var select18 = linear_select([ - msg34, - msg35, - ]); - - var msg36 = msg("NONE", dup19); - - var msg37 = msg("NONE:01", dup20); - - var select19 = linear_select([ - msg36, - msg37, - ]); - - var chain1 = processor_chain([ - select1, - msgid_select({ - "CONNECT": select9, - "COPY": select15, - "DELETE": select6, - "GET": select2, - "HEAD": select3, - "ICP_QUERY": select10, - "LOCK": select17, - "MKOL": select14, - "MOVE": select16, - "NONE": select19, - "OPTIONS": select8, - "POST": select4, - "PROPATCH": select13, - "PROPFIND": select12, - "PURGE": select11, - "PUT": select5, - "TRACE": select7, - "UNLOCK": select18, - }), - ]); - - var part2 = match("MESSAGE#0:GET", "nwparser.payload", "%{saddr->} %{sport->} [%{fld20->} %{fld21}] \"%{web_method->} %{url->} %{network_service}\" %{daddr->} %{fld1->} %{username->} \"%{webpage}\" %{resultcode->} %{content_type->} %{sbytes->} \"%{web_referer}\" \"%{user_agent}\" %{action}", processor_chain([ - dup1, - dup2, - dup3, - dup4, - dup5, - dup6, - dup7, - dup8, - dup9, - dup10, - dup11, - dup12, - ])); - - var part3 = match("MESSAGE#19:GET:01", "nwparser.payload", "%{event_time_string}.%{fld20->} %{duration->} %{saddr->} %{action}/%{resultcode->} %{sbytes->} %{web_method->} %{url->} %{username->} %{h_code}/%{daddr->} %{content_type}", processor_chain([ - dup1, - dup2, - dup3, - dup4, - dup13, - dup8, - dup9, - dup10, - dup14, - dup12, - ])); - - var part4 = match("MESSAGE#2:POST", "nwparser.payload", "%{saddr->} %{sport->} [%{fld20->} %{fld21}] \"%{web_method->} %{url->} %{network_service}\" %{daddr->} %{fld1->} %{username->} \"%{webpage}\" %{resultcode->} %{content_type->} %{sbytes->} \"%{web_referer}\" \"%{user_agent}\" %{action}", processor_chain([ - dup1, - dup2, - dup4, - dup5, - dup6, - dup7, - dup8, - dup9, - dup10, - dup11, - dup12, - ])); - - var part5 = match("MESSAGE#21:POST:01", "nwparser.payload", "%{event_time_string}.%{fld20->} %{duration->} %{saddr->} %{action}/%{resultcode->} %{sbytes->} %{web_method->} %{url->} %{username->} %{h_code}/%{daddr->} %{content_type}", processor_chain([ - dup1, - dup2, - dup4, - dup13, - dup8, - dup9, - dup10, - dup14, - dup12, - ])); - - var part6 = match("MESSAGE#3:PUT", "nwparser.payload", "%{saddr->} %{sport->} [%{fld20->} %{fld21}] \"%{web_method->} %{url->} %{network_service}\" %{daddr->} %{fld1->} %{username->} \"%{webpage}\" %{resultcode->} %{content_type->} %{sbytes->} \"%{web_referer}\" \"%{user_agent}\" %{action}", processor_chain([ - dup1, - dup5, - dup6, - dup7, - dup8, - dup9, - dup10, - dup11, - dup12, - ])); - - var part7 = match("MESSAGE#22:PUT:01", "nwparser.payload", "%{event_time_string}.%{fld20->} %{duration->} %{saddr->} %{action}/%{resultcode->} %{sbytes->} %{web_method->} %{url->} %{username->} %{h_code}/%{daddr->} %{content_type}", processor_chain([ - dup1, - dup13, - dup8, - dup9, - dup10, - dup14, - dup12, - ])); - -- community_id: -- registered_domain: - ignore_missing: true - ignore_failure: true - field: dns.question.name - target_field: dns.question.registered_domain - target_subdomain_field: dns.question.subdomain - target_etld_field: dns.question.top_level_domain -- registered_domain: - ignore_missing: true - ignore_failure: true - field: client.domain - target_field: client.registered_domain - target_subdomain_field: client.subdomain - target_etld_field: client.top_level_domain -- registered_domain: - ignore_missing: true - ignore_failure: true - field: server.domain - target_field: server.registered_domain - target_subdomain_field: server.subdomain - target_etld_field: server.top_level_domain -- registered_domain: - ignore_missing: true - ignore_failure: true - field: destination.domain - target_field: destination.registered_domain - target_subdomain_field: destination.subdomain - target_etld_field: destination.top_level_domain -- registered_domain: - ignore_missing: true - ignore_failure: true - field: source.domain - target_field: source.registered_domain - target_subdomain_field: source.subdomain - target_etld_field: source.top_level_domain -- registered_domain: - ignore_missing: true - ignore_failure: true - field: url.domain - target_field: url.registered_domain - target_subdomain_field: url.subdomain - target_etld_field: url.top_level_domain -- add_locale: ~ +{{#if tcp_options}} +{{tcp_options}} +{{/if}} diff --git a/packages/squid/data_stream/log/agent/stream/udp.yml.hbs b/packages/squid/data_stream/log/agent/stream/udp.yml.hbs index 0a5ca79288c..4c5681708ad 100644 --- a/packages/squid/data_stream/log/agent/stream/udp.yml.hbs +++ b/packages/squid/data_stream/log/agent/stream/udp.yml.hbs @@ -1,3054 +1,18 @@ -udp: host: "{{udp_host}}:{{udp_port}}" tags: {{#if preserve_original_event}} - preserve_original_event {{/if}} -{{#each tags as |tag i|}} +{{#each tags as |tag|}} - {{tag}} {{/each}} -fields_under_root: true -fields: - observer: - vendor: "Squid" - product: "Proxy" - type: "Proxies" {{#contains "forwarded" tags}} publisher_pipeline.disable_host: true {{/contains}} -processors: {{#if processors}} +processors: {{processors}} {{/if}} -- script: - lang: javascript - params: - ecs: true - rsa: {{rsa_fields}} - tz_offset: {{tz_offset}} - keep_raw: {{keep_raw_fields}} - debug: {{debug}} - source: | - // Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - // or more contributor license agreements. Licensed under the Elastic License; - // you may not use this file except in compliance with the Elastic License. - - /* jshint -W014,-W016,-W097,-W116 */ - - var processor = require("processor"); - var console = require("console"); - - var FLAG_FIELD = "log.flags"; - var FIELDS_OBJECT = "nwparser"; - var FIELDS_PREFIX = FIELDS_OBJECT + "."; - - var defaults = { - debug: false, - ecs: true, - rsa: false, - keep_raw: false, - tz_offset: "local", - strip_priority: true - }; - - var saved_flags = null; - var debug; - var map_ecs; - var map_rsa; - var keep_raw; - var device; - var tz_offset; - var strip_priority; - - // Register params from configuration. - function register(params) { - debug = params.debug !== undefined ? params.debug : defaults.debug; - map_ecs = params.ecs !== undefined ? params.ecs : defaults.ecs; - map_rsa = params.rsa !== undefined ? params.rsa : defaults.rsa; - keep_raw = params.keep_raw !== undefined ? params.keep_raw : defaults.keep_raw; - tz_offset = parse_tz_offset(params.tz_offset !== undefined? params.tz_offset : defaults.tz_offset); - strip_priority = params.strip_priority !== undefined? params.strip_priority : defaults.strip_priority; - device = new DeviceProcessor(); - } - - function parse_tz_offset(offset) { - var date; - var m; - switch(offset) { - // local uses the tz offset from the JS VM. - case "local": - date = new Date(); - // Reversing the sign as we the offset from UTC, not to UTC. - return parse_local_tz_offset(-date.getTimezoneOffset()); - // event uses the tz offset from event.timezone (add_locale processor). - case "event": - return offset; - // Otherwise a tz offset in the form "[+-][0-9]{4}" is required. - default: - m = offset.match(/^([+\-])([0-9]{2}):?([0-9]{2})?$/); - if (m === null || m.length !== 4) { - throw("bad timezone offset: '" + offset + "'. Must have the form +HH:MM"); - } - return m[1] + m[2] + ":" + (m[3]!==undefined? m[3] : "00"); - } - } - - function parse_local_tz_offset(minutes) { - var neg = minutes < 0; - minutes = Math.abs(minutes); - var min = minutes % 60; - var hours = Math.floor(minutes / 60); - var pad2digit = function(n) { - if (n < 10) { return "0" + n;} - return "" + n; - }; - return (neg? "-" : "+") + pad2digit(hours) + ":" + pad2digit(min); - } - - function process(evt) { - // Function register is only called by the processor when `params` are set - // in the processor config. - if (device === undefined) { - register(defaults); - } - return device.process(evt); - } - - function processor_chain(subprocessors) { - var builder = new processor.Chain(); - subprocessors.forEach(builder.Add); - return builder.Build().Run; - } - - function linear_select(subprocessors) { - return function (evt) { - var flags = evt.Get(FLAG_FIELD); - var i; - for (i = 0; i < subprocessors.length; i++) { - evt.Delete(FLAG_FIELD); - if (debug) console.warn("linear_select trying entry " + i); - subprocessors[i](evt); - // Dissect processor succeeded? - if (evt.Get(FLAG_FIELD) == null) break; - if (debug) console.warn("linear_select failed entry " + i); - } - if (flags !== null) { - evt.Put(FLAG_FIELD, flags); - } - if (debug) { - if (i < subprocessors.length) { - console.warn("linear_select matched entry " + i); - } else { - console.warn("linear_select didn't match"); - } - } - }; - } - - function conditional(opt) { - return function(evt) { - if (opt.if(evt)) { - opt.then(evt); - } else if (opt.else) { - opt.else(evt); - } - }; - } - - var strip_syslog_priority = (function() { - var isEnabled = function() { return strip_priority === true; }; - var fetchPRI = field("_pri"); - var fetchPayload = field("payload"); - var removePayload = remove(["payload"]); - var cleanup = remove(["_pri", "payload"]); - var onMatch = function(evt) { - var pri, priStr = fetchPRI(evt); - if (priStr != null - && 0 < priStr.length && priStr.length < 4 - && !isNaN((pri = Number(priStr))) - && 0 <= pri && pri < 192) { - var severity = pri & 7, - facility = pri >> 3; - setc("_severity", "" + severity)(evt); - setc("_facility", "" + facility)(evt); - // Replace message with priority stripped. - evt.Put("message", fetchPayload(evt)); - removePayload(evt); - } else { - // not a valid syslog PRI, cleanup. - cleanup(evt); - } - }; - return conditional({ - if: isEnabled, - then: cleanup_flags(match( - "STRIP_PRI", - "message", - "<%{_pri}>%{payload}", - onMatch - )) - }); - })(); - - function match(id, src, pattern, on_success) { - var dissect = new processor.Dissect({ - field: src, - tokenizer: pattern, - target_prefix: FIELDS_OBJECT, - ignore_failure: true, - overwrite_keys: true, - trim_values: "right" - }); - return function (evt) { - var msg = evt.Get(src); - dissect.Run(evt); - var failed = evt.Get(FLAG_FIELD) != null; - if (debug) { - if (failed) { - console.debug("dissect fail: " + id + " field:" + src); - } else { - console.debug("dissect OK: " + id + " field:" + src); - } - console.debug(" expr: <<" + pattern + ">>"); - console.debug(" input: <<" + msg + ">>"); - } - if (on_success != null && !failed) { - on_success(evt); - } - }; - } - - function match_copy(id, src, dst, on_success) { - dst = FIELDS_PREFIX + dst; - if (dst === FIELDS_PREFIX || dst === src) { - return function (evt) { - if (debug) { - console.debug("noop OK: " + id + " field:" + src); - console.debug(" input: <<" + evt.Get(src) + ">>"); - } - if (on_success != null) on_success(evt); - } - } - return function (evt) { - var msg = evt.Get(src); - evt.Put(dst, msg); - if (debug) { - console.debug("copy OK: " + id + " field:" + src); - console.debug(" target: '" + dst + "'"); - console.debug(" input: <<" + msg + ">>"); - } - if (on_success != null) on_success(evt); - } - } - - function cleanup_flags(processor) { - return function(evt) { - processor(evt); - evt.Delete(FLAG_FIELD); - }; - } - - function all_match(opts) { - return function (evt) { - var i; - for (i = 0; i < opts.processors.length; i++) { - evt.Delete(FLAG_FIELD); - opts.processors[i](evt); - // Dissect processor succeeded? - if (evt.Get(FLAG_FIELD) != null) { - if (debug) console.warn("all_match failure at " + i); - if (opts.on_failure != null) opts.on_failure(evt); - return; - } - if (debug) console.warn("all_match success at " + i); - } - if (opts.on_success != null) opts.on_success(evt); - }; - } - - function msgid_select(mapping) { - return function (evt) { - var msgid = evt.Get(FIELDS_PREFIX + "messageid"); - if (msgid == null) { - if (debug) console.warn("msgid_select: no messageid captured!"); - return; - } - var next = mapping[msgid]; - if (next === undefined) { - if (debug) console.warn("msgid_select: no mapping for messageid:" + msgid); - return; - } - if (debug) console.info("msgid_select: matched key=" + msgid); - return next(evt); - }; - } - - function msg(msg_id, match) { - return function (evt) { - match(evt); - if (evt.Get(FLAG_FIELD) == null) { - evt.Put(FIELDS_PREFIX + "msg_id1", msg_id); - } - }; - } - - var start; - - function save_flags(evt) { - saved_flags = evt.Get(FLAG_FIELD); - evt.Put("event.original", evt.Get("message")); - } - - function restore_flags(evt) { - if (saved_flags !== null) { - evt.Put(FLAG_FIELD, saved_flags); - } - evt.Delete("message"); - } - - function constant(value) { - return function (evt) { - return value; - }; - } - - function field(name) { - var fullname = FIELDS_PREFIX + name; - return function (evt) { - return evt.Get(fullname); - }; - } - - function STRCAT(args) { - var s = ""; - var i; - for (i = 0; i < args.length; i++) { - s += args[i]; - } - return s; - } - - // TODO: Implement - function DIRCHK(args) { - unimplemented("DIRCHK"); - } - - function strictToInt(str) { - return str * 1; - } - - function CALC(args) { - if (args.length !== 3) { - console.warn("skipped call to CALC with " + args.length + " arguments."); - return; - } - var a = strictToInt(args[0]); - var b = strictToInt(args[2]); - if (isNaN(a) || isNaN(b)) { - console.warn("failed evaluating CALC arguments a='" + args[0] + "' b='" + args[2] + "'."); - return; - } - var result; - switch (args[1]) { - case "+": - result = a + b; - break; - case "-": - result = a - b; - break; - case "*": - result = a * b; - break; - default: - // Only * and + seen in the parsers. - console.warn("unknown CALC operation '" + args[1] + "'."); - return; - } - // Always return a string - return result !== undefined ? "" + result : result; - } - - var quoteChars = "\"'`"; - function RMQ(args) { - if(args.length !== 1) { - console.warn("RMQ: only one argument expected"); - return; - } - var value = args[0].trim(); - var n = value.length; - var char; - return n > 1 - && (char=value.charAt(0)) === value.charAt(n-1) - && quoteChars.indexOf(char) !== -1? - value.substr(1, n-2) - : value; - } - - function call(opts) { - var args = new Array(opts.args.length); - return function (evt) { - for (var i = 0; i < opts.args.length; i++) - if ((args[i] = opts.args[i](evt)) == null) return; - var result = opts.fn(args); - if (result != null) { - evt.Put(opts.dest, result); - } - }; - } - - function nop(evt) { - } - - function appendErrorMsg(evt, msg) { - var value = evt.Get("error.message"); - if (value == null) { - value = [msg]; - } else if (msg instanceof Array) { - value.push(msg); - } else { - value = [value, msg]; - } - evt.Put("error.message", value); - } - - function unimplemented(name) { - appendErrorMsg("unimplemented feature: " + name); - } - - function lookup(opts) { - return function (evt) { - var key = opts.key(evt); - if (key == null) return; - var value = opts.map.keyvaluepairs[key]; - if (value === undefined) { - value = opts.map.default; - } - if (value !== undefined) { - evt.Put(opts.dest, value(evt)); - } - }; - } - - function set(fields) { - return new processor.AddFields({ - target: FIELDS_OBJECT, - fields: fields, - }); - } - - function setf(dst, src) { - return function (evt) { - var val = evt.Get(FIELDS_PREFIX + src); - if (val != null) evt.Put(FIELDS_PREFIX + dst, val); - }; - } - - function setc(dst, value) { - return function (evt) { - evt.Put(FIELDS_PREFIX + dst, value); - }; - } - - function set_field(opts) { - return function (evt) { - var val = opts.value(evt); - if (val != null) evt.Put(opts.dest, val); - }; - } - - function dump(label) { - return function (evt) { - console.log("Dump of event at " + label + ": " + JSON.stringify(evt, null, "\t")); - }; - } - - function date_time_join_args(evt, arglist) { - var str = ""; - for (var i = 0; i < arglist.length; i++) { - var fname = FIELDS_PREFIX + arglist[i]; - var val = evt.Get(fname); - if (val != null) { - if (str !== "") str += " "; - str += val; - } else { - if (debug) console.warn("in date_time: input arg " + fname + " is not set"); - } - } - return str; - } - - function to2Digit(num) { - return num? (num < 10? "0" + num : num) : "00"; - } - - // Make two-digit dates 00-69 interpreted as 2000-2069 - // and dates 70-99 translated to 1970-1999. - var twoDigitYearEpoch = 70; - var twoDigitYearCentury = 2000; - - // This is to accept dates up to 2 days in the future, only used when - // no year is specified in a date. 2 days should be enough to account for - // time differences between systems and different tz offsets. - var maxFutureDelta = 2*24*60*60*1000; - - // DateContainer stores date fields and then converts those fields into - // a Date. Necessary because building a Date using its set() methods gives - // different results depending on the order of components. - function DateContainer(tzOffset) { - this.offset = tzOffset === undefined? "Z" : tzOffset; - } - - DateContainer.prototype = { - setYear: function(v) {this.year = v;}, - setMonth: function(v) {this.month = v;}, - setDay: function(v) {this.day = v;}, - setHours: function(v) {this.hours = v;}, - setMinutes: function(v) {this.minutes = v;}, - setSeconds: function(v) {this.seconds = v;}, - - setUNIX: function(v) {this.unix = v;}, - - set2DigitYear: function(v) { - this.year = v < twoDigitYearEpoch? twoDigitYearCentury + v : twoDigitYearCentury + v - 100; - }, - - toDate: function() { - if (this.unix !== undefined) { - return new Date(this.unix * 1000); - } - if (this.day === undefined || this.month === undefined) { - // Can't make a date from this. - return undefined; - } - if (this.year === undefined) { - // A date without a year. Set current year, or previous year - // if date would be in the future. - var now = new Date(); - this.year = now.getFullYear(); - var date = this.toDate(); - if (date.getTime() - now.getTime() > maxFutureDelta) { - date.setFullYear(now.getFullYear() - 1); - } - return date; - } - var MM = to2Digit(this.month); - var DD = to2Digit(this.day); - var hh = to2Digit(this.hours); - var mm = to2Digit(this.minutes); - var ss = to2Digit(this.seconds); - return new Date(this.year + "-" + MM + "-" + DD + "T" + hh + ":" + mm + ":" + ss + this.offset); - } - } - - function date_time_try_pattern(fmt, str, tzOffset) { - var date = new DateContainer(tzOffset); - var pos = date_time_try_pattern_at_pos(fmt, str, 0, date); - return pos !== undefined? date.toDate() : undefined; - } - - function date_time_try_pattern_at_pos(fmt, str, pos, date) { - var len = str.length; - for (var proc = 0; pos !== undefined && pos < len && proc < fmt.length; proc++) { - pos = fmt[proc](str, pos, date); - } - return pos; - } - - function date_time(opts) { - return function (evt) { - var tzOffset = opts.tz || tz_offset; - if (tzOffset === "event") { - tzOffset = evt.Get("event.timezone"); - } - var str = date_time_join_args(evt, opts.args); - for (var i = 0; i < opts.fmts.length; i++) { - var date = date_time_try_pattern(opts.fmts[i], str, tzOffset); - if (date !== undefined) { - evt.Put(FIELDS_PREFIX + opts.dest, date); - return; - } - } - if (debug) console.warn("in date_time: id=" + opts.id + " FAILED: " + str); - }; - } - - var uA = 60 * 60 * 24; - var uD = 60 * 60 * 24; - var uF = 60 * 60; - var uG = 60 * 60 * 24 * 30; - var uH = 60 * 60; - var uI = 60 * 60; - var uJ = 60 * 60 * 24; - var uM = 60 * 60 * 24 * 30; - var uN = 60 * 60; - var uO = 1; - var uS = 1; - var uT = 60; - var uU = 60; - var uc = dc; - - function duration(opts) { - return function(evt) { - var str = date_time_join_args(evt, opts.args); - for (var i = 0; i < opts.fmts.length; i++) { - var seconds = duration_try_pattern(opts.fmts[i], str); - if (seconds !== undefined) { - evt.Put(FIELDS_PREFIX + opts.dest, seconds); - return; - } - } - if (debug) console.warn("in duration: id=" + opts.id + " (s) FAILED: " + str); - }; - } - - function duration_try_pattern(fmt, str) { - var secs = 0; - var pos = 0; - for (var i=0; i [ month_id , how many chars to skip if month in long form ] - "Jan": [0, 4], - "Feb": [1, 5], - "Mar": [2, 2], - "Apr": [3, 2], - "May": [4, 0], - "Jun": [5, 1], - "Jul": [6, 1], - "Aug": [7, 3], - "Sep": [8, 6], - "Oct": [9, 4], - "Nov": [10, 5], - "Dec": [11, 4], - "jan": [0, 4], - "feb": [1, 5], - "mar": [2, 2], - "apr": [3, 2], - "may": [4, 0], - "jun": [5, 1], - "jul": [6, 1], - "aug": [7, 3], - "sep": [8, 6], - "oct": [9, 4], - "nov": [10, 5], - "dec": [11, 4], - }; - - // var dC = undefined; - var dR = dateMonthName(true); - var dB = dateMonthName(false); - var dM = dateFixedWidthNumber("M", 2, 1, 12, DateContainer.prototype.setMonth); - var dG = dateVariableWidthNumber("G", 1, 12, DateContainer.prototype.setMonth); - var dD = dateFixedWidthNumber("D", 2, 1, 31, DateContainer.prototype.setDay); - var dF = dateVariableWidthNumber("F", 1, 31, DateContainer.prototype.setDay); - var dH = dateFixedWidthNumber("H", 2, 0, 24, DateContainer.prototype.setHours); - var dI = dateVariableWidthNumber("I", 0, 24, DateContainer.prototype.setHours); // Accept hours >12 - var dN = dateVariableWidthNumber("N", 0, 24, DateContainer.prototype.setHours); - var dT = dateFixedWidthNumber("T", 2, 0, 59, DateContainer.prototype.setMinutes); - var dU = dateVariableWidthNumber("U", 0, 59, DateContainer.prototype.setMinutes); - var dP = parseAMPM; // AM|PM - var dQ = parseAMPM; // A.M.|P.M - var dS = dateFixedWidthNumber("S", 2, 0, 60, DateContainer.prototype.setSeconds); - var dO = dateVariableWidthNumber("O", 0, 60, DateContainer.prototype.setSeconds); - var dY = dateFixedWidthNumber("Y", 2, 0, 99, DateContainer.prototype.set2DigitYear); - var dW = dateFixedWidthNumber("W", 4, 1000, 9999, DateContainer.prototype.setYear); - var dZ = parseHMS; - var dX = dateVariableWidthNumber("X", 0, 0x10000000000, DateContainer.prototype.setUNIX); - - // parseAMPM parses "A.M", "AM", "P.M", "PM" from logs. - // Only works if this modifier appears after the hour has been read from logs - // which is always the case in the 300 devices. - function parseAMPM(str, pos, date) { - var n = str.length; - var start = skipws(str, pos); - if (start + 2 > n) return; - var head = str.substr(start, 2).toUpperCase(); - var isPM = false; - var skip = false; - switch (head) { - case "A.": - skip = true; - /* falls through */ - case "AM": - break; - case "P.": - skip = true; - /* falls through */ - case "PM": - isPM = true; - break; - default: - if (debug) console.warn("can't parse pos " + start + " as AM/PM: " + str + "(head:" + head + ")"); - return; - } - pos = start + 2; - if (skip) { - if (pos+2 > n || str.substr(pos, 2).toUpperCase() !== "M.") { - if (debug) console.warn("can't parse pos " + start + " as AM/PM: " + str + "(tail)"); - return; - } - pos += 2; - } - var hh = date.hours; - if (isPM) { - // Accept existing hour in 24h format. - if (hh < 12) hh += 12; - } else { - if (hh === 12) hh = 0; - } - date.setHours(hh); - return pos; - } - - function parseHMS(str, pos, date) { - return date_time_try_pattern_at_pos([dN, dc(":"), dU, dc(":"), dO], str, pos, date); - } - - function skipws(str, pos) { - for ( var n = str.length; - pos < n && str.charAt(pos) === " "; - pos++) - ; - return pos; - } - - function skipdigits(str, pos) { - var c; - for (var n = str.length; - pos < n && (c = str.charAt(pos)) >= "0" && c <= "9"; - pos++) - ; - return pos; - } - - function dSkip(str, pos, date) { - var chr; - for (;pos < str.length && (chr=str[pos])<'0' || chr>'9'; pos++) {} - return pos < str.length? pos : undefined; - } - - function dateVariableWidthNumber(fmtChar, min, max, setter) { - return function (str, pos, date) { - var start = skipws(str, pos); - pos = skipdigits(str, start); - var s = str.substr(start, pos - start); - var value = parseInt(s, 10); - if (value >= min && value <= max) { - setter.call(date, value); - return pos; - } - return; - }; - } - - function dateFixedWidthNumber(fmtChar, width, min, max, setter) { - return function (str, pos, date) { - pos = skipws(str, pos); - var n = str.length; - if (pos + width > n) return; - var s = str.substr(pos, width); - var value = parseInt(s, 10); - if (value >= min && value <= max) { - setter.call(date, value); - return pos + width; - } - return; - }; - } - - // Short month name (Jan..Dec). - function dateMonthName(long) { - return function (str, pos, date) { - pos = skipws(str, pos); - var n = str.length; - if (pos + 3 > n) return; - var mon = str.substr(pos, 3); - var idx = shortMonths[mon]; - if (idx === undefined) { - idx = shortMonths[mon.toLowerCase()]; - } - if (idx === undefined) { - //console.warn("parsing date_time: '" + mon + "' is not a valid short month (%B)"); - return; - } - date.setMonth(idx[0]+1); - return pos + 3 + (long ? idx[1] : 0); - }; - } - - function url_wrapper(dst, src, fn) { - return function(evt) { - var value = evt.Get(FIELDS_PREFIX + src), result; - if (value != null && (result = fn(value))!== undefined) { - evt.Put(FIELDS_PREFIX + dst, result); - } else { - console.debug(fn.name + " failed for '" + value + "'"); - } - }; - } - - // The following regular expression for parsing URLs from: - // https://github.com/wizard04wsu/URI_Parsing - // - // The MIT License (MIT) - // - // Copyright (c) 2014 Andrew Harrison - // - // 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. - var uriRegExp = /^([a-z][a-z0-9+.\-]*):(?:\/\/((?:(?=((?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9A-F]{2})*))(\3)@)?(?=(\[[0-9A-F:.]{2,}\]|(?:[a-z0-9\-._~!$&'()*+,;=]|%[0-9A-F]{2})*))\5(?::(?=(\d*))\6)?)(\/(?=((?:[a-z0-9-._~!$&'()*+,;=:@\/]|%[0-9A-F]{2})*))\8)?|(\/?(?!\/)(?=((?:[a-z0-9-._~!$&'()*+,;=:@\/]|%[0-9A-F]{2})*))\10)?)(?:\?(?=((?:[a-z0-9-._~!$&'()*+,;=:@\/?]|%[0-9A-F]{2})*))\11)?(?:#(?=((?:[a-z0-9-._~!$&'()*+,;=:@\/?]|%[0-9A-F]{2})*))\12)?$/i; - - var uriScheme = 1; - var uriDomain = 5; - var uriPort = 6; - var uriPath = 7; - var uriPathAlt = 9; - var uriQuery = 11; - - function domain(dst, src) { - return url_wrapper(dst, src, extract_domain); - } - - function split_url(value) { - var m = value.match(uriRegExp); - if (m && m[uriDomain]) return m; - // Support input in the form "www.example.net/path", but not "/path". - m = ("null://" + value).match(uriRegExp); - if (m) return m; - } - - function extract_domain(value) { - var m = split_url(value); - if (m && m[uriDomain]) return m[uriDomain]; - } - - var extFromPage = /\.[^.]+$/; - function extract_ext(value) { - var page = extract_page(value); - if (page) { - var m = page.match(extFromPage); - if (m) return m[0]; - } - } - - function ext(dst, src) { - return url_wrapper(dst, src, extract_ext); - } - - function fqdn(dst, src) { - // TODO: fqdn and domain(eTLD+1) are currently the same. - return domain(dst, src); - } - - var pageFromPathRegExp = /\/([^\/]+)$/; - var pageName = 1; - - function extract_page(value) { - value = extract_path(value); - if (!value) return undefined; - var m = value.match(pageFromPathRegExp); - if (m) return m[pageName]; - } - - function page(dst, src) { - return url_wrapper(dst, src, extract_page); - } - - function extract_path(value) { - var m = split_url(value); - return m? m[uriPath] || m[uriPathAlt] : undefined; - } - - function path(dst, src) { - return url_wrapper(dst, src, extract_path); - } - - // Map common schemes to their default port. - // port has to be a string (will be converted at a later stage). - var schemePort = { - "ftp": "21", - "ssh": "22", - "http": "80", - "https": "443", - }; - - function extract_port(value) { - var m = split_url(value); - if (!m) return undefined; - if (m[uriPort]) return m[uriPort]; - if (m[uriScheme]) { - return schemePort[m[uriScheme]]; - } - } - - function port(dst, src) { - return url_wrapper(dst, src, extract_port); - } - - function extract_query(value) { - var m = split_url(value); - if (m && m[uriQuery]) return m[uriQuery]; - } - - function query(dst, src) { - return url_wrapper(dst, src, extract_query); - } - - function extract_root(value) { - var m = split_url(value); - if (m && m[uriDomain] && m[uriDomain]) { - var scheme = m[uriScheme] && m[uriScheme] !== "null"? - m[uriScheme] + "://" : ""; - var port = m[uriPort]? ":" + m[uriPort] : ""; - return scheme + m[uriDomain] + port; - } - } - - function root(dst, src) { - return url_wrapper(dst, src, extract_root); - } - - function tagval(id, src, cfg, keys, on_success) { - var fail = function(evt) { - evt.Put(FLAG_FIELD, "tagval_parsing_error"); - } - if (cfg.kv_separator.length !== 1) { - throw("Invalid TAGVALMAP ValueDelimiter (must have 1 character)"); - } - var quotes_len = cfg.open_quote.length > 0 && cfg.close_quote.length > 0? - cfg.open_quote.length + cfg.close_quote.length : 0; - var kv_regex = new RegExp('^([^' + cfg.kv_separator + ']*)*' + cfg.kv_separator + ' *(.*)*$'); - return function(evt) { - var msg = evt.Get(src); - if (msg === undefined) { - console.warn("tagval: input field is missing"); - return fail(evt); - } - var pairs = msg.split(cfg.pair_separator); - var i; - var success = false; - var prev = ""; - for (i=0; i 0 && - value.length >= cfg.open_quote.length + cfg.close_quote.length && - value.substr(0, cfg.open_quote.length) === cfg.open_quote && - value.substr(value.length - cfg.close_quote.length) === cfg.close_quote) { - value = value.substr(cfg.open_quote.length, value.length - quotes_len); - } - evt.Put(FIELDS_PREFIX + field, value); - success = true; - } - if (!success) { - return fail(evt); - } - if (on_success != null) { - on_success(evt); - } - } - } - - var ecs_mappings = { - "_facility": {convert: to_long, to:[{field: "log.syslog.facility.code", setter: fld_set}]}, - "_pri": {convert: to_long, to:[{field: "log.syslog.priority", setter: fld_set}]}, - "_severity": {convert: to_long, to:[{field: "log.syslog.severity.code", setter: fld_set}]}, - "action": {to:[{field: "event.action", setter: fld_prio, prio: 0}]}, - "administrator": {to:[{field: "related.user", setter: fld_append},{field: "user.name", setter: fld_prio, prio: 4}]}, - "alias.ip": {convert: to_ip, to:[{field: "host.ip", setter: fld_prio, prio: 3},{field: "related.ip", setter: fld_append}]}, - "alias.ipv6": {convert: to_ip, to:[{field: "host.ip", setter: fld_prio, prio: 4},{field: "related.ip", setter: fld_append}]}, - "alias.mac": {convert: to_mac, to:[{field: "host.mac", setter: fld_prio, prio: 1}]}, - "application": {to:[{field: "network.application", setter: fld_set}]}, - "bytes": {convert: to_long, to:[{field: "network.bytes", setter: fld_set}]}, - "c_domain": {to:[{field: "source.domain", setter: fld_prio, prio: 1}]}, - "c_logon_id": {to:[{field: "user.id", setter: fld_prio, prio: 2}]}, - "c_user_name": {to:[{field: "related.user", setter: fld_append},{field: "user.name", setter: fld_prio, prio: 8}]}, - "c_username": {to:[{field: "related.user", setter: fld_append},{field: "user.name", setter: fld_prio, prio: 2}]}, - "cctld": {to:[{field: "url.top_level_domain", setter: fld_prio, prio: 1}]}, - "child_pid": {convert: to_long, to:[{field: "process.pid", setter: fld_prio, prio: 1}]}, - "child_pid_val": {to:[{field: "process.title", setter: fld_set}]}, - "child_process": {to:[{field: "process.name", setter: fld_prio, prio: 1}]}, - "city.dst": {to:[{field: "destination.geo.city_name", setter: fld_set}]}, - "city.src": {to:[{field: "source.geo.city_name", setter: fld_set}]}, - "daddr": {convert: to_ip, to:[{field: "destination.ip", setter: fld_set},{field: "related.ip", setter: fld_append}]}, - "daddr_v6": {convert: to_ip, to:[{field: "destination.ip", setter: fld_set},{field: "related.ip", setter: fld_append}]}, - "ddomain": {to:[{field: "destination.domain", setter: fld_prio, prio: 0}]}, - "devicehostip": {convert: to_ip, to:[{field: "host.ip", setter: fld_prio, prio: 2},{field: "related.ip", setter: fld_append}]}, - "devicehostmac": {convert: to_mac, to:[{field: "host.mac", setter: fld_prio, prio: 0}]}, - "dhost": {to:[{field: "destination.address", setter: fld_set},{field: "related.hosts", setter: fld_append}]}, - "dinterface": {to:[{field: "observer.egress.interface.name", setter: fld_set}]}, - "direction": {to:[{field: "network.direction", setter: fld_set}]}, - "directory": {to:[{field: "file.directory", setter: fld_set}]}, - "dmacaddr": {convert: to_mac, to:[{field: "destination.mac", setter: fld_set}]}, - "dns.responsetype": {to:[{field: "dns.answers.type", setter: fld_set}]}, - "dns.resptext": {to:[{field: "dns.answers.name", setter: fld_set}]}, - "dns_querytype": {to:[{field: "dns.question.type", setter: fld_set}]}, - "domain": {to:[{field: "server.domain", setter: fld_prio, prio: 0},{field: "related.hosts", setter: fld_append}]}, - "domain.dst": {to:[{field: "destination.domain", setter: fld_prio, prio: 1}]}, - "domain.src": {to:[{field: "source.domain", setter: fld_prio, prio: 2}]}, - "domain_id": {to:[{field: "user.domain", setter: fld_set}]}, - "domainname": {to:[{field: "server.domain", setter: fld_prio, prio: 1}]}, - "dport": {convert: to_long, to:[{field: "destination.port", setter: fld_prio, prio: 0}]}, - "dtransaddr": {convert: to_ip, to:[{field: "destination.nat.ip", setter: fld_prio, prio: 0},{field: "related.ip", setter: fld_append}]}, - "dtransport": {convert: to_long, to:[{field: "destination.nat.port", setter: fld_prio, prio: 0}]}, - "ec_outcome": {to:[{field: "event.outcome", setter: fld_ecs_outcome}]}, - "event_description": {to:[{field: "message", setter: fld_prio, prio: 0}]}, - "event_source": {to:[{field: "related.hosts", setter: fld_append}]}, - "event_time": {convert: to_date, to:[{field: "@timestamp", setter: fld_set}]}, - "event_type": {to:[{field: "event.action", setter: fld_prio, prio: 1}]}, - "extension": {to:[{field: "file.extension", setter: fld_prio, prio: 1}]}, - "file.attributes": {to:[{field: "file.attributes", setter: fld_set}]}, - "filename": {to:[{field: "file.name", setter: fld_prio, prio: 0}]}, - "filename_size": {convert: to_long, to:[{field: "file.size", setter: fld_set}]}, - "filepath": {to:[{field: "file.path", setter: fld_set}]}, - "filetype": {to:[{field: "file.type", setter: fld_set}]}, - "fqdn": {to:[{field: "related.hosts", setter: fld_append}]}, - "group": {to:[{field: "group.name", setter: fld_set}]}, - "groupid": {to:[{field: "group.id", setter: fld_set}]}, - "host": {to:[{field: "host.name", setter: fld_prio, prio: 1},{field: "related.hosts", setter: fld_append}]}, - "hostip": {convert: to_ip, to:[{field: "host.ip", setter: fld_prio, prio: 0},{field: "related.ip", setter: fld_append}]}, - "hostip_v6": {convert: to_ip, to:[{field: "host.ip", setter: fld_prio, prio: 1},{field: "related.ip", setter: fld_append}]}, - "hostname": {to:[{field: "host.name", setter: fld_prio, prio: 0}]}, - "id": {to:[{field: "event.code", setter: fld_prio, prio: 0}]}, - "interface": {to:[{field: "network.interface.name", setter: fld_set}]}, - "ip.orig": {convert: to_ip, to:[{field: "network.forwarded_ip", setter: fld_prio, prio: 0},{field: "related.ip", setter: fld_append}]}, - "ip.trans.dst": {convert: to_ip, to:[{field: "destination.nat.ip", setter: fld_prio, prio: 1},{field: "related.ip", setter: fld_append}]}, - "ip.trans.src": {convert: to_ip, to:[{field: "source.nat.ip", setter: fld_prio, prio: 1},{field: "related.ip", setter: fld_append}]}, - "ipv6.orig": {convert: to_ip, to:[{field: "network.forwarded_ip", setter: fld_prio, prio: 2},{field: "related.ip", setter: fld_append}]}, - "latdec_dst": {convert: to_double, to:[{field: "destination.geo.location.lat", setter: fld_set}]}, - "latdec_src": {convert: to_double, to:[{field: "source.geo.location.lat", setter: fld_set}]}, - "location_city": {to:[{field: "geo.city_name", setter: fld_set}]}, - "location_country": {to:[{field: "geo.country_name", setter: fld_set}]}, - "location_desc": {to:[{field: "geo.name", setter: fld_set}]}, - "location_dst": {to:[{field: "destination.geo.country_name", setter: fld_set}]}, - "location_src": {to:[{field: "source.geo.country_name", setter: fld_set}]}, - "location_state": {to:[{field: "geo.region_name", setter: fld_set}]}, - "logon_id": {to:[{field: "related.user", setter: fld_append},{field: "user.name", setter: fld_prio, prio: 5}]}, - "longdec_dst": {convert: to_double, to:[{field: "destination.geo.location.lon", setter: fld_set}]}, - "longdec_src": {convert: to_double, to:[{field: "source.geo.location.lon", setter: fld_set}]}, - "macaddr": {convert: to_mac, to:[{field: "host.mac", setter: fld_prio, prio: 2}]}, - "messageid": {to:[{field: "event.code", setter: fld_prio, prio: 1}]}, - "method": {to:[{field: "http.request.method", setter: fld_set}]}, - "msg": {to:[{field: "message", setter: fld_set}]}, - "orig_ip": {convert: to_ip, to:[{field: "network.forwarded_ip", setter: fld_prio, prio: 1},{field: "related.ip", setter: fld_append}]}, - "owner": {to:[{field: "related.user", setter: fld_append},{field: "user.name", setter: fld_prio, prio: 6}]}, - "packets": {convert: to_long, to:[{field: "network.packets", setter: fld_set}]}, - "parent_pid": {convert: to_long, to:[{field: "process.parent.pid", setter: fld_prio, prio: 0}]}, - "parent_pid_val": {to:[{field: "process.parent.title", setter: fld_set}]}, - "parent_process": {to:[{field: "process.parent.name", setter: fld_prio, prio: 0}]}, - "patient_fullname": {to:[{field: "user.full_name", setter: fld_prio, prio: 1}]}, - "port.dst": {convert: to_long, to:[{field: "destination.port", setter: fld_prio, prio: 1}]}, - "port.src": {convert: to_long, to:[{field: "source.port", setter: fld_prio, prio: 1}]}, - "port.trans.dst": {convert: to_long, to:[{field: "destination.nat.port", setter: fld_prio, prio: 1}]}, - "port.trans.src": {convert: to_long, to:[{field: "source.nat.port", setter: fld_prio, prio: 1}]}, - "process": {to:[{field: "process.name", setter: fld_prio, prio: 0}]}, - "process_id": {convert: to_long, to:[{field: "process.pid", setter: fld_prio, prio: 0}]}, - "process_id_src": {convert: to_long, to:[{field: "process.parent.pid", setter: fld_prio, prio: 1}]}, - "process_src": {to:[{field: "process.parent.name", setter: fld_prio, prio: 1}]}, - "product": {to:[{field: "observer.product", setter: fld_set}]}, - "protocol": {to:[{field: "network.protocol", setter: fld_set}]}, - "query": {to:[{field: "url.query", setter: fld_prio, prio: 2}]}, - "rbytes": {convert: to_long, to:[{field: "destination.bytes", setter: fld_set}]}, - "referer": {to:[{field: "http.request.referrer", setter: fld_prio, prio: 1}]}, - "rulename": {to:[{field: "rule.name", setter: fld_set}]}, - "saddr": {convert: to_ip, to:[{field: "source.ip", setter: fld_set},{field: "related.ip", setter: fld_append}]}, - "saddr_v6": {convert: to_ip, to:[{field: "source.ip", setter: fld_set},{field: "related.ip", setter: fld_append}]}, - "sbytes": {convert: to_long, to:[{field: "source.bytes", setter: fld_set}]}, - "sdomain": {to:[{field: "source.domain", setter: fld_prio, prio: 0}]}, - "service": {to:[{field: "service.name", setter: fld_prio, prio: 1}]}, - "service.name": {to:[{field: "service.name", setter: fld_prio, prio: 0}]}, - "service_account": {to:[{field: "related.user", setter: fld_append},{field: "user.name", setter: fld_prio, prio: 7}]}, - "severity": {to:[{field: "log.level", setter: fld_set}]}, - "shost": {to:[{field: "host.hostname", setter: fld_set},{field: "source.address", setter: fld_set},{field: "related.hosts", setter: fld_append}]}, - "sinterface": {to:[{field: "observer.ingress.interface.name", setter: fld_set}]}, - "sld": {to:[{field: "url.registered_domain", setter: fld_set}]}, - "smacaddr": {convert: to_mac, to:[{field: "source.mac", setter: fld_set}]}, - "sport": {convert: to_long, to:[{field: "source.port", setter: fld_prio, prio: 0}]}, - "stransaddr": {convert: to_ip, to:[{field: "source.nat.ip", setter: fld_prio, prio: 0},{field: "related.ip", setter: fld_append}]}, - "stransport": {convert: to_long, to:[{field: "source.nat.port", setter: fld_prio, prio: 0}]}, - "tcp.dstport": {convert: to_long, to:[{field: "destination.port", setter: fld_prio, prio: 2}]}, - "tcp.srcport": {convert: to_long, to:[{field: "source.port", setter: fld_prio, prio: 2}]}, - "timezone": {to:[{field: "event.timezone", setter: fld_set}]}, - "tld": {to:[{field: "url.top_level_domain", setter: fld_prio, prio: 0}]}, - "udp.dstport": {convert: to_long, to:[{field: "destination.port", setter: fld_prio, prio: 3}]}, - "udp.srcport": {convert: to_long, to:[{field: "source.port", setter: fld_prio, prio: 3}]}, - "uid": {to:[{field: "related.user", setter: fld_append},{field: "user.name", setter: fld_prio, prio: 3}]}, - "url": {to:[{field: "url.original", setter: fld_prio, prio: 1}]}, - "url_raw": {to:[{field: "url.original", setter: fld_prio, prio: 0}]}, - "urldomain": {to:[{field: "url.domain", setter: fld_prio, prio: 0}]}, - "urlquery": {to:[{field: "url.query", setter: fld_prio, prio: 0}]}, - "user": {to:[{field: "related.user", setter: fld_append},{field: "user.name", setter: fld_prio, prio: 0}]}, - "user.id": {to:[{field: "user.id", setter: fld_prio, prio: 1}]}, - "user_agent": {to:[{field: "user_agent.original", setter: fld_set}]}, - "user_fullname": {to:[{field: "user.full_name", setter: fld_prio, prio: 0}]}, - "user_id": {to:[{field: "user.id", setter: fld_prio, prio: 0}]}, - "username": {to:[{field: "related.user", setter: fld_append},{field: "user.name", setter: fld_prio, prio: 1}]}, - "version": {to:[{field: "observer.version", setter: fld_set}]}, - "web_domain": {to:[{field: "url.domain", setter: fld_prio, prio: 1},{field: "related.hosts", setter: fld_append}]}, - "web_extension": {to:[{field: "file.extension", setter: fld_prio, prio: 0}]}, - "web_query": {to:[{field: "url.query", setter: fld_prio, prio: 1}]}, - "web_ref_domain": {to:[{field: "related.hosts", setter: fld_append}]}, - "web_referer": {to:[{field: "http.request.referrer", setter: fld_prio, prio: 0}]}, - "web_root": {to:[{field: "url.path", setter: fld_set}]}, - "webpage": {to:[{field: "file.name", setter: fld_prio, prio: 1}]}, - }; - - var rsa_mappings = { - "access_point": {to:[{field: "rsa.wireless.access_point", setter: fld_set}]}, - "accesses": {to:[{field: "rsa.identity.accesses", setter: fld_set}]}, - "acl_id": {to:[{field: "rsa.misc.acl_id", setter: fld_set}]}, - "acl_op": {to:[{field: "rsa.misc.acl_op", setter: fld_set}]}, - "acl_pos": {to:[{field: "rsa.misc.acl_pos", setter: fld_set}]}, - "acl_table": {to:[{field: "rsa.misc.acl_table", setter: fld_set}]}, - "action": {to:[{field: "rsa.misc.action", setter: fld_append}]}, - "ad_computer_dst": {to:[{field: "rsa.network.ad_computer_dst", setter: fld_set}]}, - "addr": {to:[{field: "rsa.network.addr", setter: fld_set}]}, - "admin": {to:[{field: "rsa.misc.admin", setter: fld_set}]}, - "agent": {to:[{field: "rsa.misc.client", setter: fld_prio, prio: 0}]}, - "agent.id": {to:[{field: "rsa.misc.agent_id", setter: fld_set}]}, - "alarm_id": {to:[{field: "rsa.misc.alarm_id", setter: fld_set}]}, - "alarmname": {to:[{field: "rsa.misc.alarmname", setter: fld_set}]}, - "alert": {to:[{field: "rsa.threat.alert", setter: fld_set}]}, - "alert_id": {to:[{field: "rsa.misc.alert_id", setter: fld_set}]}, - "alias.host": {to:[{field: "rsa.network.alias_host", setter: fld_append}]}, - "analysis.file": {to:[{field: "rsa.investigations.analysis_file", setter: fld_set}]}, - "analysis.service": {to:[{field: "rsa.investigations.analysis_service", setter: fld_set}]}, - "analysis.session": {to:[{field: "rsa.investigations.analysis_session", setter: fld_set}]}, - "app_id": {to:[{field: "rsa.misc.app_id", setter: fld_set}]}, - "attachment": {to:[{field: "rsa.file.attachment", setter: fld_set}]}, - "audit": {to:[{field: "rsa.misc.audit", setter: fld_set}]}, - "audit_class": {to:[{field: "rsa.internal.audit_class", setter: fld_set}]}, - "audit_object": {to:[{field: "rsa.misc.audit_object", setter: fld_set}]}, - "auditdata": {to:[{field: "rsa.misc.auditdata", setter: fld_set}]}, - "authmethod": {to:[{field: "rsa.identity.auth_method", setter: fld_set}]}, - "autorun_type": {to:[{field: "rsa.misc.autorun_type", setter: fld_set}]}, - "bcc": {to:[{field: "rsa.email.email", setter: fld_append}]}, - "benchmark": {to:[{field: "rsa.misc.benchmark", setter: fld_set}]}, - "binary": {to:[{field: "rsa.file.binary", setter: fld_set}]}, - "boc": {to:[{field: "rsa.investigations.boc", setter: fld_set}]}, - "bssid": {to:[{field: "rsa.wireless.wlan_ssid", setter: fld_prio, prio: 1}]}, - "bypass": {to:[{field: "rsa.misc.bypass", setter: fld_set}]}, - "c_sid": {to:[{field: "rsa.identity.user_sid_src", setter: fld_set}]}, - "cache": {to:[{field: "rsa.misc.cache", setter: fld_set}]}, - "cache_hit": {to:[{field: "rsa.misc.cache_hit", setter: fld_set}]}, - "calling_from": {to:[{field: "rsa.misc.phone", setter: fld_prio, prio: 1}]}, - "calling_to": {to:[{field: "rsa.misc.phone", setter: fld_prio, prio: 0}]}, - "category": {to:[{field: "rsa.misc.category", setter: fld_set}]}, - "cc": {to:[{field: "rsa.email.email", setter: fld_append}]}, - "cc.number": {convert: to_long, to:[{field: "rsa.misc.cc_number", setter: fld_set}]}, - "cefversion": {to:[{field: "rsa.misc.cefversion", setter: fld_set}]}, - "cert.serial": {to:[{field: "rsa.crypto.cert_serial", setter: fld_set}]}, - "cert_ca": {to:[{field: "rsa.crypto.cert_ca", setter: fld_set}]}, - "cert_checksum": {to:[{field: "rsa.crypto.cert_checksum", setter: fld_set}]}, - "cert_common": {to:[{field: "rsa.crypto.cert_common", setter: fld_set}]}, - "cert_error": {to:[{field: "rsa.crypto.cert_error", setter: fld_set}]}, - "cert_hostname": {to:[{field: "rsa.crypto.cert_host_name", setter: fld_set}]}, - "cert_hostname_cat": {to:[{field: "rsa.crypto.cert_host_cat", setter: fld_set}]}, - "cert_issuer": {to:[{field: "rsa.crypto.cert_issuer", setter: fld_set}]}, - "cert_keysize": {to:[{field: "rsa.crypto.cert_keysize", setter: fld_set}]}, - "cert_status": {to:[{field: "rsa.crypto.cert_status", setter: fld_set}]}, - "cert_subject": {to:[{field: "rsa.crypto.cert_subject", setter: fld_set}]}, - "cert_username": {to:[{field: "rsa.crypto.cert_username", setter: fld_set}]}, - "cfg.attr": {to:[{field: "rsa.misc.cfg_attr", setter: fld_set}]}, - "cfg.obj": {to:[{field: "rsa.misc.cfg_obj", setter: fld_set}]}, - "cfg.path": {to:[{field: "rsa.misc.cfg_path", setter: fld_set}]}, - "change_attribute": {to:[{field: "rsa.misc.change_attrib", setter: fld_set}]}, - "change_new": {to:[{field: "rsa.misc.change_new", setter: fld_set}]}, - "change_old": {to:[{field: "rsa.misc.change_old", setter: fld_set}]}, - "changes": {to:[{field: "rsa.misc.changes", setter: fld_set}]}, - "checksum": {to:[{field: "rsa.misc.checksum", setter: fld_set}]}, - "checksum.dst": {to:[{field: "rsa.misc.checksum_dst", setter: fld_set}]}, - "checksum.src": {to:[{field: "rsa.misc.checksum_src", setter: fld_set}]}, - "cid": {to:[{field: "rsa.internal.cid", setter: fld_set}]}, - "client": {to:[{field: "rsa.misc.client", setter: fld_prio, prio: 1}]}, - "client_ip": {to:[{field: "rsa.misc.client_ip", setter: fld_set}]}, - "clustermembers": {to:[{field: "rsa.misc.clustermembers", setter: fld_set}]}, - "cmd": {to:[{field: "rsa.misc.cmd", setter: fld_set}]}, - "cn_acttimeout": {to:[{field: "rsa.misc.cn_acttimeout", setter: fld_set}]}, - "cn_asn_dst": {to:[{field: "rsa.web.cn_asn_dst", setter: fld_set}]}, - "cn_asn_src": {to:[{field: "rsa.misc.cn_asn_src", setter: fld_set}]}, - "cn_bgpv4nxthop": {to:[{field: "rsa.misc.cn_bgpv4nxthop", setter: fld_set}]}, - "cn_ctr_dst_code": {to:[{field: "rsa.misc.cn_ctr_dst_code", setter: fld_set}]}, - "cn_dst_tos": {to:[{field: "rsa.misc.cn_dst_tos", setter: fld_set}]}, - "cn_dst_vlan": {to:[{field: "rsa.misc.cn_dst_vlan", setter: fld_set}]}, - "cn_engine_id": {to:[{field: "rsa.misc.cn_engine_id", setter: fld_set}]}, - "cn_engine_type": {to:[{field: "rsa.misc.cn_engine_type", setter: fld_set}]}, - "cn_f_switch": {to:[{field: "rsa.misc.cn_f_switch", setter: fld_set}]}, - "cn_flowsampid": {to:[{field: "rsa.misc.cn_flowsampid", setter: fld_set}]}, - "cn_flowsampintv": {to:[{field: "rsa.misc.cn_flowsampintv", setter: fld_set}]}, - "cn_flowsampmode": {to:[{field: "rsa.misc.cn_flowsampmode", setter: fld_set}]}, - "cn_inacttimeout": {to:[{field: "rsa.misc.cn_inacttimeout", setter: fld_set}]}, - "cn_inpermbyts": {to:[{field: "rsa.misc.cn_inpermbyts", setter: fld_set}]}, - "cn_inpermpckts": {to:[{field: "rsa.misc.cn_inpermpckts", setter: fld_set}]}, - "cn_invalid": {to:[{field: "rsa.misc.cn_invalid", setter: fld_set}]}, - "cn_ip_proto_ver": {to:[{field: "rsa.misc.cn_ip_proto_ver", setter: fld_set}]}, - "cn_ipv4_ident": {to:[{field: "rsa.misc.cn_ipv4_ident", setter: fld_set}]}, - "cn_l_switch": {to:[{field: "rsa.misc.cn_l_switch", setter: fld_set}]}, - "cn_log_did": {to:[{field: "rsa.misc.cn_log_did", setter: fld_set}]}, - "cn_log_rid": {to:[{field: "rsa.misc.cn_log_rid", setter: fld_set}]}, - "cn_max_ttl": {to:[{field: "rsa.misc.cn_max_ttl", setter: fld_set}]}, - "cn_maxpcktlen": {to:[{field: "rsa.misc.cn_maxpcktlen", setter: fld_set}]}, - "cn_min_ttl": {to:[{field: "rsa.misc.cn_min_ttl", setter: fld_set}]}, - "cn_minpcktlen": {to:[{field: "rsa.misc.cn_minpcktlen", setter: fld_set}]}, - "cn_mpls_lbl_1": {to:[{field: "rsa.misc.cn_mpls_lbl_1", setter: fld_set}]}, - "cn_mpls_lbl_10": {to:[{field: "rsa.misc.cn_mpls_lbl_10", setter: fld_set}]}, - "cn_mpls_lbl_2": {to:[{field: "rsa.misc.cn_mpls_lbl_2", setter: fld_set}]}, - "cn_mpls_lbl_3": {to:[{field: "rsa.misc.cn_mpls_lbl_3", setter: fld_set}]}, - "cn_mpls_lbl_4": {to:[{field: "rsa.misc.cn_mpls_lbl_4", setter: fld_set}]}, - "cn_mpls_lbl_5": {to:[{field: "rsa.misc.cn_mpls_lbl_5", setter: fld_set}]}, - "cn_mpls_lbl_6": {to:[{field: "rsa.misc.cn_mpls_lbl_6", setter: fld_set}]}, - "cn_mpls_lbl_7": {to:[{field: "rsa.misc.cn_mpls_lbl_7", setter: fld_set}]}, - "cn_mpls_lbl_8": {to:[{field: "rsa.misc.cn_mpls_lbl_8", setter: fld_set}]}, - "cn_mpls_lbl_9": {to:[{field: "rsa.misc.cn_mpls_lbl_9", setter: fld_set}]}, - "cn_mplstoplabel": {to:[{field: "rsa.misc.cn_mplstoplabel", setter: fld_set}]}, - "cn_mplstoplabip": {to:[{field: "rsa.misc.cn_mplstoplabip", setter: fld_set}]}, - "cn_mul_dst_byt": {to:[{field: "rsa.misc.cn_mul_dst_byt", setter: fld_set}]}, - "cn_mul_dst_pks": {to:[{field: "rsa.misc.cn_mul_dst_pks", setter: fld_set}]}, - "cn_muligmptype": {to:[{field: "rsa.misc.cn_muligmptype", setter: fld_set}]}, - "cn_rpackets": {to:[{field: "rsa.web.cn_rpackets", setter: fld_set}]}, - "cn_sampalgo": {to:[{field: "rsa.misc.cn_sampalgo", setter: fld_set}]}, - "cn_sampint": {to:[{field: "rsa.misc.cn_sampint", setter: fld_set}]}, - "cn_seqctr": {to:[{field: "rsa.misc.cn_seqctr", setter: fld_set}]}, - "cn_spackets": {to:[{field: "rsa.misc.cn_spackets", setter: fld_set}]}, - "cn_src_tos": {to:[{field: "rsa.misc.cn_src_tos", setter: fld_set}]}, - "cn_src_vlan": {to:[{field: "rsa.misc.cn_src_vlan", setter: fld_set}]}, - "cn_sysuptime": {to:[{field: "rsa.misc.cn_sysuptime", setter: fld_set}]}, - "cn_template_id": {to:[{field: "rsa.misc.cn_template_id", setter: fld_set}]}, - "cn_totbytsexp": {to:[{field: "rsa.misc.cn_totbytsexp", setter: fld_set}]}, - "cn_totflowexp": {to:[{field: "rsa.misc.cn_totflowexp", setter: fld_set}]}, - "cn_totpcktsexp": {to:[{field: "rsa.misc.cn_totpcktsexp", setter: fld_set}]}, - "cn_unixnanosecs": {to:[{field: "rsa.misc.cn_unixnanosecs", setter: fld_set}]}, - "cn_v6flowlabel": {to:[{field: "rsa.misc.cn_v6flowlabel", setter: fld_set}]}, - "cn_v6optheaders": {to:[{field: "rsa.misc.cn_v6optheaders", setter: fld_set}]}, - "code": {to:[{field: "rsa.misc.code", setter: fld_set}]}, - "command": {to:[{field: "rsa.misc.command", setter: fld_set}]}, - "comments": {to:[{field: "rsa.misc.comments", setter: fld_set}]}, - "comp_class": {to:[{field: "rsa.misc.comp_class", setter: fld_set}]}, - "comp_name": {to:[{field: "rsa.misc.comp_name", setter: fld_set}]}, - "comp_rbytes": {to:[{field: "rsa.misc.comp_rbytes", setter: fld_set}]}, - "comp_sbytes": {to:[{field: "rsa.misc.comp_sbytes", setter: fld_set}]}, - "component_version": {to:[{field: "rsa.misc.comp_version", setter: fld_set}]}, - "connection_id": {to:[{field: "rsa.misc.connection_id", setter: fld_prio, prio: 1}]}, - "connectionid": {to:[{field: "rsa.misc.connection_id", setter: fld_prio, prio: 0}]}, - "content": {to:[{field: "rsa.misc.content", setter: fld_set}]}, - "content_type": {to:[{field: "rsa.misc.content_type", setter: fld_set}]}, - "content_version": {to:[{field: "rsa.misc.content_version", setter: fld_set}]}, - "context": {to:[{field: "rsa.misc.context", setter: fld_set}]}, - "count": {to:[{field: "rsa.misc.count", setter: fld_set}]}, - "cpu": {convert: to_long, to:[{field: "rsa.misc.cpu", setter: fld_set}]}, - "cpu_data": {to:[{field: "rsa.misc.cpu_data", setter: fld_set}]}, - "criticality": {to:[{field: "rsa.misc.criticality", setter: fld_set}]}, - "cs_agency_dst": {to:[{field: "rsa.misc.cs_agency_dst", setter: fld_set}]}, - "cs_analyzedby": {to:[{field: "rsa.misc.cs_analyzedby", setter: fld_set}]}, - "cs_av_other": {to:[{field: "rsa.misc.cs_av_other", setter: fld_set}]}, - "cs_av_primary": {to:[{field: "rsa.misc.cs_av_primary", setter: fld_set}]}, - "cs_av_secondary": {to:[{field: "rsa.misc.cs_av_secondary", setter: fld_set}]}, - "cs_bgpv6nxthop": {to:[{field: "rsa.misc.cs_bgpv6nxthop", setter: fld_set}]}, - "cs_bit9status": {to:[{field: "rsa.misc.cs_bit9status", setter: fld_set}]}, - "cs_context": {to:[{field: "rsa.misc.cs_context", setter: fld_set}]}, - "cs_control": {to:[{field: "rsa.misc.cs_control", setter: fld_set}]}, - "cs_data": {to:[{field: "rsa.misc.cs_data", setter: fld_set}]}, - "cs_datecret": {to:[{field: "rsa.misc.cs_datecret", setter: fld_set}]}, - "cs_dst_tld": {to:[{field: "rsa.misc.cs_dst_tld", setter: fld_set}]}, - "cs_eth_dst_ven": {to:[{field: "rsa.misc.cs_eth_dst_ven", setter: fld_set}]}, - "cs_eth_src_ven": {to:[{field: "rsa.misc.cs_eth_src_ven", setter: fld_set}]}, - "cs_event_uuid": {to:[{field: "rsa.misc.cs_event_uuid", setter: fld_set}]}, - "cs_filetype": {to:[{field: "rsa.misc.cs_filetype", setter: fld_set}]}, - "cs_fld": {to:[{field: "rsa.misc.cs_fld", setter: fld_set}]}, - "cs_if_desc": {to:[{field: "rsa.misc.cs_if_desc", setter: fld_set}]}, - "cs_if_name": {to:[{field: "rsa.misc.cs_if_name", setter: fld_set}]}, - "cs_ip_next_hop": {to:[{field: "rsa.misc.cs_ip_next_hop", setter: fld_set}]}, - "cs_ipv4dstpre": {to:[{field: "rsa.misc.cs_ipv4dstpre", setter: fld_set}]}, - "cs_ipv4srcpre": {to:[{field: "rsa.misc.cs_ipv4srcpre", setter: fld_set}]}, - "cs_lifetime": {to:[{field: "rsa.misc.cs_lifetime", setter: fld_set}]}, - "cs_log_medium": {to:[{field: "rsa.misc.cs_log_medium", setter: fld_set}]}, - "cs_loginname": {to:[{field: "rsa.misc.cs_loginname", setter: fld_set}]}, - "cs_modulescore": {to:[{field: "rsa.misc.cs_modulescore", setter: fld_set}]}, - "cs_modulesign": {to:[{field: "rsa.misc.cs_modulesign", setter: fld_set}]}, - "cs_opswatresult": {to:[{field: "rsa.misc.cs_opswatresult", setter: fld_set}]}, - "cs_payload": {to:[{field: "rsa.misc.cs_payload", setter: fld_set}]}, - "cs_registrant": {to:[{field: "rsa.misc.cs_registrant", setter: fld_set}]}, - "cs_registrar": {to:[{field: "rsa.misc.cs_registrar", setter: fld_set}]}, - "cs_represult": {to:[{field: "rsa.misc.cs_represult", setter: fld_set}]}, - "cs_rpayload": {to:[{field: "rsa.misc.cs_rpayload", setter: fld_set}]}, - "cs_sampler_name": {to:[{field: "rsa.misc.cs_sampler_name", setter: fld_set}]}, - "cs_sourcemodule": {to:[{field: "rsa.misc.cs_sourcemodule", setter: fld_set}]}, - "cs_streams": {to:[{field: "rsa.misc.cs_streams", setter: fld_set}]}, - "cs_targetmodule": {to:[{field: "rsa.misc.cs_targetmodule", setter: fld_set}]}, - "cs_v6nxthop": {to:[{field: "rsa.misc.cs_v6nxthop", setter: fld_set}]}, - "cs_whois_server": {to:[{field: "rsa.misc.cs_whois_server", setter: fld_set}]}, - "cs_yararesult": {to:[{field: "rsa.misc.cs_yararesult", setter: fld_set}]}, - "cve": {to:[{field: "rsa.misc.cve", setter: fld_set}]}, - "d_certauth": {to:[{field: "rsa.crypto.d_certauth", setter: fld_set}]}, - "d_cipher": {to:[{field: "rsa.crypto.cipher_dst", setter: fld_set}]}, - "d_ciphersize": {convert: to_long, to:[{field: "rsa.crypto.cipher_size_dst", setter: fld_set}]}, - "d_sslver": {to:[{field: "rsa.crypto.ssl_ver_dst", setter: fld_set}]}, - "data": {to:[{field: "rsa.internal.data", setter: fld_set}]}, - "data_type": {to:[{field: "rsa.misc.data_type", setter: fld_set}]}, - "date": {to:[{field: "rsa.time.date", setter: fld_set}]}, - "datetime": {to:[{field: "rsa.time.datetime", setter: fld_set}]}, - "day": {to:[{field: "rsa.time.day", setter: fld_set}]}, - "db_id": {to:[{field: "rsa.db.db_id", setter: fld_set}]}, - "db_name": {to:[{field: "rsa.db.database", setter: fld_set}]}, - "db_pid": {convert: to_long, to:[{field: "rsa.db.db_pid", setter: fld_set}]}, - "dclass_counter1": {convert: to_long, to:[{field: "rsa.counters.dclass_c1", setter: fld_set}]}, - "dclass_counter1_string": {to:[{field: "rsa.counters.dclass_c1_str", setter: fld_set}]}, - "dclass_counter2": {convert: to_long, to:[{field: "rsa.counters.dclass_c2", setter: fld_set}]}, - "dclass_counter2_string": {to:[{field: "rsa.counters.dclass_c2_str", setter: fld_set}]}, - "dclass_counter3": {convert: to_long, to:[{field: "rsa.counters.dclass_c3", setter: fld_set}]}, - "dclass_counter3_string": {to:[{field: "rsa.counters.dclass_c3_str", setter: fld_set}]}, - "dclass_ratio1": {to:[{field: "rsa.counters.dclass_r1", setter: fld_set}]}, - "dclass_ratio1_string": {to:[{field: "rsa.counters.dclass_r1_str", setter: fld_set}]}, - "dclass_ratio2": {to:[{field: "rsa.counters.dclass_r2", setter: fld_set}]}, - "dclass_ratio2_string": {to:[{field: "rsa.counters.dclass_r2_str", setter: fld_set}]}, - "dclass_ratio3": {to:[{field: "rsa.counters.dclass_r3", setter: fld_set}]}, - "dclass_ratio3_string": {to:[{field: "rsa.counters.dclass_r3_str", setter: fld_set}]}, - "dead": {convert: to_long, to:[{field: "rsa.internal.dead", setter: fld_set}]}, - "description": {to:[{field: "rsa.misc.description", setter: fld_set}]}, - "detail": {to:[{field: "rsa.misc.event_desc", setter: fld_set}]}, - "device": {to:[{field: "rsa.misc.device_name", setter: fld_set}]}, - "device.class": {to:[{field: "rsa.internal.device_class", setter: fld_set}]}, - "device.group": {to:[{field: "rsa.internal.device_group", setter: fld_set}]}, - "device.host": {to:[{field: "rsa.internal.device_host", setter: fld_set}]}, - "device.ip": {convert: to_ip, to:[{field: "rsa.internal.device_ip", setter: fld_set}]}, - "device.ipv6": {convert: to_ip, to:[{field: "rsa.internal.device_ipv6", setter: fld_set}]}, - "device.type": {to:[{field: "rsa.internal.device_type", setter: fld_set}]}, - "device.type.id": {convert: to_long, to:[{field: "rsa.internal.device_type_id", setter: fld_set}]}, - "devicehostname": {to:[{field: "rsa.network.alias_host", setter: fld_append}]}, - "devvendor": {to:[{field: "rsa.misc.devvendor", setter: fld_set}]}, - "dhost": {to:[{field: "rsa.network.host_dst", setter: fld_set}]}, - "did": {to:[{field: "rsa.internal.did", setter: fld_set}]}, - "dinterface": {to:[{field: "rsa.network.dinterface", setter: fld_set}]}, - "directory.dst": {to:[{field: "rsa.file.directory_dst", setter: fld_set}]}, - "directory.src": {to:[{field: "rsa.file.directory_src", setter: fld_set}]}, - "disk_volume": {to:[{field: "rsa.storage.disk_volume", setter: fld_set}]}, - "disposition": {to:[{field: "rsa.misc.disposition", setter: fld_set}]}, - "distance": {to:[{field: "rsa.misc.distance", setter: fld_set}]}, - "dmask": {to:[{field: "rsa.network.dmask", setter: fld_set}]}, - "dn": {to:[{field: "rsa.identity.dn", setter: fld_set}]}, - "dns_a_record": {to:[{field: "rsa.network.dns_a_record", setter: fld_set}]}, - "dns_cname_record": {to:[{field: "rsa.network.dns_cname_record", setter: fld_set}]}, - "dns_id": {to:[{field: "rsa.network.dns_id", setter: fld_set}]}, - "dns_opcode": {to:[{field: "rsa.network.dns_opcode", setter: fld_set}]}, - "dns_ptr_record": {to:[{field: "rsa.network.dns_ptr_record", setter: fld_set}]}, - "dns_resp": {to:[{field: "rsa.network.dns_resp", setter: fld_set}]}, - "dns_type": {to:[{field: "rsa.network.dns_type", setter: fld_set}]}, - "doc_number": {convert: to_long, to:[{field: "rsa.misc.doc_number", setter: fld_set}]}, - "domain": {to:[{field: "rsa.network.domain", setter: fld_set}]}, - "domain1": {to:[{field: "rsa.network.domain1", setter: fld_set}]}, - "dst_dn": {to:[{field: "rsa.identity.dn_dst", setter: fld_set}]}, - "dst_payload": {to:[{field: "rsa.misc.payload_dst", setter: fld_set}]}, - "dst_spi": {to:[{field: "rsa.misc.spi_dst", setter: fld_set}]}, - "dst_zone": {to:[{field: "rsa.network.zone_dst", setter: fld_set}]}, - "dstburb": {to:[{field: "rsa.misc.dstburb", setter: fld_set}]}, - "duration": {convert: to_double, to:[{field: "rsa.time.duration_time", setter: fld_set}]}, - "duration_string": {to:[{field: "rsa.time.duration_str", setter: fld_set}]}, - "ec_activity": {to:[{field: "rsa.investigations.ec_activity", setter: fld_set}]}, - "ec_outcome": {to:[{field: "rsa.investigations.ec_outcome", setter: fld_set}]}, - "ec_subject": {to:[{field: "rsa.investigations.ec_subject", setter: fld_set}]}, - "ec_theme": {to:[{field: "rsa.investigations.ec_theme", setter: fld_set}]}, - "edomain": {to:[{field: "rsa.misc.edomain", setter: fld_set}]}, - "edomaub": {to:[{field: "rsa.misc.edomaub", setter: fld_set}]}, - "effective_time": {convert: to_date, to:[{field: "rsa.time.effective_time", setter: fld_set}]}, - "ein.number": {convert: to_long, to:[{field: "rsa.misc.ein_number", setter: fld_set}]}, - "email": {to:[{field: "rsa.email.email", setter: fld_append}]}, - "encryption_type": {to:[{field: "rsa.crypto.crypto", setter: fld_set}]}, - "endtime": {convert: to_date, to:[{field: "rsa.time.endtime", setter: fld_set}]}, - "entropy.req": {convert: to_long, to:[{field: "rsa.internal.entropy_req", setter: fld_set}]}, - "entropy.res": {convert: to_long, to:[{field: "rsa.internal.entropy_res", setter: fld_set}]}, - "entry": {to:[{field: "rsa.internal.entry", setter: fld_set}]}, - "eoc": {to:[{field: "rsa.investigations.eoc", setter: fld_set}]}, - "error": {to:[{field: "rsa.misc.error", setter: fld_set}]}, - "eth_type": {convert: to_long, to:[{field: "rsa.network.eth_type", setter: fld_set}]}, - "euid": {to:[{field: "rsa.misc.euid", setter: fld_set}]}, - "event.cat": {convert: to_long, to:[{field: "rsa.investigations.event_cat", setter: fld_prio, prio: 1}]}, - "event.cat.name": {to:[{field: "rsa.investigations.event_cat_name", setter: fld_prio, prio: 1}]}, - "event_cat": {convert: to_long, to:[{field: "rsa.investigations.event_cat", setter: fld_prio, prio: 0}]}, - "event_cat_name": {to:[{field: "rsa.investigations.event_cat_name", setter: fld_prio, prio: 0}]}, - "event_category": {to:[{field: "rsa.misc.event_category", setter: fld_set}]}, - "event_computer": {to:[{field: "rsa.misc.event_computer", setter: fld_set}]}, - "event_counter": {convert: to_long, to:[{field: "rsa.counters.event_counter", setter: fld_set}]}, - "event_description": {to:[{field: "rsa.internal.event_desc", setter: fld_set}]}, - "event_id": {to:[{field: "rsa.misc.event_id", setter: fld_set}]}, - "event_log": {to:[{field: "rsa.misc.event_log", setter: fld_set}]}, - "event_name": {to:[{field: "rsa.internal.event_name", setter: fld_set}]}, - "event_queue_time": {convert: to_date, to:[{field: "rsa.time.event_queue_time", setter: fld_set}]}, - "event_source": {to:[{field: "rsa.misc.event_source", setter: fld_set}]}, - "event_state": {to:[{field: "rsa.misc.event_state", setter: fld_set}]}, - "event_time": {convert: to_date, to:[{field: "rsa.time.event_time", setter: fld_set}]}, - "event_time_str": {to:[{field: "rsa.time.event_time_str", setter: fld_prio, prio: 1}]}, - "event_time_string": {to:[{field: "rsa.time.event_time_str", setter: fld_prio, prio: 0}]}, - "event_type": {to:[{field: "rsa.misc.event_type", setter: fld_set}]}, - "event_user": {to:[{field: "rsa.misc.event_user", setter: fld_set}]}, - "eventtime": {to:[{field: "rsa.time.eventtime", setter: fld_set}]}, - "expected_val": {to:[{field: "rsa.misc.expected_val", setter: fld_set}]}, - "expiration_time": {convert: to_date, to:[{field: "rsa.time.expire_time", setter: fld_set}]}, - "expiration_time_string": {to:[{field: "rsa.time.expire_time_str", setter: fld_set}]}, - "facility": {to:[{field: "rsa.misc.facility", setter: fld_set}]}, - "facilityname": {to:[{field: "rsa.misc.facilityname", setter: fld_set}]}, - "faddr": {to:[{field: "rsa.network.faddr", setter: fld_set}]}, - "fcatnum": {to:[{field: "rsa.misc.fcatnum", setter: fld_set}]}, - "federated_idp": {to:[{field: "rsa.identity.federated_idp", setter: fld_set}]}, - "federated_sp": {to:[{field: "rsa.identity.federated_sp", setter: fld_set}]}, - "feed.category": {to:[{field: "rsa.internal.feed_category", setter: fld_set}]}, - "feed_desc": {to:[{field: "rsa.internal.feed_desc", setter: fld_set}]}, - "feed_name": {to:[{field: "rsa.internal.feed_name", setter: fld_set}]}, - "fhost": {to:[{field: "rsa.network.fhost", setter: fld_set}]}, - "file_entropy": {convert: to_double, to:[{field: "rsa.file.file_entropy", setter: fld_set}]}, - "file_vendor": {to:[{field: "rsa.file.file_vendor", setter: fld_set}]}, - "filename_dst": {to:[{field: "rsa.file.filename_dst", setter: fld_set}]}, - "filename_src": {to:[{field: "rsa.file.filename_src", setter: fld_set}]}, - "filename_tmp": {to:[{field: "rsa.file.filename_tmp", setter: fld_set}]}, - "filesystem": {to:[{field: "rsa.file.filesystem", setter: fld_set}]}, - "filter": {to:[{field: "rsa.misc.filter", setter: fld_set}]}, - "finterface": {to:[{field: "rsa.misc.finterface", setter: fld_set}]}, - "flags": {to:[{field: "rsa.misc.flags", setter: fld_set}]}, - "forensic_info": {to:[{field: "rsa.misc.forensic_info", setter: fld_set}]}, - "forward.ip": {convert: to_ip, to:[{field: "rsa.internal.forward_ip", setter: fld_set}]}, - "forward.ipv6": {convert: to_ip, to:[{field: "rsa.internal.forward_ipv6", setter: fld_set}]}, - "found": {to:[{field: "rsa.misc.found", setter: fld_set}]}, - "fport": {to:[{field: "rsa.network.fport", setter: fld_set}]}, - "fqdn": {to:[{field: "rsa.web.fqdn", setter: fld_set}]}, - "fresult": {convert: to_long, to:[{field: "rsa.misc.fresult", setter: fld_set}]}, - "from": {to:[{field: "rsa.email.email_src", setter: fld_set}]}, - "gaddr": {to:[{field: "rsa.misc.gaddr", setter: fld_set}]}, - "gateway": {to:[{field: "rsa.network.gateway", setter: fld_set}]}, - "gmtdate": {to:[{field: "rsa.time.gmtdate", setter: fld_set}]}, - "gmttime": {to:[{field: "rsa.time.gmttime", setter: fld_set}]}, - "group": {to:[{field: "rsa.misc.group", setter: fld_set}]}, - "group_object": {to:[{field: "rsa.misc.group_object", setter: fld_set}]}, - "groupid": {to:[{field: "rsa.misc.group_id", setter: fld_set}]}, - "h_code": {to:[{field: "rsa.internal.hcode", setter: fld_set}]}, - "hardware_id": {to:[{field: "rsa.misc.hardware_id", setter: fld_set}]}, - "header.id": {to:[{field: "rsa.internal.header_id", setter: fld_set}]}, - "host.orig": {to:[{field: "rsa.network.host_orig", setter: fld_set}]}, - "host.state": {to:[{field: "rsa.endpoint.host_state", setter: fld_set}]}, - "host.type": {to:[{field: "rsa.network.host_type", setter: fld_set}]}, - "host_role": {to:[{field: "rsa.identity.host_role", setter: fld_set}]}, - "hostid": {to:[{field: "rsa.network.alias_host", setter: fld_append}]}, - "hostname": {to:[{field: "rsa.network.alias_host", setter: fld_append}]}, - "hour": {to:[{field: "rsa.time.hour", setter: fld_set}]}, - "https.insact": {to:[{field: "rsa.crypto.https_insact", setter: fld_set}]}, - "https.valid": {to:[{field: "rsa.crypto.https_valid", setter: fld_set}]}, - "icmpcode": {convert: to_long, to:[{field: "rsa.network.icmp_code", setter: fld_set}]}, - "icmptype": {convert: to_long, to:[{field: "rsa.network.icmp_type", setter: fld_set}]}, - "id": {to:[{field: "rsa.misc.reference_id", setter: fld_set}]}, - "id1": {to:[{field: "rsa.misc.reference_id1", setter: fld_set}]}, - "id2": {to:[{field: "rsa.misc.reference_id2", setter: fld_set}]}, - "id3": {to:[{field: "rsa.misc.id3", setter: fld_set}]}, - "ike": {to:[{field: "rsa.crypto.ike", setter: fld_set}]}, - "ike_cookie1": {to:[{field: "rsa.crypto.ike_cookie1", setter: fld_set}]}, - "ike_cookie2": {to:[{field: "rsa.crypto.ike_cookie2", setter: fld_set}]}, - "im_buddyid": {to:[{field: "rsa.misc.im_buddyid", setter: fld_set}]}, - "im_buddyname": {to:[{field: "rsa.misc.im_buddyname", setter: fld_set}]}, - "im_client": {to:[{field: "rsa.misc.im_client", setter: fld_set}]}, - "im_croomid": {to:[{field: "rsa.misc.im_croomid", setter: fld_set}]}, - "im_croomtype": {to:[{field: "rsa.misc.im_croomtype", setter: fld_set}]}, - "im_members": {to:[{field: "rsa.misc.im_members", setter: fld_set}]}, - "im_userid": {to:[{field: "rsa.misc.im_userid", setter: fld_set}]}, - "im_username": {to:[{field: "rsa.misc.im_username", setter: fld_set}]}, - "index": {to:[{field: "rsa.misc.index", setter: fld_set}]}, - "info": {to:[{field: "rsa.db.index", setter: fld_set}]}, - "inode": {convert: to_long, to:[{field: "rsa.internal.inode", setter: fld_set}]}, - "inout": {to:[{field: "rsa.misc.inout", setter: fld_set}]}, - "instance": {to:[{field: "rsa.db.instance", setter: fld_set}]}, - "interface": {to:[{field: "rsa.network.interface", setter: fld_set}]}, - "inv.category": {to:[{field: "rsa.investigations.inv_category", setter: fld_set}]}, - "inv.context": {to:[{field: "rsa.investigations.inv_context", setter: fld_set}]}, - "ioc": {to:[{field: "rsa.investigations.ioc", setter: fld_set}]}, - "ip_proto": {convert: to_long, to:[{field: "rsa.network.ip_proto", setter: fld_set}]}, - "ipkt": {to:[{field: "rsa.misc.ipkt", setter: fld_set}]}, - "ipscat": {to:[{field: "rsa.misc.ipscat", setter: fld_set}]}, - "ipspri": {to:[{field: "rsa.misc.ipspri", setter: fld_set}]}, - "jobname": {to:[{field: "rsa.misc.jobname", setter: fld_set}]}, - "jobnum": {to:[{field: "rsa.misc.job_num", setter: fld_set}]}, - "laddr": {to:[{field: "rsa.network.laddr", setter: fld_set}]}, - "language": {to:[{field: "rsa.misc.language", setter: fld_set}]}, - "latitude": {to:[{field: "rsa.misc.latitude", setter: fld_set}]}, - "lc.cid": {to:[{field: "rsa.internal.lc_cid", setter: fld_set}]}, - "lc.ctime": {convert: to_date, to:[{field: "rsa.internal.lc_ctime", setter: fld_set}]}, - "ldap": {to:[{field: "rsa.identity.ldap", setter: fld_set}]}, - "ldap.query": {to:[{field: "rsa.identity.ldap_query", setter: fld_set}]}, - "ldap.response": {to:[{field: "rsa.identity.ldap_response", setter: fld_set}]}, - "level": {convert: to_long, to:[{field: "rsa.internal.level", setter: fld_set}]}, - "lhost": {to:[{field: "rsa.network.lhost", setter: fld_set}]}, - "library": {to:[{field: "rsa.misc.library", setter: fld_set}]}, - "lifetime": {convert: to_long, to:[{field: "rsa.misc.lifetime", setter: fld_set}]}, - "linenum": {to:[{field: "rsa.misc.linenum", setter: fld_set}]}, - "link": {to:[{field: "rsa.misc.link", setter: fld_set}]}, - "linterface": {to:[{field: "rsa.network.linterface", setter: fld_set}]}, - "list_name": {to:[{field: "rsa.misc.list_name", setter: fld_set}]}, - "listnum": {to:[{field: "rsa.misc.listnum", setter: fld_set}]}, - "load_data": {to:[{field: "rsa.misc.load_data", setter: fld_set}]}, - "location_floor": {to:[{field: "rsa.misc.location_floor", setter: fld_set}]}, - "location_mark": {to:[{field: "rsa.misc.location_mark", setter: fld_set}]}, - "log_id": {to:[{field: "rsa.misc.log_id", setter: fld_set}]}, - "log_type": {to:[{field: "rsa.misc.log_type", setter: fld_set}]}, - "logid": {to:[{field: "rsa.misc.logid", setter: fld_set}]}, - "logip": {to:[{field: "rsa.misc.logip", setter: fld_set}]}, - "logname": {to:[{field: "rsa.misc.logname", setter: fld_set}]}, - "logon_type": {to:[{field: "rsa.identity.logon_type", setter: fld_set}]}, - "logon_type_desc": {to:[{field: "rsa.identity.logon_type_desc", setter: fld_set}]}, - "longitude": {to:[{field: "rsa.misc.longitude", setter: fld_set}]}, - "lport": {to:[{field: "rsa.misc.lport", setter: fld_set}]}, - "lread": {convert: to_long, to:[{field: "rsa.db.lread", setter: fld_set}]}, - "lun": {to:[{field: "rsa.storage.lun", setter: fld_set}]}, - "lwrite": {convert: to_long, to:[{field: "rsa.db.lwrite", setter: fld_set}]}, - "macaddr": {convert: to_mac, to:[{field: "rsa.network.eth_host", setter: fld_set}]}, - "mail_id": {to:[{field: "rsa.misc.mail_id", setter: fld_set}]}, - "mask": {to:[{field: "rsa.network.mask", setter: fld_set}]}, - "match": {to:[{field: "rsa.misc.match", setter: fld_set}]}, - "mbug_data": {to:[{field: "rsa.misc.mbug_data", setter: fld_set}]}, - "mcb.req": {convert: to_long, to:[{field: "rsa.internal.mcb_req", setter: fld_set}]}, - "mcb.res": {convert: to_long, to:[{field: "rsa.internal.mcb_res", setter: fld_set}]}, - "mcbc.req": {convert: to_long, to:[{field: "rsa.internal.mcbc_req", setter: fld_set}]}, - "mcbc.res": {convert: to_long, to:[{field: "rsa.internal.mcbc_res", setter: fld_set}]}, - "medium": {convert: to_long, to:[{field: "rsa.internal.medium", setter: fld_set}]}, - "message": {to:[{field: "rsa.internal.message", setter: fld_set}]}, - "message_body": {to:[{field: "rsa.misc.message_body", setter: fld_set}]}, - "messageid": {to:[{field: "rsa.internal.messageid", setter: fld_set}]}, - "min": {to:[{field: "rsa.time.min", setter: fld_set}]}, - "misc": {to:[{field: "rsa.misc.misc", setter: fld_set}]}, - "misc_name": {to:[{field: "rsa.misc.misc_name", setter: fld_set}]}, - "mode": {to:[{field: "rsa.misc.mode", setter: fld_set}]}, - "month": {to:[{field: "rsa.time.month", setter: fld_set}]}, - "msg": {to:[{field: "rsa.internal.msg", setter: fld_set}]}, - "msgIdPart1": {to:[{field: "rsa.misc.msgIdPart1", setter: fld_set}]}, - "msgIdPart2": {to:[{field: "rsa.misc.msgIdPart2", setter: fld_set}]}, - "msgIdPart3": {to:[{field: "rsa.misc.msgIdPart3", setter: fld_set}]}, - "msgIdPart4": {to:[{field: "rsa.misc.msgIdPart4", setter: fld_set}]}, - "msg_id": {to:[{field: "rsa.internal.msg_id", setter: fld_set}]}, - "msg_type": {to:[{field: "rsa.misc.msg_type", setter: fld_set}]}, - "msgid": {to:[{field: "rsa.misc.msgid", setter: fld_set}]}, - "name": {to:[{field: "rsa.misc.name", setter: fld_set}]}, - "netname": {to:[{field: "rsa.network.netname", setter: fld_set}]}, - "netsessid": {to:[{field: "rsa.misc.netsessid", setter: fld_set}]}, - "network_port": {convert: to_long, to:[{field: "rsa.network.network_port", setter: fld_set}]}, - "network_service": {to:[{field: "rsa.network.network_service", setter: fld_set}]}, - "node": {to:[{field: "rsa.misc.node", setter: fld_set}]}, - "nodename": {to:[{field: "rsa.internal.node_name", setter: fld_set}]}, - "ntype": {to:[{field: "rsa.misc.ntype", setter: fld_set}]}, - "num": {to:[{field: "rsa.misc.num", setter: fld_set}]}, - "number": {to:[{field: "rsa.misc.number", setter: fld_set}]}, - "number1": {to:[{field: "rsa.misc.number1", setter: fld_set}]}, - "number2": {to:[{field: "rsa.misc.number2", setter: fld_set}]}, - "nwe.callback_id": {to:[{field: "rsa.internal.nwe_callback_id", setter: fld_set}]}, - "nwwn": {to:[{field: "rsa.misc.nwwn", setter: fld_set}]}, - "obj_id": {to:[{field: "rsa.internal.obj_id", setter: fld_set}]}, - "obj_name": {to:[{field: "rsa.misc.obj_name", setter: fld_set}]}, - "obj_server": {to:[{field: "rsa.internal.obj_server", setter: fld_set}]}, - "obj_type": {to:[{field: "rsa.misc.obj_type", setter: fld_set}]}, - "obj_value": {to:[{field: "rsa.internal.obj_val", setter: fld_set}]}, - "object": {to:[{field: "rsa.misc.object", setter: fld_set}]}, - "observed_val": {to:[{field: "rsa.misc.observed_val", setter: fld_set}]}, - "operation": {to:[{field: "rsa.misc.operation", setter: fld_set}]}, - "operation_id": {to:[{field: "rsa.misc.operation_id", setter: fld_set}]}, - "opkt": {to:[{field: "rsa.misc.opkt", setter: fld_set}]}, - "org.dst": {to:[{field: "rsa.physical.org_dst", setter: fld_prio, prio: 1}]}, - "org.src": {to:[{field: "rsa.physical.org_src", setter: fld_set}]}, - "org_dst": {to:[{field: "rsa.physical.org_dst", setter: fld_prio, prio: 0}]}, - "orig_from": {to:[{field: "rsa.misc.orig_from", setter: fld_set}]}, - "origin": {to:[{field: "rsa.network.origin", setter: fld_set}]}, - "original_owner": {to:[{field: "rsa.identity.owner", setter: fld_set}]}, - "os": {to:[{field: "rsa.misc.OS", setter: fld_set}]}, - "owner_id": {to:[{field: "rsa.misc.owner_id", setter: fld_set}]}, - "p_action": {to:[{field: "rsa.misc.p_action", setter: fld_set}]}, - "p_date": {to:[{field: "rsa.time.p_date", setter: fld_set}]}, - "p_filter": {to:[{field: "rsa.misc.p_filter", setter: fld_set}]}, - "p_group_object": {to:[{field: "rsa.misc.p_group_object", setter: fld_set}]}, - "p_id": {to:[{field: "rsa.misc.p_id", setter: fld_set}]}, - "p_month": {to:[{field: "rsa.time.p_month", setter: fld_set}]}, - "p_msgid": {to:[{field: "rsa.misc.p_msgid", setter: fld_set}]}, - "p_msgid1": {to:[{field: "rsa.misc.p_msgid1", setter: fld_set}]}, - "p_msgid2": {to:[{field: "rsa.misc.p_msgid2", setter: fld_set}]}, - "p_result1": {to:[{field: "rsa.misc.p_result1", setter: fld_set}]}, - "p_time": {to:[{field: "rsa.time.p_time", setter: fld_set}]}, - "p_time1": {to:[{field: "rsa.time.p_time1", setter: fld_set}]}, - "p_time2": {to:[{field: "rsa.time.p_time2", setter: fld_set}]}, - "p_url": {to:[{field: "rsa.web.p_url", setter: fld_set}]}, - "p_user_agent": {to:[{field: "rsa.web.p_user_agent", setter: fld_set}]}, - "p_web_cookie": {to:[{field: "rsa.web.p_web_cookie", setter: fld_set}]}, - "p_web_method": {to:[{field: "rsa.web.p_web_method", setter: fld_set}]}, - "p_web_referer": {to:[{field: "rsa.web.p_web_referer", setter: fld_set}]}, - "p_year": {to:[{field: "rsa.time.p_year", setter: fld_set}]}, - "packet_length": {to:[{field: "rsa.network.packet_length", setter: fld_set}]}, - "paddr": {convert: to_ip, to:[{field: "rsa.network.paddr", setter: fld_set}]}, - "param": {to:[{field: "rsa.misc.param", setter: fld_set}]}, - "param.dst": {to:[{field: "rsa.misc.param_dst", setter: fld_set}]}, - "param.src": {to:[{field: "rsa.misc.param_src", setter: fld_set}]}, - "parent_node": {to:[{field: "rsa.misc.parent_node", setter: fld_set}]}, - "parse.error": {to:[{field: "rsa.internal.parse_error", setter: fld_set}]}, - "password": {to:[{field: "rsa.identity.password", setter: fld_set}]}, - "password_chg": {to:[{field: "rsa.misc.password_chg", setter: fld_set}]}, - "password_expire": {to:[{field: "rsa.misc.password_expire", setter: fld_set}]}, - "patient_fname": {to:[{field: "rsa.healthcare.patient_fname", setter: fld_set}]}, - "patient_id": {to:[{field: "rsa.healthcare.patient_id", setter: fld_set}]}, - "patient_lname": {to:[{field: "rsa.healthcare.patient_lname", setter: fld_set}]}, - "patient_mname": {to:[{field: "rsa.healthcare.patient_mname", setter: fld_set}]}, - "payload.req": {convert: to_long, to:[{field: "rsa.internal.payload_req", setter: fld_set}]}, - "payload.res": {convert: to_long, to:[{field: "rsa.internal.payload_res", setter: fld_set}]}, - "peer": {to:[{field: "rsa.crypto.peer", setter: fld_set}]}, - "peer_id": {to:[{field: "rsa.crypto.peer_id", setter: fld_set}]}, - "permgranted": {to:[{field: "rsa.misc.permgranted", setter: fld_set}]}, - "permissions": {to:[{field: "rsa.db.permissions", setter: fld_set}]}, - "permwanted": {to:[{field: "rsa.misc.permwanted", setter: fld_set}]}, - "pgid": {to:[{field: "rsa.misc.pgid", setter: fld_set}]}, - "phone_number": {to:[{field: "rsa.misc.phone", setter: fld_prio, prio: 2}]}, - "phost": {to:[{field: "rsa.network.phost", setter: fld_set}]}, - "pid": {to:[{field: "rsa.misc.pid", setter: fld_set}]}, - "policy": {to:[{field: "rsa.misc.policy", setter: fld_set}]}, - "policyUUID": {to:[{field: "rsa.misc.policyUUID", setter: fld_set}]}, - "policy_id": {to:[{field: "rsa.misc.policy_id", setter: fld_set}]}, - "policy_value": {to:[{field: "rsa.misc.policy_value", setter: fld_set}]}, - "policy_waiver": {to:[{field: "rsa.misc.policy_waiver", setter: fld_set}]}, - "policyname": {to:[{field: "rsa.misc.policy_name", setter: fld_prio, prio: 0}]}, - "pool_id": {to:[{field: "rsa.misc.pool_id", setter: fld_set}]}, - "pool_name": {to:[{field: "rsa.misc.pool_name", setter: fld_set}]}, - "port": {convert: to_long, to:[{field: "rsa.network.port", setter: fld_set}]}, - "portname": {to:[{field: "rsa.misc.port_name", setter: fld_set}]}, - "pread": {convert: to_long, to:[{field: "rsa.db.pread", setter: fld_set}]}, - "priority": {to:[{field: "rsa.misc.priority", setter: fld_set}]}, - "privilege": {to:[{field: "rsa.file.privilege", setter: fld_set}]}, - "process.vid.dst": {to:[{field: "rsa.internal.process_vid_dst", setter: fld_set}]}, - "process.vid.src": {to:[{field: "rsa.internal.process_vid_src", setter: fld_set}]}, - "process_id_val": {to:[{field: "rsa.misc.process_id_val", setter: fld_set}]}, - "processing_time": {to:[{field: "rsa.time.process_time", setter: fld_set}]}, - "profile": {to:[{field: "rsa.identity.profile", setter: fld_set}]}, - "prog_asp_num": {to:[{field: "rsa.misc.prog_asp_num", setter: fld_set}]}, - "program": {to:[{field: "rsa.misc.program", setter: fld_set}]}, - "protocol_detail": {to:[{field: "rsa.network.protocol_detail", setter: fld_set}]}, - "pwwn": {to:[{field: "rsa.storage.pwwn", setter: fld_set}]}, - "r_hostid": {to:[{field: "rsa.network.alias_host", setter: fld_append}]}, - "real_data": {to:[{field: "rsa.misc.real_data", setter: fld_set}]}, - "realm": {to:[{field: "rsa.identity.realm", setter: fld_set}]}, - "reason": {to:[{field: "rsa.misc.reason", setter: fld_set}]}, - "rec_asp_device": {to:[{field: "rsa.misc.rec_asp_device", setter: fld_set}]}, - "rec_asp_num": {to:[{field: "rsa.misc.rec_asp_num", setter: fld_set}]}, - "rec_library": {to:[{field: "rsa.misc.rec_library", setter: fld_set}]}, - "recorded_time": {convert: to_date, to:[{field: "rsa.time.recorded_time", setter: fld_set}]}, - "recordnum": {to:[{field: "rsa.misc.recordnum", setter: fld_set}]}, - "registry.key": {to:[{field: "rsa.endpoint.registry_key", setter: fld_set}]}, - "registry.value": {to:[{field: "rsa.endpoint.registry_value", setter: fld_set}]}, - "remote_domain": {to:[{field: "rsa.web.remote_domain", setter: fld_set}]}, - "remote_domain_id": {to:[{field: "rsa.network.remote_domain_id", setter: fld_set}]}, - "reputation_num": {convert: to_double, to:[{field: "rsa.web.reputation_num", setter: fld_set}]}, - "resource": {to:[{field: "rsa.internal.resource", setter: fld_set}]}, - "resource_class": {to:[{field: "rsa.internal.resource_class", setter: fld_set}]}, - "result": {to:[{field: "rsa.misc.result", setter: fld_set}]}, - "result_code": {to:[{field: "rsa.misc.result_code", setter: fld_prio, prio: 1}]}, - "resultcode": {to:[{field: "rsa.misc.result_code", setter: fld_prio, prio: 0}]}, - "rid": {convert: to_long, to:[{field: "rsa.internal.rid", setter: fld_set}]}, - "risk": {to:[{field: "rsa.misc.risk", setter: fld_set}]}, - "risk_info": {to:[{field: "rsa.misc.risk_info", setter: fld_set}]}, - "risk_num": {convert: to_double, to:[{field: "rsa.misc.risk_num", setter: fld_set}]}, - "risk_num_comm": {convert: to_double, to:[{field: "rsa.misc.risk_num_comm", setter: fld_set}]}, - "risk_num_next": {convert: to_double, to:[{field: "rsa.misc.risk_num_next", setter: fld_set}]}, - "risk_num_sand": {convert: to_double, to:[{field: "rsa.misc.risk_num_sand", setter: fld_set}]}, - "risk_num_static": {convert: to_double, to:[{field: "rsa.misc.risk_num_static", setter: fld_set}]}, - "risk_suspicious": {to:[{field: "rsa.misc.risk_suspicious", setter: fld_set}]}, - "risk_warning": {to:[{field: "rsa.misc.risk_warning", setter: fld_set}]}, - "rpayload": {to:[{field: "rsa.network.rpayload", setter: fld_set}]}, - "ruid": {to:[{field: "rsa.misc.ruid", setter: fld_set}]}, - "rule": {to:[{field: "rsa.misc.rule", setter: fld_set}]}, - "rule_group": {to:[{field: "rsa.misc.rule_group", setter: fld_set}]}, - "rule_template": {to:[{field: "rsa.misc.rule_template", setter: fld_set}]}, - "rule_uid": {to:[{field: "rsa.misc.rule_uid", setter: fld_set}]}, - "rulename": {to:[{field: "rsa.misc.rule_name", setter: fld_set}]}, - "s_certauth": {to:[{field: "rsa.crypto.s_certauth", setter: fld_set}]}, - "s_cipher": {to:[{field: "rsa.crypto.cipher_src", setter: fld_set}]}, - "s_ciphersize": {convert: to_long, to:[{field: "rsa.crypto.cipher_size_src", setter: fld_set}]}, - "s_context": {to:[{field: "rsa.misc.context_subject", setter: fld_set}]}, - "s_sslver": {to:[{field: "rsa.crypto.ssl_ver_src", setter: fld_set}]}, - "sburb": {to:[{field: "rsa.misc.sburb", setter: fld_set}]}, - "scheme": {to:[{field: "rsa.crypto.scheme", setter: fld_set}]}, - "sdomain_fld": {to:[{field: "rsa.misc.sdomain_fld", setter: fld_set}]}, - "search.text": {to:[{field: "rsa.misc.search_text", setter: fld_set}]}, - "sec": {to:[{field: "rsa.misc.sec", setter: fld_set}]}, - "second": {to:[{field: "rsa.misc.second", setter: fld_set}]}, - "sensor": {to:[{field: "rsa.misc.sensor", setter: fld_set}]}, - "sensorname": {to:[{field: "rsa.misc.sensorname", setter: fld_set}]}, - "seqnum": {to:[{field: "rsa.misc.seqnum", setter: fld_set}]}, - "serial_number": {to:[{field: "rsa.misc.serial_number", setter: fld_set}]}, - "service.account": {to:[{field: "rsa.identity.service_account", setter: fld_set}]}, - "session": {to:[{field: "rsa.misc.session", setter: fld_set}]}, - "session.split": {to:[{field: "rsa.internal.session_split", setter: fld_set}]}, - "sessionid": {to:[{field: "rsa.misc.log_session_id", setter: fld_set}]}, - "sessionid1": {to:[{field: "rsa.misc.log_session_id1", setter: fld_set}]}, - "sessiontype": {to:[{field: "rsa.misc.sessiontype", setter: fld_set}]}, - "severity": {to:[{field: "rsa.misc.severity", setter: fld_set}]}, - "sid": {to:[{field: "rsa.identity.user_sid_dst", setter: fld_set}]}, - "sig.name": {to:[{field: "rsa.misc.sig_name", setter: fld_set}]}, - "sigUUID": {to:[{field: "rsa.misc.sigUUID", setter: fld_set}]}, - "sigcat": {to:[{field: "rsa.misc.sigcat", setter: fld_set}]}, - "sigid": {convert: to_long, to:[{field: "rsa.misc.sig_id", setter: fld_set}]}, - "sigid1": {convert: to_long, to:[{field: "rsa.misc.sig_id1", setter: fld_set}]}, - "sigid_string": {to:[{field: "rsa.misc.sig_id_str", setter: fld_set}]}, - "signame": {to:[{field: "rsa.misc.policy_name", setter: fld_prio, prio: 1}]}, - "sigtype": {to:[{field: "rsa.crypto.sig_type", setter: fld_set}]}, - "sinterface": {to:[{field: "rsa.network.sinterface", setter: fld_set}]}, - "site": {to:[{field: "rsa.internal.site", setter: fld_set}]}, - "size": {convert: to_long, to:[{field: "rsa.internal.size", setter: fld_set}]}, - "smask": {to:[{field: "rsa.network.smask", setter: fld_set}]}, - "snmp.oid": {to:[{field: "rsa.misc.snmp_oid", setter: fld_set}]}, - "snmp.value": {to:[{field: "rsa.misc.snmp_value", setter: fld_set}]}, - "sourcefile": {to:[{field: "rsa.internal.sourcefile", setter: fld_set}]}, - "space": {to:[{field: "rsa.misc.space", setter: fld_set}]}, - "space1": {to:[{field: "rsa.misc.space1", setter: fld_set}]}, - "spi": {to:[{field: "rsa.misc.spi", setter: fld_set}]}, - "sql": {to:[{field: "rsa.misc.sql", setter: fld_set}]}, - "src_dn": {to:[{field: "rsa.identity.dn_src", setter: fld_set}]}, - "src_payload": {to:[{field: "rsa.misc.payload_src", setter: fld_set}]}, - "src_spi": {to:[{field: "rsa.misc.spi_src", setter: fld_set}]}, - "src_zone": {to:[{field: "rsa.network.zone_src", setter: fld_set}]}, - "srcburb": {to:[{field: "rsa.misc.srcburb", setter: fld_set}]}, - "srcdom": {to:[{field: "rsa.misc.srcdom", setter: fld_set}]}, - "srcservice": {to:[{field: "rsa.misc.srcservice", setter: fld_set}]}, - "ssid": {to:[{field: "rsa.wireless.wlan_ssid", setter: fld_prio, prio: 0}]}, - "stamp": {convert: to_date, to:[{field: "rsa.time.stamp", setter: fld_set}]}, - "starttime": {convert: to_date, to:[{field: "rsa.time.starttime", setter: fld_set}]}, - "state": {to:[{field: "rsa.misc.state", setter: fld_set}]}, - "statement": {to:[{field: "rsa.internal.statement", setter: fld_set}]}, - "status": {to:[{field: "rsa.misc.status", setter: fld_set}]}, - "status1": {to:[{field: "rsa.misc.status1", setter: fld_set}]}, - "streams": {convert: to_long, to:[{field: "rsa.misc.streams", setter: fld_set}]}, - "subcategory": {to:[{field: "rsa.misc.subcategory", setter: fld_set}]}, - "subject": {to:[{field: "rsa.email.subject", setter: fld_set}]}, - "svcno": {to:[{field: "rsa.misc.svcno", setter: fld_set}]}, - "system": {to:[{field: "rsa.misc.system", setter: fld_set}]}, - "t_context": {to:[{field: "rsa.misc.context_target", setter: fld_set}]}, - "task_name": {to:[{field: "rsa.file.task_name", setter: fld_set}]}, - "tbdstr1": {to:[{field: "rsa.misc.tbdstr1", setter: fld_set}]}, - "tbdstr2": {to:[{field: "rsa.misc.tbdstr2", setter: fld_set}]}, - "tbl_name": {to:[{field: "rsa.db.table_name", setter: fld_set}]}, - "tcp_flags": {convert: to_long, to:[{field: "rsa.misc.tcp_flags", setter: fld_set}]}, - "terminal": {to:[{field: "rsa.misc.terminal", setter: fld_set}]}, - "tgtdom": {to:[{field: "rsa.misc.tgtdom", setter: fld_set}]}, - "tgtdomain": {to:[{field: "rsa.misc.tgtdomain", setter: fld_set}]}, - "threat_name": {to:[{field: "rsa.threat.threat_category", setter: fld_set}]}, - "threat_source": {to:[{field: "rsa.threat.threat_source", setter: fld_set}]}, - "threat_val": {to:[{field: "rsa.threat.threat_desc", setter: fld_set}]}, - "threshold": {to:[{field: "rsa.misc.threshold", setter: fld_set}]}, - "time": {convert: to_date, to:[{field: "rsa.internal.time", setter: fld_set}]}, - "timestamp": {to:[{field: "rsa.time.timestamp", setter: fld_set}]}, - "timezone": {to:[{field: "rsa.time.timezone", setter: fld_set}]}, - "to": {to:[{field: "rsa.email.email_dst", setter: fld_set}]}, - "tos": {convert: to_long, to:[{field: "rsa.misc.tos", setter: fld_set}]}, - "trans_from": {to:[{field: "rsa.email.trans_from", setter: fld_set}]}, - "trans_id": {to:[{field: "rsa.db.transact_id", setter: fld_set}]}, - "trans_to": {to:[{field: "rsa.email.trans_to", setter: fld_set}]}, - "trigger_desc": {to:[{field: "rsa.misc.trigger_desc", setter: fld_set}]}, - "trigger_val": {to:[{field: "rsa.misc.trigger_val", setter: fld_set}]}, - "type": {to:[{field: "rsa.misc.type", setter: fld_set}]}, - "type1": {to:[{field: "rsa.misc.type1", setter: fld_set}]}, - "tzone": {to:[{field: "rsa.time.tzone", setter: fld_set}]}, - "ubc.req": {convert: to_long, to:[{field: "rsa.internal.ubc_req", setter: fld_set}]}, - "ubc.res": {convert: to_long, to:[{field: "rsa.internal.ubc_res", setter: fld_set}]}, - "udb_class": {to:[{field: "rsa.misc.udb_class", setter: fld_set}]}, - "url_fld": {to:[{field: "rsa.misc.url_fld", setter: fld_set}]}, - "urlpage": {to:[{field: "rsa.web.urlpage", setter: fld_set}]}, - "urlroot": {to:[{field: "rsa.web.urlroot", setter: fld_set}]}, - "user_address": {to:[{field: "rsa.email.email", setter: fld_append}]}, - "user_dept": {to:[{field: "rsa.identity.user_dept", setter: fld_set}]}, - "user_div": {to:[{field: "rsa.misc.user_div", setter: fld_set}]}, - "user_fname": {to:[{field: "rsa.identity.firstname", setter: fld_set}]}, - "user_lname": {to:[{field: "rsa.identity.lastname", setter: fld_set}]}, - "user_mname": {to:[{field: "rsa.identity.middlename", setter: fld_set}]}, - "user_org": {to:[{field: "rsa.identity.org", setter: fld_set}]}, - "user_role": {to:[{field: "rsa.identity.user_role", setter: fld_set}]}, - "userid": {to:[{field: "rsa.misc.userid", setter: fld_set}]}, - "username_fld": {to:[{field: "rsa.misc.username_fld", setter: fld_set}]}, - "utcstamp": {to:[{field: "rsa.misc.utcstamp", setter: fld_set}]}, - "v_instafname": {to:[{field: "rsa.misc.v_instafname", setter: fld_set}]}, - "vendor_event_cat": {to:[{field: "rsa.investigations.event_vcat", setter: fld_set}]}, - "version": {to:[{field: "rsa.misc.version", setter: fld_set}]}, - "vid": {to:[{field: "rsa.internal.msg_vid", setter: fld_set}]}, - "virt_data": {to:[{field: "rsa.misc.virt_data", setter: fld_set}]}, - "virusname": {to:[{field: "rsa.misc.virusname", setter: fld_set}]}, - "vlan": {convert: to_long, to:[{field: "rsa.network.vlan", setter: fld_set}]}, - "vlan.name": {to:[{field: "rsa.network.vlan_name", setter: fld_set}]}, - "vm_target": {to:[{field: "rsa.misc.vm_target", setter: fld_set}]}, - "vpnid": {to:[{field: "rsa.misc.vpnid", setter: fld_set}]}, - "vsys": {to:[{field: "rsa.misc.vsys", setter: fld_set}]}, - "vuln_ref": {to:[{field: "rsa.misc.vuln_ref", setter: fld_set}]}, - "web_cookie": {to:[{field: "rsa.web.web_cookie", setter: fld_set}]}, - "web_extension_tmp": {to:[{field: "rsa.web.web_extension_tmp", setter: fld_set}]}, - "web_host": {to:[{field: "rsa.web.alias_host", setter: fld_set}]}, - "web_method": {to:[{field: "rsa.misc.action", setter: fld_append}]}, - "web_page": {to:[{field: "rsa.web.web_page", setter: fld_set}]}, - "web_ref_domain": {to:[{field: "rsa.web.web_ref_domain", setter: fld_set}]}, - "web_ref_host": {to:[{field: "rsa.network.alias_host", setter: fld_append}]}, - "web_ref_page": {to:[{field: "rsa.web.web_ref_page", setter: fld_set}]}, - "web_ref_query": {to:[{field: "rsa.web.web_ref_query", setter: fld_set}]}, - "web_ref_root": {to:[{field: "rsa.web.web_ref_root", setter: fld_set}]}, - "wifi_channel": {convert: to_long, to:[{field: "rsa.wireless.wlan_channel", setter: fld_set}]}, - "wlan": {to:[{field: "rsa.wireless.wlan_name", setter: fld_set}]}, - "word": {to:[{field: "rsa.internal.word", setter: fld_set}]}, - "workspace_desc": {to:[{field: "rsa.misc.workspace", setter: fld_set}]}, - "workstation": {to:[{field: "rsa.network.alias_host", setter: fld_append}]}, - "year": {to:[{field: "rsa.time.year", setter: fld_set}]}, - "zone": {to:[{field: "rsa.network.zone", setter: fld_set}]}, - }; - - function to_date(value) { - switch (typeof (value)) { - case "object": - // This is a Date. But as it was obtained from evt.Get(), the VM - // doesn't see it as a JS Date anymore, thus value instanceof Date === false. - // Have to trust that any object here is a valid Date for Go. - return value; - case "string": - var asDate = new Date(value); - if (!isNaN(asDate)) return asDate; - } - } - - // ECMAScript 5.1 doesn't have Object.MAX_SAFE_INTEGER / Object.MIN_SAFE_INTEGER. - var maxSafeInt = Math.pow(2, 53) - 1; - var minSafeInt = -maxSafeInt; - - function to_long(value) { - var num = parseInt(value); - // Better not to index a number if it's not safe (above 53 bits). - return !isNaN(num) && minSafeInt <= num && num <= maxSafeInt ? num : undefined; - } - - function to_ip(value) { - if (value.indexOf(":") === -1) - return to_ipv4(value); - return to_ipv6(value); - } - - var ipv4_regex = /^(\d+)\.(\d+)\.(\d+)\.(\d+)$/; - var ipv6_hex_regex = /^[0-9A-Fa-f]{1,4}$/; - - function to_ipv4(value) { - var result = ipv4_regex.exec(value); - if (result == null || result.length !== 5) return; - for (var i = 1; i < 5; i++) { - var num = strictToInt(result[i]); - if (isNaN(num) || num < 0 || num > 255) return; - } - return value; - } - - function to_ipv6(value) { - var sqEnd = value.indexOf("]"); - if (sqEnd > -1) { - if (value.charAt(0) !== "[") return; - value = value.substr(1, sqEnd - 1); - } - var zoneOffset = value.indexOf("%"); - if (zoneOffset > -1) { - value = value.substr(0, zoneOffset); - } - var parts = value.split(":"); - if (parts == null || parts.length < 3 || parts.length > 8) return; - var numEmpty = 0; - var innerEmpty = 0; - for (var i = 0; i < parts.length; i++) { - if (parts[i].length === 0) { - numEmpty++; - if (i > 0 && i + 1 < parts.length) innerEmpty++; - } else if (!parts[i].match(ipv6_hex_regex) && - // Accept an IPv6 with a valid IPv4 at the end. - ((i + 1 < parts.length) || !to_ipv4(parts[i]))) { - return; - } - } - return innerEmpty === 0 && parts.length === 8 || innerEmpty === 1 ? value : undefined; - } - - function to_double(value) { - return parseFloat(value); - } - - function to_mac(value) { - // ES doesn't have a mac datatype so it's safe to ingest whatever was captured. - return value; - } - - function to_lowercase(value) { - // to_lowercase is used against keyword fields, which can accept - // any other type (numbers, dates). - return typeof(value) === "string"? value.toLowerCase() : value; - } - - function fld_set(dst, value) { - dst[this.field] = { v: value }; - } - - function fld_append(dst, value) { - if (dst[this.field] === undefined) { - dst[this.field] = { v: [value] }; - } else { - var base = dst[this.field]; - if (base.v.indexOf(value)===-1) base.v.push(value); - } - } - - function fld_prio(dst, value) { - if (dst[this.field] === undefined) { - dst[this.field] = { v: value, prio: this.prio}; - } else if(this.prio < dst[this.field].prio) { - dst[this.field].v = value; - dst[this.field].prio = this.prio; - } - } - - var valid_ecs_outcome = { - 'failure': true, - 'success': true, - 'unknown': true - }; - - function fld_ecs_outcome(dst, value) { - value = value.toLowerCase(); - if (valid_ecs_outcome[value] === undefined) { - value = 'unknown'; - } - if (dst[this.field] === undefined) { - dst[this.field] = { v: value }; - } else if (dst[this.field].v === 'unknown') { - dst[this.field] = { v: value }; - } - } - - function map_all(evt, targets, value) { - for (var i = 0; i < targets.length; i++) { - evt.Put(targets[i], value); - } - } - - function populate_fields(evt) { - var base = evt.Get(FIELDS_OBJECT); - if (base === null) return; - alternate_datetime(evt); - if (map_ecs) { - do_populate(evt, base, ecs_mappings); - } - if (map_rsa) { - do_populate(evt, base, rsa_mappings); - } - if (keep_raw) { - evt.Put("rsa.raw", base); - } - evt.Delete(FIELDS_OBJECT); - } - - var datetime_alt_components = [ - {field: "day", fmts: [[dF]]}, - {field: "year", fmts: [[dW]]}, - {field: "month", fmts: [[dB],[dG]]}, - {field: "date", fmts: [[dW,dSkip,dG,dSkip,dF],[dW,dSkip,dB,dSkip,dF],[dW,dSkip,dR,dSkip,dF]]}, - {field: "hour", fmts: [[dN]]}, - {field: "min", fmts: [[dU]]}, - {field: "secs", fmts: [[dO]]}, - {field: "time", fmts: [[dN, dSkip, dU, dSkip, dO]]}, - ]; - - function alternate_datetime(evt) { - if (evt.Get(FIELDS_PREFIX + "event_time") != null) { - return; - } - var tzOffset = tz_offset; - if (tzOffset === "event") { - tzOffset = evt.Get("event.timezone"); - } - var container = new DateContainer(tzOffset); - for (var i=0; i} %{sport->} [%{fld20->} %{fld21}] \"%{web_method->} %{url->} %{network_service}\" %{daddr->} %{fld1->} %{username->} \"%{webpage}\" %{resultcode->} %{content_type->} %{sbytes->} \"%{web_referer}\" \"%{user_agent}\" %{action}", processor_chain([ - dup1, - dup2, - dup3, - dup4, - dup5, - dup6, - dup7, - dup8, - dup9, - dup10, - dup11, - dup12, - ])); - - var dup16 = match("MESSAGE#19:GET:01", "nwparser.payload", "%{event_time_string}.%{fld20->} %{duration->} %{saddr->} %{action}/%{resultcode->} %{sbytes->} %{web_method->} %{url->} %{username->} %{h_code}/%{daddr->} %{content_type}", processor_chain([ - dup1, - dup2, - dup3, - dup4, - dup13, - dup8, - dup9, - dup10, - dup14, - dup12, - ])); - - var dup17 = match("MESSAGE#2:POST", "nwparser.payload", "%{saddr->} %{sport->} [%{fld20->} %{fld21}] \"%{web_method->} %{url->} %{network_service}\" %{daddr->} %{fld1->} %{username->} \"%{webpage}\" %{resultcode->} %{content_type->} %{sbytes->} \"%{web_referer}\" \"%{user_agent}\" %{action}", processor_chain([ - dup1, - dup2, - dup4, - dup5, - dup6, - dup7, - dup8, - dup9, - dup10, - dup11, - dup12, - ])); - - var dup18 = match("MESSAGE#21:POST:01", "nwparser.payload", "%{event_time_string}.%{fld20->} %{duration->} %{saddr->} %{action}/%{resultcode->} %{sbytes->} %{web_method->} %{url->} %{username->} %{h_code}/%{daddr->} %{content_type}", processor_chain([ - dup1, - dup2, - dup4, - dup13, - dup8, - dup9, - dup10, - dup14, - dup12, - ])); - - var dup19 = match("MESSAGE#3:PUT", "nwparser.payload", "%{saddr->} %{sport->} [%{fld20->} %{fld21}] \"%{web_method->} %{url->} %{network_service}\" %{daddr->} %{fld1->} %{username->} \"%{webpage}\" %{resultcode->} %{content_type->} %{sbytes->} \"%{web_referer}\" \"%{user_agent}\" %{action}", processor_chain([ - dup1, - dup5, - dup6, - dup7, - dup8, - dup9, - dup10, - dup11, - dup12, - ])); - - var dup20 = match("MESSAGE#22:PUT:01", "nwparser.payload", "%{event_time_string}.%{fld20->} %{duration->} %{saddr->} %{action}/%{resultcode->} %{sbytes->} %{web_method->} %{url->} %{username->} %{h_code}/%{daddr->} %{content_type}", processor_chain([ - dup1, - dup13, - dup8, - dup9, - dup10, - dup14, - dup12, - ])); - - var hdr1 = match("HEADER#0:0001", "message", "%{hsaddr->} %{hsport->} [%{fld20->} %{fld21}] \"%{messageid->} %{p0}", processor_chain([ - setc("header_id","0001"), - call({ - dest: "nwparser.payload", - fn: STRCAT, - args: [ - field("hsaddr"), - constant(" "), - field("hsport"), - constant(" ["), - field("fld20"), - constant(" "), - field("fld21"), - constant("] \""), - field("messageid"), - constant(" "), - field("p0"), - ], - }), - ])); - - var hdr2 = match("HEADER#1:0002", "message", "%{hevent_time_string->} %{hduration->} %{hsaddr->} %{haction}/%{hresultcode->} %{hsbytes->} %{messageid->} %{p0}", processor_chain([ - setc("header_id","0002"), - call({ - dest: "nwparser.payload", - fn: STRCAT, - args: [ - field("hevent_time_string"), - constant(" "), - field("hduration"), - constant(" "), - field("hsaddr"), - constant(" "), - field("haction"), - constant("/"), - field("hresultcode"), - constant(" "), - field("hsbytes"), - constant(" "), - field("messageid"), - constant(" "), - field("p0"), - ], - }), - ])); - - var select1 = linear_select([ - hdr1, - hdr2, - ]); - - var msg1 = msg("GET", dup15); - - var part1 = match("MESSAGE#18:GET:02", "nwparser.payload", "%{saddr->} %{sport->} [%{fld20->} %{fld21}] \"%{web_method->} %{url->} %{network_service}\" %{resultcode->} %{sbytes->} \"%{web_referer}\" \"%{user_agent}\" %{action->} %{daddr->} %{content_type->} %{duration}", processor_chain([ - dup1, - dup2, - dup3, - dup4, - dup5, - dup6, - dup7, - dup8, - dup9, - dup10, - dup11, - dup12, - ])); - - var msg2 = msg("GET:02", part1); - - var msg3 = msg("GET:01", dup16); - - var select2 = linear_select([ - msg1, - msg2, - msg3, - ]); - - var msg4 = msg("HEAD", dup15); - - var msg5 = msg("HEAD:01", dup16); - - var select3 = linear_select([ - msg4, - msg5, - ]); - - var msg6 = msg("POST", dup17); - - var msg7 = msg("POST:01", dup18); - - var select4 = linear_select([ - msg6, - msg7, - ]); - - var msg8 = msg("PUT", dup19); - - var msg9 = msg("PUT:01", dup20); - - var select5 = linear_select([ - msg8, - msg9, - ]); - - var msg10 = msg("DELETE", dup19); - - var msg11 = msg("DELETE:01", dup20); - - var select6 = linear_select([ - msg10, - msg11, - ]); - - var msg12 = msg("TRACE", dup19); - - var msg13 = msg("TRACE:01", dup20); - - var select7 = linear_select([ - msg12, - msg13, - ]); - - var msg14 = msg("OPTIONS", dup19); - - var msg15 = msg("OPTIONS:01", dup20); - - var select8 = linear_select([ - msg14, - msg15, - ]); - - var msg16 = msg("CONNECT", dup17); - - var msg17 = msg("CONNECT:01", dup18); - - var select9 = linear_select([ - msg16, - msg17, - ]); - - var msg18 = msg("ICP_QUERY", dup19); - - var msg19 = msg("ICP_QUERY:01", dup20); - - var select10 = linear_select([ - msg18, - msg19, - ]); - - var msg20 = msg("PURGE", dup19); - - var msg21 = msg("PURGE:01", dup20); - - var select11 = linear_select([ - msg20, - msg21, - ]); - - var msg22 = msg("PROPFIND", dup19); - - var msg23 = msg("PROPFIND:01", dup20); - - var select12 = linear_select([ - msg22, - msg23, - ]); - - var msg24 = msg("PROPATCH", dup19); - - var msg25 = msg("PROPATCH:01", dup20); - - var select13 = linear_select([ - msg24, - msg25, - ]); - - var msg26 = msg("MKOL", dup19); - - var msg27 = msg("MKOL:01", dup20); - - var select14 = linear_select([ - msg26, - msg27, - ]); - - var msg28 = msg("COPY", dup19); - - var msg29 = msg("COPY:01", dup20); - - var select15 = linear_select([ - msg28, - msg29, - ]); - - var msg30 = msg("MOVE", dup19); - - var msg31 = msg("MOVE:01", dup20); - - var select16 = linear_select([ - msg30, - msg31, - ]); - - var msg32 = msg("LOCK", dup19); - - var msg33 = msg("LOCK:01", dup20); - - var select17 = linear_select([ - msg32, - msg33, - ]); - - var msg34 = msg("UNLOCK", dup19); - - var msg35 = msg("UNLOCK:01", dup20); - - var select18 = linear_select([ - msg34, - msg35, - ]); - - var msg36 = msg("NONE", dup19); - - var msg37 = msg("NONE:01", dup20); - - var select19 = linear_select([ - msg36, - msg37, - ]); - - var chain1 = processor_chain([ - select1, - msgid_select({ - "CONNECT": select9, - "COPY": select15, - "DELETE": select6, - "GET": select2, - "HEAD": select3, - "ICP_QUERY": select10, - "LOCK": select17, - "MKOL": select14, - "MOVE": select16, - "NONE": select19, - "OPTIONS": select8, - "POST": select4, - "PROPATCH": select13, - "PROPFIND": select12, - "PURGE": select11, - "PUT": select5, - "TRACE": select7, - "UNLOCK": select18, - }), - ]); - - var part2 = match("MESSAGE#0:GET", "nwparser.payload", "%{saddr->} %{sport->} [%{fld20->} %{fld21}] \"%{web_method->} %{url->} %{network_service}\" %{daddr->} %{fld1->} %{username->} \"%{webpage}\" %{resultcode->} %{content_type->} %{sbytes->} \"%{web_referer}\" \"%{user_agent}\" %{action}", processor_chain([ - dup1, - dup2, - dup3, - dup4, - dup5, - dup6, - dup7, - dup8, - dup9, - dup10, - dup11, - dup12, - ])); - - var part3 = match("MESSAGE#19:GET:01", "nwparser.payload", "%{event_time_string}.%{fld20->} %{duration->} %{saddr->} %{action}/%{resultcode->} %{sbytes->} %{web_method->} %{url->} %{username->} %{h_code}/%{daddr->} %{content_type}", processor_chain([ - dup1, - dup2, - dup3, - dup4, - dup13, - dup8, - dup9, - dup10, - dup14, - dup12, - ])); - - var part4 = match("MESSAGE#2:POST", "nwparser.payload", "%{saddr->} %{sport->} [%{fld20->} %{fld21}] \"%{web_method->} %{url->} %{network_service}\" %{daddr->} %{fld1->} %{username->} \"%{webpage}\" %{resultcode->} %{content_type->} %{sbytes->} \"%{web_referer}\" \"%{user_agent}\" %{action}", processor_chain([ - dup1, - dup2, - dup4, - dup5, - dup6, - dup7, - dup8, - dup9, - dup10, - dup11, - dup12, - ])); - - var part5 = match("MESSAGE#21:POST:01", "nwparser.payload", "%{event_time_string}.%{fld20->} %{duration->} %{saddr->} %{action}/%{resultcode->} %{sbytes->} %{web_method->} %{url->} %{username->} %{h_code}/%{daddr->} %{content_type}", processor_chain([ - dup1, - dup2, - dup4, - dup13, - dup8, - dup9, - dup10, - dup14, - dup12, - ])); - - var part6 = match("MESSAGE#3:PUT", "nwparser.payload", "%{saddr->} %{sport->} [%{fld20->} %{fld21}] \"%{web_method->} %{url->} %{network_service}\" %{daddr->} %{fld1->} %{username->} \"%{webpage}\" %{resultcode->} %{content_type->} %{sbytes->} \"%{web_referer}\" \"%{user_agent}\" %{action}", processor_chain([ - dup1, - dup5, - dup6, - dup7, - dup8, - dup9, - dup10, - dup11, - dup12, - ])); - - var part7 = match("MESSAGE#22:PUT:01", "nwparser.payload", "%{event_time_string}.%{fld20->} %{duration->} %{saddr->} %{action}/%{resultcode->} %{sbytes->} %{web_method->} %{url->} %{username->} %{h_code}/%{daddr->} %{content_type}", processor_chain([ - dup1, - dup13, - dup8, - dup9, - dup10, - dup14, - dup12, - ])); - -- community_id: -- registered_domain: - ignore_missing: true - ignore_failure: true - field: dns.question.name - target_field: dns.question.registered_domain - target_subdomain_field: dns.question.subdomain - target_etld_field: dns.question.top_level_domain -- registered_domain: - ignore_missing: true - ignore_failure: true - field: client.domain - target_field: client.registered_domain - target_subdomain_field: client.subdomain - target_etld_field: client.top_level_domain -- registered_domain: - ignore_missing: true - ignore_failure: true - field: server.domain - target_field: server.registered_domain - target_subdomain_field: server.subdomain - target_etld_field: server.top_level_domain -- registered_domain: - ignore_missing: true - ignore_failure: true - field: destination.domain - target_field: destination.registered_domain - target_subdomain_field: destination.subdomain - target_etld_field: destination.top_level_domain -- registered_domain: - ignore_missing: true - ignore_failure: true - field: source.domain - target_field: source.registered_domain - target_subdomain_field: source.subdomain - target_etld_field: source.top_level_domain -- registered_domain: - ignore_missing: true - ignore_failure: true - field: url.domain - target_field: url.registered_domain - target_subdomain_field: url.subdomain - target_etld_field: url.top_level_domain -- add_locale: ~ +{{#if udp_options}} +{{udp_options}} +{{/if}} diff --git a/packages/squid/data_stream/log/elasticsearch/ingest_pipeline/default.yml b/packages/squid/data_stream/log/elasticsearch/ingest_pipeline/default.yml index 3672fb82d0e..f0b17066b1a 100644 --- a/packages/squid/data_stream/log/elasticsearch/ingest_pipeline/default.yml +++ b/packages/squid/data_stream/log/elasticsearch/ingest_pipeline/default.yml @@ -1,71 +1,170 @@ --- -description: Pipeline for Squid - +description: Pipeline for processing Squid logs. processors: - set: field: ecs.version value: '8.11.0' - # User agent - - user_agent: - field: user_agent.original + - set: + field: event.original + copy_from: message + - remove: + field: message + - set: + field: observer.vendor + value: Squid + - set: + field: observer.product + value: Squid + - set: + field: observer.type + value: proxy + - set: + field: event.kind + value: event + - set: + field: event.category + value: [web] + - set: + field: event.type + value: [access] + + - grok: + tag: grok_message + field: event.original + patterns: + - '^%{NUMBER:_tmp.time_s:long}\.%{NUMBER:_tmp.time_ms:long}%{SPACE}%{NUMBER:_tmp.elapsed:long} %{NOTSPACE:_tmp.source_ip} %{NOTSLASH:_tmp.code}/%{NOTSPACE:_tmp.status:long} %{NUMBER:_tmp.destination_bytes:long} %{NOTSPACE:_tmp.method} %{NOTSPACE:_tmp.url} %{NOTSPACE:_tmp.user_name} %{NOTSLASH:_tmp.peer_status}/%{NOTSPACE:_tmp.peer_host} %{NOTSPACE:_tmp.content_type}$' + pattern_definitions: + NOTSLASH: '[^/]+' + NOTBRACKET: '[^\[\]]+' + NUMBER: '[0-9]+' + + - script: + tag: remove_empty_fields + lang: painless + source: >- + ctx._tmp?.values().removeIf(value -> value == "-"); + + - script: + tag: compute_timestamp + lang: painless + if: ctx._tmp?.time_s instanceof Number && ctx._tmp?.time_ms instanceof Number + source: >- + ctx["@timestamp"] = new Date(ctx._tmp.time_s * 1000 + ctx._tmp.time_ms); + - script: + tag: compute_elapsed + lang: painless + if: ctx._tmp?.elapsed instanceof Number + source: >- + ctx.event["duration"] = ctx._tmp.elapsed * 1000000; + + - rename: + tag: move_user_name + field: _tmp.user_name + target_field: source.user.name ignore_missing: true - # IP Geolocation Lookup - - geoip: - field: source.ip - target_field: source.geo + - append: + tag: append_related_source_user + field: related.user + value: '{{{source.user.name}}}' + allow_duplicates: false + if: ctx.source?.user?.name != null + + - convert: + tag: convert_source_ip + field: _tmp.source_ip + type: ip + target_field: source.ip ignore_missing: true - - geoip: - field: destination.ip - target_field: destination.geo + - set: + tag: set_source_address + field: source.address + copy_from: source.ip + ignore_empty_value: true + - append: + tag: append_related_source_ip + field: related.ip + value: '{{{source.ip}}}' + allow_duplicates: false + if: ctx.source?.ip != null + + - rename: + tag: move_destination_bytes + field: _tmp.destination_bytes + target_field: destination.bytes ignore_missing: true + - set: + tag: set_http_request_body_bytes + field: http.request.body.bytes + copy_from: destination.bytes + ignore_empty_value: true - # IP Autonomous System (AS) Lookup - - geoip: - database_file: GeoLite2-ASN.mmdb - field: source.ip - target_field: source.as - properties: - - asn - - organization_name + - rename: + tag: move_http_method + field: _tmp.method + target_field: http.request.method + ignore_missing: true + - uri_parts: + tag: uri_parts + field: _tmp.url + if: ctx.http?.request?.method != 'CONNECT' ignore_missing: true - - geoip: - database_file: GeoLite2-ASN.mmdb - field: destination.ip - target_field: destination.as - properties: - - asn - - organization_name + - rename: + tag: move_connect_hostport + field: _tmp.url + target_field: url.original + if: ctx._tmp?.url != null && ctx.http?.request?.method == 'CONNECT' + - set: + tag: set_destination_address + field: destination.address + copy_from: url.domain + ignore_empty_value: true + + - set: + tag: set_event_outcome_success + field: event.outcome + value: success + if: ctx._tmp?.status instanceof Number && ctx._tmp.status < 400 + - set: + tag: set_event_outcome_failure + field: event.outcome + value: failure + if: ctx._tmp?.status instanceof Number && ctx._tmp.status >= 400 + - rename: + tag: move_status_code + field: _tmp.status + target_field: squid.status_code ignore_missing: true + - rename: - field: source.as.asn - target_field: source.as.number + tag: move_result_code + field: _tmp.code + target_field: squid.result_code ignore_missing: true - rename: - field: source.as.organization_name - target_field: source.as.organization.name + tag: move_peer_status + field: _tmp.peer_status + target_field: squid.peer_status ignore_missing: true - rename: - field: destination.as.asn - target_field: destination.as.number + tag: move_content_type + field: _tmp.content_type + target_field: squid.content_type ignore_missing: true - rename: - field: destination.as.organization_name - target_field: destination.as.organization.name + tag: move_peer_host + field: _tmp.peer_host + target_field: squid.peer_host ignore_missing: true - - append: - field: related.hosts - value: '{{host.name}}' - allow_duplicates: false - if: ctx.host?.name != null && ctx.host?.name != '' + - remove: - field: event.original - if: "ctx?.tags == null || !(ctx.tags.contains('preserve_original_event'))" - ignore_failure: true + field: + - _tmp ignore_missing: true + on_failure: + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' - set: field: event.kind value: pipeline_error - - append: - field: error.message - value: '{{{ _ingest.on_failure_message }}}' diff --git a/packages/squid/data_stream/log/fields/base-fields.yml b/packages/squid/data_stream/log/fields/base-fields.yml index c25d7cae586..2910f4f0231 100644 --- a/packages/squid/data_stream/log/fields/base-fields.yml +++ b/packages/squid/data_stream/log/fields/base-fields.yml @@ -36,3 +36,27 @@ - name: log.offset description: Offset of the entry in the log file. type: long +- name: '@timestamp' + type: date + description: Event timestamp. +- name: log.file + type: group + fields: + - name: device_id + type: keyword + description: ID of the device containing the filesystem where the file resides. + - name: fingerprint + type: keyword + description: The sha256 fingerprint identity of the file when fingerprinting is enabled. + - name: inode + type: keyword + description: Inode number of the log file. + - name: idxhi + type: keyword + description: The high-order part of a unique identifier that is associated with a file. (Windows-only) + - name: idxlo + type: keyword + description: The low-order part of a unique identifier that is associated with a file. (Windows-only) + - name: vol + type: keyword + description: The serial number of the volume that contains a file. (Windows-only) diff --git a/packages/squid/data_stream/log/fields/ecs.yml b/packages/squid/data_stream/log/fields/ecs.yml deleted file mode 100644 index 979dfd694dd..00000000000 --- a/packages/squid/data_stream/log/fields/ecs.yml +++ /dev/null @@ -1,258 +0,0 @@ -- external: ecs - name: '@timestamp' -- external: ecs - name: client.domain -- external: ecs - name: client.registered_domain -- external: ecs - name: client.subdomain -- external: ecs - name: client.top_level_domain -- external: ecs - name: destination.address -- external: ecs - name: destination.as.number -- external: ecs - name: destination.as.organization.name -- external: ecs - name: destination.bytes -- external: ecs - name: destination.domain -- external: ecs - name: destination.geo.city_name -- external: ecs - name: destination.geo.continent_name -- external: ecs - name: destination.geo.country_iso_code -- external: ecs - name: destination.geo.country_name -- external: ecs - name: destination.geo.location -- external: ecs - name: destination.geo.region_iso_code -- external: ecs - name: destination.geo.region_name -- external: ecs - name: destination.ip -- external: ecs - name: destination.mac -- external: ecs - name: destination.nat.ip -- external: ecs - name: destination.nat.port -- external: ecs - name: destination.port -- external: ecs - name: destination.registered_domain -- external: ecs - name: destination.subdomain -- external: ecs - name: destination.top_level_domain -- external: ecs - name: dns.answers.name -- external: ecs - name: dns.answers.type -- external: ecs - name: dns.question.registered_domain -- external: ecs - name: dns.question.subdomain -- external: ecs - name: dns.question.top_level_domain -- external: ecs - name: dns.question.type -- external: ecs - name: ecs.version -- external: ecs - name: error.message -- external: ecs - name: event.action -- external: ecs - name: event.code -- external: ecs - name: event.ingested -- external: ecs - name: event.original -- external: ecs - name: event.outcome -- external: ecs - name: event.timezone -- external: ecs - name: file.attributes -- external: ecs - name: file.directory -- external: ecs - name: file.extension -- external: ecs - name: file.name -- external: ecs - name: file.path -- external: ecs - name: file.size -- external: ecs - name: file.type -- external: ecs - name: geo.city_name -- external: ecs - name: geo.country_name -- external: ecs - name: geo.name -- external: ecs - name: geo.region_name -- external: ecs - name: group.id -- external: ecs - name: group.name -- external: ecs - name: host.hostname -- external: ecs - name: host.ip -- external: ecs - name: host.mac -- external: ecs - name: host.name -- external: ecs - name: http.request.body.bytes -- external: ecs - name: http.request.method -- external: ecs - name: http.request.referrer -- external: ecs - name: log.level -- external: ecs - name: log.syslog.facility.code -- external: ecs - name: log.syslog.priority -- external: ecs - name: log.syslog.severity.code -- external: ecs - name: message -- external: ecs - name: network.application -- external: ecs - name: network.bytes -- external: ecs - name: network.direction -- external: ecs - name: network.forwarded_ip -- external: ecs - name: network.packets -- external: ecs - name: network.protocol -- external: ecs - name: observer.egress.interface.name -- external: ecs - name: observer.ingress.interface.name -- external: ecs - name: observer.product -- external: ecs - name: observer.type -- external: ecs - name: observer.vendor -- external: ecs - name: observer.version -- external: ecs - name: process.name -- external: ecs - name: process.parent.name -- external: ecs - name: process.parent.title -- external: ecs - name: process.pid -- external: ecs - name: process.parent.pid -- external: ecs - name: process.title -- external: ecs - name: related.hosts -- external: ecs - name: related.ip -- external: ecs - name: related.user -- external: ecs - name: rule.name -- external: ecs - name: server.domain -- external: ecs - name: server.registered_domain -- external: ecs - name: server.subdomain -- external: ecs - name: server.top_level_domain -- external: ecs - name: service.name -- external: ecs - name: source.address -- external: ecs - name: source.as.number -- external: ecs - name: source.as.organization.name -- external: ecs - name: source.bytes -- external: ecs - name: source.domain -- external: ecs - name: source.geo.city_name -- external: ecs - name: source.geo.country_name -- external: ecs - name: source.geo.location -- external: ecs - name: source.ip -- external: ecs - name: source.mac -- external: ecs - name: source.nat.ip -- external: ecs - name: source.nat.port -- external: ecs - name: source.port -- external: ecs - name: source.registered_domain -- external: ecs - name: source.subdomain -- external: ecs - name: source.top_level_domain -- external: ecs - name: tags -- external: ecs - name: url.domain -- external: ecs - name: url.original -- external: ecs - name: url.path -- external: ecs - name: url.query -- external: ecs - name: url.registered_domain -- external: ecs - name: url.subdomain -- external: ecs - name: url.top_level_domain -- external: ecs - name: user.domain -- external: ecs - name: user.full_name -- external: ecs - name: user.id -- external: ecs - name: user.name -- external: ecs - name: user_agent.device.name -- external: ecs - name: user_agent.name -- external: ecs - name: user_agent.original -- external: ecs - name: user_agent.os.family -- external: ecs - name: user_agent.os.full -- external: ecs - name: user_agent.os.kernel -- external: ecs - name: user_agent.os.name -- external: ecs - name: user_agent.os.platform -- external: ecs - name: user_agent.os.version -- external: ecs - name: user_agent.version diff --git a/packages/squid/data_stream/log/fields/fields.yml b/packages/squid/data_stream/log/fields/fields.yml index ea69cd79e3c..dee6c68135e 100644 --- a/packages/squid/data_stream/log/fields/fields.yml +++ b/packages/squid/data_stream/log/fields/fields.yml @@ -1,1754 +1,18 @@ -- name: rsa +- name: squid type: group fields: - - name: internal - type: group - fields: - - name: msg - type: keyword - description: This key is used to capture the raw message that comes into the Log Decoder - - name: messageid - type: keyword - - name: event_desc - type: keyword - - name: message - type: keyword - description: This key captures the contents of instant messages - - name: time - type: date - description: This is the time at which a session hits a NetWitness Decoder. This key should never be used to parse Meta data from a session (Logs/Packets) Directly, this is a Reserved key in NetWitness. - - name: level - type: long - description: Deprecated key defined only in table map. - - name: msg_id - type: keyword - description: This is the Message ID1 value that identifies the exact log parser definition which parses a particular log session. This key should never be used to parse Meta data from a session (Logs/Packets) Directly, this is a Reserved key in NetWitness - - name: msg_vid - type: keyword - description: This is the Message ID2 value that identifies the exact log parser definition which parses a particular log session. This key should never be used to parse Meta data from a session (Logs/Packets) Directly, this is a Reserved key in NetWitness - - name: data - type: keyword - description: Deprecated key defined only in table map. - - name: obj_server - type: keyword - description: Deprecated key defined only in table map. - - name: obj_val - type: keyword - description: Deprecated key defined only in table map. - - name: resource - type: keyword - description: Deprecated key defined only in table map. - - name: obj_id - type: keyword - description: Deprecated key defined only in table map. - - name: statement - type: keyword - description: Deprecated key defined only in table map. - - name: audit_class - type: keyword - description: Deprecated key defined only in table map. - - name: entry - type: keyword - description: Deprecated key defined only in table map. - - name: hcode - type: keyword - description: Deprecated key defined only in table map. - - name: inode - type: long - description: Deprecated key defined only in table map. - - name: resource_class - type: keyword - description: Deprecated key defined only in table map. - - name: dead - type: long - description: Deprecated key defined only in table map. - - name: feed_desc - type: keyword - description: This is used to capture the description of the feed. This key should never be used to parse Meta data from a session (Logs/Packets) Directly, this is a Reserved key in NetWitness - - name: feed_name - type: keyword - description: This is used to capture the name of the feed. This key should never be used to parse Meta data from a session (Logs/Packets) Directly, this is a Reserved key in NetWitness - - name: cid - type: keyword - description: This is the unique identifier used to identify a NetWitness Concentrator. This key should never be used to parse Meta data from a session (Logs/Packets) Directly, this is a Reserved key in NetWitness - - name: device_class - type: keyword - description: This is the Classification of the Log Event Source under a predefined fixed set of Event Source Classifications. This key should never be used to parse Meta data from a session (Logs/Packets) Directly, this is a Reserved key in NetWitness - - name: device_group - type: keyword - description: This key should never be used to parse Meta data from a session (Logs/Packets) Directly, this is a Reserved key in NetWitness - - name: device_host - type: keyword - description: This is the Hostname of the log Event Source sending the logs to NetWitness. This key should never be used to parse Meta data from a session (Logs/Packets) Directly, this is a Reserved key in NetWitness - - name: device_ip - type: ip - description: This is the IPv4 address of the Log Event Source sending the logs to NetWitness. This key should never be used to parse Meta data from a session (Logs/Packets) Directly, this is a Reserved key in NetWitness - - name: device_ipv6 - type: ip - description: This is the IPv6 address of the Log Event Source sending the logs to NetWitness. This key should never be used to parse Meta data from a session (Logs/Packets) Directly, this is a Reserved key in NetWitness - - name: device_type - type: keyword - description: This is the name of the log parser which parsed a given session. This key should never be used to parse Meta data from a session (Logs/Packets) Directly, this is a Reserved key in NetWitness - - name: device_type_id - type: long - description: Deprecated key defined only in table map. - - name: did - type: keyword - description: This is the unique identifier used to identify a NetWitness Decoder. This key should never be used to parse Meta data from a session (Logs/Packets) Directly, this is a Reserved key in NetWitness - - name: entropy_req - type: long - description: This key is only used by the Entropy Parser, the Meta Type can be either UInt16 or Float32 based on the configuration - - name: entropy_res - type: long - description: This key is only used by the Entropy Parser, the Meta Type can be either UInt16 or Float32 based on the configuration - - name: event_name - type: keyword - description: Deprecated key defined only in table map. - - name: feed_category - type: keyword - description: This is used to capture the category of the feed. This key should never be used to parse Meta data from a session (Logs/Packets) Directly, this is a Reserved key in NetWitness - - name: forward_ip - type: ip - description: This key should be used to capture the IPV4 address of a relay system which forwarded the events from the original system to NetWitness. - - name: forward_ipv6 - type: ip - description: This key is used to capture the IPV6 address of a relay system which forwarded the events from the original system to NetWitness. This key should never be used to parse Meta data from a session (Logs/Packets) Directly, this is a Reserved key in NetWitness - - name: header_id - type: keyword - description: This is the Header ID value that identifies the exact log parser header definition that parses a particular log session. This key should never be used to parse Meta data from a session (Logs/Packets) Directly, this is a Reserved key in NetWitness - - name: lc_cid - type: keyword - description: This is a unique Identifier of a Log Collector. This key should never be used to parse Meta data from a session (Logs/Packets) Directly, this is a Reserved key in NetWitness - - name: lc_ctime - type: date - description: This is the time at which a log is collected in a NetWitness Log Collector. This key should never be used to parse Meta data from a session (Logs/Packets) Directly, this is a Reserved key in NetWitness - - name: mcb_req - type: long - description: This key is only used by the Entropy Parser, the most common byte request is simply which byte for each side (0 thru 255) was seen the most - - name: mcb_res - type: long - description: This key is only used by the Entropy Parser, the most common byte response is simply which byte for each side (0 thru 255) was seen the most - - name: mcbc_req - type: long - description: This key is only used by the Entropy Parser, the most common byte count is the number of times the most common byte (above) was seen in the session streams - - name: mcbc_res - type: long - description: This key is only used by the Entropy Parser, the most common byte count is the number of times the most common byte (above) was seen in the session streams - - name: medium - type: long - description: "This key is used to identify if it’s a log/packet session or Layer 2 Encapsulation Type. This key should never be used to parse Meta data from a session (Logs/Packets) Directly, this is a Reserved key in NetWitness. 32 = log, 33 = correlation session, < 32 is packet session" - - name: node_name - type: keyword - description: Deprecated key defined only in table map. - - name: nwe_callback_id - type: keyword - description: This key denotes that event is endpoint related - - name: parse_error - type: keyword - description: This is a special key that stores any Meta key validation error found while parsing a log session. This key should never be used to parse Meta data from a session (Logs/Packets) Directly, this is a Reserved key in NetWitness - - name: payload_req - type: long - description: This key is only used by the Entropy Parser, the payload size metrics are the payload sizes of each session side at the time of parsing. However, in order to keep - - name: payload_res - type: long - description: This key is only used by the Entropy Parser, the payload size metrics are the payload sizes of each session side at the time of parsing. However, in order to keep - - name: process_vid_dst - type: keyword - description: Endpoint generates and uses a unique virtual ID to identify any similar group of process. This ID represents the target process. - - name: process_vid_src - type: keyword - description: Endpoint generates and uses a unique virtual ID to identify any similar group of process. This ID represents the source process. - - name: rid - type: long - description: This is a special ID of the Remote Session created by NetWitness Decoder. This key should never be used to parse Meta data from a session (Logs/Packets) Directly, this is a Reserved key in NetWitness - - name: session_split - type: keyword - description: This key should never be used to parse Meta data from a session (Logs/Packets) Directly, this is a Reserved key in NetWitness - - name: site - type: keyword - description: Deprecated key defined only in table map. - - name: size - type: long - description: This is the size of the session as seen by the NetWitness Decoder. This key should never be used to parse Meta data from a session (Logs/Packets) Directly, this is a Reserved key in NetWitness - - name: sourcefile - type: keyword - description: This is the name of the log file or PCAPs that can be imported into NetWitness. This key should never be used to parse Meta data from a session (Logs/Packets) Directly, this is a Reserved key in NetWitness - - name: ubc_req - type: long - description: This key is only used by the Entropy Parser, Unique byte count is the number of unique bytes seen in each stream. 256 would mean all byte values of 0 thru 255 were seen at least once - - name: ubc_res - type: long - description: This key is only used by the Entropy Parser, Unique byte count is the number of unique bytes seen in each stream. 256 would mean all byte values of 0 thru 255 were seen at least once - - name: word - type: keyword - description: This is used by the Word Parsing technology to capture the first 5 character of every word in an unparsed log - - name: time - type: group - fields: - - name: event_time - type: date - description: This key is used to capture the time mentioned in a raw session that represents the actual time an event occured in a standard normalized form - - name: duration_time - type: double - description: This key is used to capture the normalized duration/lifetime in seconds. - - name: event_time_str - type: keyword - description: This key is used to capture the incomplete time mentioned in a session as a string - - name: starttime - type: date - description: This key is used to capture the Start time mentioned in a session in a standard form - - name: month - type: keyword - - name: day - type: keyword - - name: endtime - type: date - description: This key is used to capture the End time mentioned in a session in a standard form - - name: timezone - type: keyword - description: This key is used to capture the timezone of the Event Time - - name: duration_str - type: keyword - description: A text string version of the duration - - name: date - type: keyword - - name: year - type: keyword - - name: recorded_time - type: date - description: The event time as recorded by the system the event is collected from. The usage scenario is a multi-tier application where the management layer of the system records it's own timestamp at the time of collection from its child nodes. Must be in timestamp format. - - name: datetime - type: keyword - - name: effective_time - type: date - description: This key is the effective time referenced by an individual event in a Standard Timestamp format - - name: expire_time - type: date - description: This key is the timestamp that explicitly refers to an expiration. - - name: process_time - type: keyword - description: Deprecated, use duration.time - - name: hour - type: keyword - - name: min - type: keyword - - name: timestamp - type: keyword - - name: event_queue_time - type: date - description: This key is the Time that the event was queued. - - name: p_time1 - type: keyword - - name: tzone - type: keyword - - name: eventtime - type: keyword - - name: gmtdate - type: keyword - - name: gmttime - type: keyword - - name: p_date - type: keyword - - name: p_month - type: keyword - - name: p_time - type: keyword - - name: p_time2 - type: keyword - - name: p_year - type: keyword - - name: expire_time_str - type: keyword - description: This key is used to capture incomplete timestamp that explicitly refers to an expiration. - - name: stamp - type: date - description: Deprecated key defined only in table map. - - name: misc - type: group - fields: - - name: action - type: keyword - - name: result - type: keyword - description: This key is used to capture the outcome/result string value of an action in a session. - - name: severity - type: keyword - description: This key is used to capture the severity given the session - - name: event_type - type: keyword - description: This key captures the event category type as specified by the event source. - - name: reference_id - type: keyword - description: This key is used to capture an event id from the session directly - - name: version - type: keyword - description: This key captures Version of the application or OS which is generating the event. - - name: disposition - type: keyword - description: This key captures the The end state of an action. - - name: result_code - type: keyword - description: This key is used to capture the outcome/result numeric value of an action in a session - - name: category - type: keyword - description: This key is used to capture the category of an event given by the vendor in the session - - name: obj_name - type: keyword - description: This is used to capture name of object - - name: obj_type - type: keyword - description: This is used to capture type of object - - name: event_source - type: keyword - description: "This key captures Source of the event that’s not a hostname" - - name: log_session_id - type: keyword - description: This key is used to capture a sessionid from the session directly - - name: group - type: keyword - description: This key captures the Group Name value - - name: policy_name - type: keyword - description: This key is used to capture the Policy Name only. - - name: rule_name - type: keyword - description: This key captures the Rule Name - - name: context - type: keyword - description: This key captures Information which adds additional context to the event. - - name: change_new - type: keyword - description: "This key is used to capture the new values of the attribute that’s changing in a session" - - name: space - type: keyword - - name: client - type: keyword - description: This key is used to capture only the name of the client application requesting resources of the server. See the user.agent meta key for capture of the specific user agent identifier or browser identification string. - - name: msgIdPart1 - type: keyword - - name: msgIdPart2 - type: keyword - - name: change_old - type: keyword - description: "This key is used to capture the old value of the attribute that’s changing in a session" - - name: operation_id - type: keyword - description: An alert number or operation number. The values should be unique and non-repeating. - - name: event_state - type: keyword - description: This key captures the current state of the object/item referenced within the event. Describing an on-going event. - - name: group_object - type: keyword - description: This key captures a collection/grouping of entities. Specific usage - - name: node - type: keyword - description: Common use case is the node name within a cluster. The cluster name is reflected by the host name. - - name: rule - type: keyword - description: This key captures the Rule number - - name: device_name - type: keyword - description: 'This is used to capture name of the Device associated with the node Like: a physical disk, printer, etc' - - name: param - type: keyword - description: This key is the parameters passed as part of a command or application, etc. - - name: change_attrib - type: keyword - description: "This key is used to capture the name of the attribute that’s changing in a session" - - name: event_computer - type: keyword - description: This key is a windows only concept, where this key is used to capture fully qualified domain name in a windows log. - - name: reference_id1 - type: keyword - description: This key is for Linked ID to be used as an addition to "reference.id" - - name: event_log - type: keyword - description: This key captures the Name of the event log - - name: OS - type: keyword - description: This key captures the Name of the Operating System - - name: terminal - type: keyword - description: This key captures the Terminal Names only - - name: msgIdPart3 - type: keyword - - name: filter - type: keyword - description: This key captures Filter used to reduce result set - - name: serial_number - type: keyword - description: This key is the Serial number associated with a physical asset. - - name: checksum - type: keyword - description: This key is used to capture the checksum or hash of the entity such as a file or process. Checksum should be used over checksum.src or checksum.dst when it is unclear whether the entity is a source or target of an action. - - name: event_user - type: keyword - description: This key is a windows only concept, where this key is used to capture combination of domain name and username in a windows log. - - name: virusname - type: keyword - description: This key captures the name of the virus - - name: content_type - type: keyword - description: This key is used to capture Content Type only. - - name: group_id - type: keyword - description: This key captures Group ID Number (related to the group name) - - name: policy_id - type: keyword - description: This key is used to capture the Policy ID only, this should be a numeric value, use policy.name otherwise - - name: vsys - type: keyword - description: This key captures Virtual System Name - - name: connection_id - type: keyword - description: This key captures the Connection ID - - name: reference_id2 - type: keyword - description: This key is for the 2nd Linked ID. Can be either linked to "reference.id" or "reference.id1" value but should not be used unless the other two variables are in play. - - name: sensor - type: keyword - description: This key captures Name of the sensor. Typically used in IDS/IPS based devices - - name: sig_id - type: long - description: This key captures IDS/IPS Int Signature ID - - name: port_name - type: keyword - description: 'This key is used for Physical or logical port connection but does NOT include a network port. (Example: Printer port name).' - - name: rule_group - type: keyword - description: This key captures the Rule group name - - name: risk_num - type: double - description: This key captures a Numeric Risk value - - name: trigger_val - type: keyword - description: This key captures the Value of the trigger or threshold condition. - - name: log_session_id1 - type: keyword - description: This key is used to capture a Linked (Related) Session ID from the session directly - - name: comp_version - type: keyword - description: This key captures the Version level of a sub-component of a product. - - name: content_version - type: keyword - description: This key captures Version level of a signature or database content. - - name: hardware_id - type: keyword - description: This key is used to capture unique identifier for a device or system (NOT a Mac address) - - name: risk - type: keyword - description: This key captures the non-numeric risk value - - name: event_id - type: keyword - - name: reason - type: keyword - - name: status - type: keyword - - name: mail_id - type: keyword - description: This key is used to capture the mailbox id/name - - name: rule_uid - type: keyword - description: This key is the Unique Identifier for a rule. - - name: trigger_desc - type: keyword - description: This key captures the Description of the trigger or threshold condition. - - name: inout - type: keyword - - name: p_msgid - type: keyword - - name: data_type - type: keyword - - name: msgIdPart4 - type: keyword - - name: error - type: keyword - description: This key captures All non successful Error codes or responses - - name: index - type: keyword - - name: listnum - type: keyword - description: This key is used to capture listname or listnumber, primarily for collecting access-list - - name: ntype - type: keyword - - name: observed_val - type: keyword - description: This key captures the Value observed (from the perspective of the device generating the log). - - name: policy_value - type: keyword - description: This key captures the contents of the policy. This contains details about the policy - - name: pool_name - type: keyword - description: This key captures the name of a resource pool - - name: rule_template - type: keyword - description: A default set of parameters which are overlayed onto a rule (or rulename) which efffectively constitutes a template - - name: count - type: keyword - - name: number - type: keyword - - name: sigcat - type: keyword - - name: type - type: keyword - - name: comments - type: keyword - description: Comment information provided in the log message - - name: doc_number - type: long - description: This key captures File Identification number - - name: expected_val - type: keyword - description: This key captures the Value expected (from the perspective of the device generating the log). - - name: job_num - type: keyword - description: This key captures the Job Number - - name: spi_dst - type: keyword - description: Destination SPI Index - - name: spi_src - type: keyword - description: Source SPI Index - - name: code - type: keyword - - name: agent_id - type: keyword - description: This key is used to capture agent id - - name: message_body - type: keyword - description: This key captures the The contents of the message body. - - name: phone - type: keyword - - name: sig_id_str - type: keyword - description: This key captures a string object of the sigid variable. - - name: cmd - type: keyword - - name: misc - type: keyword - - name: name - type: keyword - - name: cpu - type: long - description: This key is the CPU time used in the execution of the event being recorded. - - name: event_desc - type: keyword - description: This key is used to capture a description of an event available directly or inferred - - name: sig_id1 - type: long - description: This key captures IDS/IPS Int Signature ID. This must be linked to the sig.id - - name: im_buddyid - type: keyword - - name: im_client - type: keyword - - name: im_userid - type: keyword - - name: pid - type: keyword - - name: priority - type: keyword - - name: context_subject - type: keyword - description: This key is to be used in an audit context where the subject is the object being identified - - name: context_target - type: keyword - - name: cve - type: keyword - description: This key captures CVE (Common Vulnerabilities and Exposures) - an identifier for known information security vulnerabilities. - - name: fcatnum - type: keyword - description: This key captures Filter Category Number. Legacy Usage - - name: library - type: keyword - description: This key is used to capture library information in mainframe devices - - name: parent_node - type: keyword - description: This key captures the Parent Node Name. Must be related to node variable. - - name: risk_info - type: keyword - description: Deprecated, use New Hunting Model (inv.*, ioc, boc, eoc, analysis.*) - - name: tcp_flags - type: long - description: This key is captures the TCP flags set in any packet of session - - name: tos - type: long - description: This key describes the type of service - - name: vm_target - type: keyword - description: VMWare Target **VMWARE** only varaible. - - name: workspace - type: keyword - description: This key captures Workspace Description - - name: command - type: keyword - - name: event_category - type: keyword - - name: facilityname - type: keyword - - name: forensic_info - type: keyword - - name: jobname - type: keyword - - name: mode - type: keyword - - name: policy - type: keyword - - name: policy_waiver - type: keyword - - name: second - type: keyword - - name: space1 - type: keyword - - name: subcategory - type: keyword - - name: tbdstr2 - type: keyword - - name: alert_id - type: keyword - description: Deprecated, New Hunting Model (inv.*, ioc, boc, eoc, analysis.*) - - name: checksum_dst - type: keyword - description: This key is used to capture the checksum or hash of the the target entity such as a process or file. - - name: checksum_src - type: keyword - description: This key is used to capture the checksum or hash of the source entity such as a file or process. - - name: fresult - type: long - description: This key captures the Filter Result - - name: payload_dst - type: keyword - description: This key is used to capture destination payload - - name: payload_src - type: keyword - description: This key is used to capture source payload - - name: pool_id - type: keyword - description: This key captures the identifier (typically numeric field) of a resource pool - - name: process_id_val - type: keyword - description: This key is a failure key for Process ID when it is not an integer value - - name: risk_num_comm - type: double - description: This key captures Risk Number Community - - name: risk_num_next - type: double - description: This key captures Risk Number NextGen - - name: risk_num_sand - type: double - description: This key captures Risk Number SandBox - - name: risk_num_static - type: double - description: This key captures Risk Number Static - - name: risk_suspicious - type: keyword - description: Deprecated, use New Hunting Model (inv.*, ioc, boc, eoc, analysis.*) - - name: risk_warning - type: keyword - description: Deprecated, use New Hunting Model (inv.*, ioc, boc, eoc, analysis.*) - - name: snmp_oid - type: keyword - description: SNMP Object Identifier - - name: sql - type: keyword - description: This key captures the SQL query - - name: vuln_ref - type: keyword - description: This key captures the Vulnerability Reference details - - name: acl_id - type: keyword - - name: acl_op - type: keyword - - name: acl_pos - type: keyword - - name: acl_table - type: keyword - - name: admin - type: keyword - - name: alarm_id - type: keyword - - name: alarmname - type: keyword - - name: app_id - type: keyword - - name: audit - type: keyword - - name: audit_object - type: keyword - - name: auditdata - type: keyword - - name: benchmark - type: keyword - - name: bypass - type: keyword - - name: cache - type: keyword - - name: cache_hit - type: keyword - - name: cefversion - type: keyword - - name: cfg_attr - type: keyword - - name: cfg_obj - type: keyword - - name: cfg_path - type: keyword - - name: changes - type: keyword - - name: client_ip - type: keyword - - name: clustermembers - type: keyword - - name: cn_acttimeout - type: keyword - - name: cn_asn_src - type: keyword - - name: cn_bgpv4nxthop - type: keyword - - name: cn_ctr_dst_code - type: keyword - - name: cn_dst_tos - type: keyword - - name: cn_dst_vlan - type: keyword - - name: cn_engine_id - type: keyword - - name: cn_engine_type - type: keyword - - name: cn_f_switch - type: keyword - - name: cn_flowsampid - type: keyword - - name: cn_flowsampintv - type: keyword - - name: cn_flowsampmode - type: keyword - - name: cn_inacttimeout - type: keyword - - name: cn_inpermbyts - type: keyword - - name: cn_inpermpckts - type: keyword - - name: cn_invalid - type: keyword - - name: cn_ip_proto_ver - type: keyword - - name: cn_ipv4_ident - type: keyword - - name: cn_l_switch - type: keyword - - name: cn_log_did - type: keyword - - name: cn_log_rid - type: keyword - - name: cn_max_ttl - type: keyword - - name: cn_maxpcktlen - type: keyword - - name: cn_min_ttl - type: keyword - - name: cn_minpcktlen - type: keyword - - name: cn_mpls_lbl_1 - type: keyword - - name: cn_mpls_lbl_10 - type: keyword - - name: cn_mpls_lbl_2 - type: keyword - - name: cn_mpls_lbl_3 - type: keyword - - name: cn_mpls_lbl_4 - type: keyword - - name: cn_mpls_lbl_5 - type: keyword - - name: cn_mpls_lbl_6 - type: keyword - - name: cn_mpls_lbl_7 - type: keyword - - name: cn_mpls_lbl_8 - type: keyword - - name: cn_mpls_lbl_9 - type: keyword - - name: cn_mplstoplabel - type: keyword - - name: cn_mplstoplabip - type: keyword - - name: cn_mul_dst_byt - type: keyword - - name: cn_mul_dst_pks - type: keyword - - name: cn_muligmptype - type: keyword - - name: cn_sampalgo - type: keyword - - name: cn_sampint - type: keyword - - name: cn_seqctr - type: keyword - - name: cn_spackets - type: keyword - - name: cn_src_tos - type: keyword - - name: cn_src_vlan - type: keyword - - name: cn_sysuptime - type: keyword - - name: cn_template_id - type: keyword - - name: cn_totbytsexp - type: keyword - - name: cn_totflowexp - type: keyword - - name: cn_totpcktsexp - type: keyword - - name: cn_unixnanosecs - type: keyword - - name: cn_v6flowlabel - type: keyword - - name: cn_v6optheaders - type: keyword - - name: comp_class - type: keyword - - name: comp_name - type: keyword - - name: comp_rbytes - type: keyword - - name: comp_sbytes - type: keyword - - name: cpu_data - type: keyword - - name: criticality - type: keyword - - name: cs_agency_dst - type: keyword - - name: cs_analyzedby - type: keyword - - name: cs_av_other - type: keyword - - name: cs_av_primary - type: keyword - - name: cs_av_secondary - type: keyword - - name: cs_bgpv6nxthop - type: keyword - - name: cs_bit9status - type: keyword - - name: cs_context - type: keyword - - name: cs_control - type: keyword - - name: cs_data - type: keyword - - name: cs_datecret - type: keyword - - name: cs_dst_tld - type: keyword - - name: cs_eth_dst_ven - type: keyword - - name: cs_eth_src_ven - type: keyword - - name: cs_event_uuid - type: keyword - - name: cs_filetype - type: keyword - - name: cs_fld - type: keyword - - name: cs_if_desc - type: keyword - - name: cs_if_name - type: keyword - - name: cs_ip_next_hop - type: keyword - - name: cs_ipv4dstpre - type: keyword - - name: cs_ipv4srcpre - type: keyword - - name: cs_lifetime - type: keyword - - name: cs_log_medium - type: keyword - - name: cs_loginname - type: keyword - - name: cs_modulescore - type: keyword - - name: cs_modulesign - type: keyword - - name: cs_opswatresult - type: keyword - - name: cs_payload - type: keyword - - name: cs_registrant - type: keyword - - name: cs_registrar - type: keyword - - name: cs_represult - type: keyword - - name: cs_rpayload - type: keyword - - name: cs_sampler_name - type: keyword - - name: cs_sourcemodule - type: keyword - - name: cs_streams - type: keyword - - name: cs_targetmodule - type: keyword - - name: cs_v6nxthop - type: keyword - - name: cs_whois_server - type: keyword - - name: cs_yararesult - type: keyword - - name: description - type: keyword - - name: devvendor - type: keyword - - name: distance - type: keyword - - name: dstburb - type: keyword - - name: edomain - type: keyword - - name: edomaub - type: keyword - - name: euid - type: keyword - - name: facility - type: keyword - - name: finterface - type: keyword - - name: flags - type: keyword - - name: gaddr - type: keyword - - name: id3 - type: keyword - - name: im_buddyname - type: keyword - - name: im_croomid - type: keyword - - name: im_croomtype - type: keyword - - name: im_members - type: keyword - - name: im_username - type: keyword - - name: ipkt - type: keyword - - name: ipscat - type: keyword - - name: ipspri - type: keyword - - name: latitude - type: keyword - - name: linenum - type: keyword - - name: list_name - type: keyword - - name: load_data - type: keyword - - name: location_floor - type: keyword - - name: location_mark - type: keyword - - name: log_id - type: keyword - - name: log_type - type: keyword - - name: logid - type: keyword - - name: logip - type: keyword - - name: logname - type: keyword - - name: longitude - type: keyword - - name: lport - type: keyword - - name: mbug_data - type: keyword - - name: misc_name - type: keyword - - name: msg_type - type: keyword - - name: msgid - type: keyword - - name: netsessid - type: keyword - - name: num - type: keyword - - name: number1 - type: keyword - - name: number2 - type: keyword - - name: nwwn - type: keyword - - name: object - type: keyword - - name: operation - type: keyword - - name: opkt - type: keyword - - name: orig_from - type: keyword - - name: owner_id - type: keyword - - name: p_action - type: keyword - - name: p_filter - type: keyword - - name: p_group_object - type: keyword - - name: p_id - type: keyword - - name: p_msgid1 - type: keyword - - name: p_msgid2 - type: keyword - - name: p_result1 - type: keyword - - name: password_chg - type: keyword - - name: password_expire - type: keyword - - name: permgranted - type: keyword - - name: permwanted - type: keyword - - name: pgid - type: keyword - - name: policyUUID - type: keyword - - name: prog_asp_num - type: keyword - - name: program - type: keyword - - name: real_data - type: keyword - - name: rec_asp_device - type: keyword - - name: rec_asp_num - type: keyword - - name: rec_library - type: keyword - - name: recordnum - type: keyword - - name: ruid - type: keyword - - name: sburb - type: keyword - - name: sdomain_fld - type: keyword - - name: sec - type: keyword - - name: sensorname - type: keyword - - name: seqnum - type: keyword - - name: session - type: keyword - - name: sessiontype - type: keyword - - name: sigUUID - type: keyword - - name: spi - type: keyword - - name: srcburb - type: keyword - - name: srcdom - type: keyword - - name: srcservice - type: keyword - - name: state - type: keyword - - name: status1 - type: keyword - - name: svcno - type: keyword - - name: system - type: keyword - - name: tbdstr1 - type: keyword - - name: tgtdom - type: keyword - - name: tgtdomain - type: keyword - - name: threshold - type: keyword - - name: type1 - type: keyword - - name: udb_class - type: keyword - - name: url_fld - type: keyword - - name: user_div - type: keyword - - name: userid - type: keyword - - name: username_fld - type: keyword - - name: utcstamp - type: keyword - - name: v_instafname - type: keyword - - name: virt_data - type: keyword - - name: vpnid - type: keyword - - name: autorun_type - type: keyword - description: This is used to capture Auto Run type - - name: cc_number - type: long - description: Valid Credit Card Numbers only - - name: content - type: keyword - description: This key captures the content type from protocol headers - - name: ein_number - type: long - description: Employee Identification Numbers only - - name: found - type: keyword - description: This is used to capture the results of regex match - - name: language - type: keyword - description: This is used to capture list of languages the client support and what it prefers - - name: lifetime - type: long - description: This key is used to capture the session lifetime in seconds. - - name: link - type: keyword - description: This key is used to link the sessions together. This key should never be used to parse Meta data from a session (Logs/Packets) Directly, this is a Reserved key in NetWitness - - name: match - type: keyword - description: This key is for regex match name from search.ini - - name: param_dst - type: keyword - description: This key captures the command line/launch argument of the target process or file - - name: param_src - type: keyword - description: This key captures source parameter - - name: search_text - type: keyword - description: This key captures the Search Text used - - name: sig_name - type: keyword - description: This key is used to capture the Signature Name only. - - name: snmp_value - type: keyword - description: SNMP set request value - - name: streams - type: long - description: This key captures number of streams in session - - name: db - type: group - fields: - - name: index - type: keyword - description: This key captures IndexID of the index. - - name: instance - type: keyword - description: This key is used to capture the database server instance name - - name: database - type: keyword - description: This key is used to capture the name of a database or an instance as seen in a session - - name: transact_id - type: keyword - description: This key captures the SQL transantion ID of the current session - - name: permissions - type: keyword - description: This key captures permission or privilege level assigned to a resource. - - name: table_name - type: keyword - description: This key is used to capture the table name - - name: db_id - type: keyword - description: This key is used to capture the unique identifier for a database - - name: db_pid - type: long - description: This key captures the process id of a connection with database server - - name: lread - type: long - description: This key is used for the number of logical reads - - name: lwrite - type: long - description: This key is used for the number of logical writes - - name: pread - type: long - description: This key is used for the number of physical writes - - name: network - type: group - fields: - - name: alias_host - type: keyword - description: This key should be used when the source or destination context of a hostname is not clear.Also it captures the Device Hostname. Any Hostname that isnt ad.computer. - - name: domain - type: keyword - - name: host_dst - type: keyword - description: "This key should only be used when it’s a Destination Hostname" - - name: network_service - type: keyword - description: This is used to capture layer 7 protocols/service names - - name: interface - type: keyword - description: This key should be used when the source or destination context of an interface is not clear - - name: network_port - type: long - description: 'Deprecated, use port. NOTE: There is a type discrepancy as currently used, TM: Int32, INDEX: UInt64 (why neither chose the correct UInt16?!)' - - name: eth_host - type: keyword - description: Deprecated, use alias.mac - - name: sinterface - type: keyword - description: "This key should only be used when it’s a Source Interface" - - name: dinterface - type: keyword - description: "This key should only be used when it’s a Destination Interface" - - name: vlan - type: long - description: This key should only be used to capture the ID of the Virtual LAN - - name: zone_src - type: keyword - description: "This key should only be used when it’s a Source Zone." - - name: zone - type: keyword - description: This key should be used when the source or destination context of a Zone is not clear - - name: zone_dst - type: keyword - description: "This key should only be used when it’s a Destination Zone." - - name: gateway - type: keyword - description: This key is used to capture the IP Address of the gateway - - name: icmp_type - type: long - description: This key is used to capture the ICMP type only - - name: mask - type: keyword - description: This key is used to capture the device network IPmask. - - name: icmp_code - type: long - description: This key is used to capture the ICMP code only - - name: protocol_detail - type: keyword - description: This key should be used to capture additional protocol information - - name: dmask - type: keyword - description: This key is used for Destionation Device network mask - - name: port - type: long - description: This key should only be used to capture a Network Port when the directionality is not clear - - name: smask - type: keyword - description: This key is used for capturing source Network Mask - - name: netname - type: keyword - description: This key is used to capture the network name associated with an IP range. This is configured by the end user. - - name: paddr - type: ip - description: Deprecated - - name: faddr - type: keyword - - name: lhost - type: keyword - - name: origin - type: keyword - - name: remote_domain_id - type: keyword - - name: addr - type: keyword - - name: dns_a_record - type: keyword - - name: dns_ptr_record - type: keyword - - name: fhost - type: keyword - - name: fport - type: keyword - - name: laddr - type: keyword - - name: linterface - type: keyword - - name: phost - type: keyword - - name: ad_computer_dst - type: keyword - description: Deprecated, use host.dst - - name: eth_type - type: long - description: This key is used to capture Ethernet Type, Used for Layer 3 Protocols Only - - name: ip_proto - type: long - description: This key should be used to capture the Protocol number, all the protocol nubers are converted into string in UI - - name: dns_cname_record - type: keyword - - name: dns_id - type: keyword - - name: dns_opcode - type: keyword - - name: dns_resp - type: keyword - - name: dns_type - type: keyword - - name: domain1 - type: keyword - - name: host_type - type: keyword - - name: packet_length - type: keyword - - name: host_orig - type: keyword - description: This is used to capture the original hostname in case of a Forwarding Agent or a Proxy in between. - - name: rpayload - type: keyword - description: This key is used to capture the total number of payload bytes seen in the retransmitted packets. - - name: vlan_name - type: keyword - description: This key should only be used to capture the name of the Virtual LAN - - name: investigations - type: group - fields: - - name: ec_activity - type: keyword - description: This key captures the particular event activity(Ex:Logoff) - - name: ec_theme - type: keyword - description: This key captures the Theme of a particular Event(Ex:Authentication) - - name: ec_subject - type: keyword - description: This key captures the Subject of a particular Event(Ex:User) - - name: ec_outcome - type: keyword - description: This key captures the outcome of a particular Event(Ex:Success) - - name: event_cat - type: long - description: This key captures the Event category number - - name: event_cat_name - type: keyword - description: This key captures the event category name corresponding to the event cat code - - name: event_vcat - type: keyword - description: This is a vendor supplied category. This should be used in situations where the vendor has adopted their own event_category taxonomy. - - name: analysis_file - type: keyword - description: This is used to capture all indicators used in a File Analysis. This key should be used to capture an analysis of a file - - name: analysis_service - type: keyword - description: This is used to capture all indicators used in a Service Analysis. This key should be used to capture an analysis of a service - - name: analysis_session - type: keyword - description: This is used to capture all indicators used for a Session Analysis. This key should be used to capture an analysis of a session - - name: boc - type: keyword - description: This is used to capture behaviour of compromise - - name: eoc - type: keyword - description: This is used to capture Enablers of Compromise - - name: inv_category - type: keyword - description: This used to capture investigation category - - name: inv_context - type: keyword - description: This used to capture investigation context - - name: ioc - type: keyword - description: This is key capture indicator of compromise - - name: counters - type: group - fields: - - name: dclass_c1 - type: long - description: This is a generic counter key that should be used with the label dclass.c1.str only - - name: dclass_c2 - type: long - description: This is a generic counter key that should be used with the label dclass.c2.str only - - name: event_counter - type: long - description: This is used to capture the number of times an event repeated - - name: dclass_r1 - type: keyword - description: This is a generic ratio key that should be used with the label dclass.r1.str only - - name: dclass_c3 - type: long - description: This is a generic counter key that should be used with the label dclass.c3.str only - - name: dclass_c1_str - type: keyword - description: This is a generic counter string key that should be used with the label dclass.c1 only - - name: dclass_c2_str - type: keyword - description: This is a generic counter string key that should be used with the label dclass.c2 only - - name: dclass_r1_str - type: keyword - description: This is a generic ratio string key that should be used with the label dclass.r1 only - - name: dclass_r2 - type: keyword - description: This is a generic ratio key that should be used with the label dclass.r2.str only - - name: dclass_c3_str - type: keyword - description: This is a generic counter string key that should be used with the label dclass.c3 only - - name: dclass_r3 - type: keyword - description: This is a generic ratio key that should be used with the label dclass.r3.str only - - name: dclass_r2_str - type: keyword - description: This is a generic ratio string key that should be used with the label dclass.r2 only - - name: dclass_r3_str - type: keyword - description: This is a generic ratio string key that should be used with the label dclass.r3 only - - name: identity - type: group - fields: - - name: auth_method - type: keyword - description: This key is used to capture authentication methods used only - - name: user_role - type: keyword - description: This key is used to capture the Role of a user only - - name: dn - type: keyword - description: X.500 (LDAP) Distinguished Name - - name: logon_type - type: keyword - description: This key is used to capture the type of logon method used. - - name: profile - type: keyword - description: This key is used to capture the user profile - - name: accesses - type: keyword - description: This key is used to capture actual privileges used in accessing an object - - name: realm - type: keyword - description: Radius realm or similar grouping of accounts - - name: user_sid_dst - type: keyword - description: This key captures Destination User Session ID - - name: dn_src - type: keyword - description: An X.500 (LDAP) Distinguished name that is used in a context that indicates a Source dn - - name: org - type: keyword - description: This key captures the User organization - - name: dn_dst - type: keyword - description: An X.500 (LDAP) Distinguished name that used in a context that indicates a Destination dn - - name: firstname - type: keyword - description: This key is for First Names only, this is used for Healthcare predominantly to capture Patients information - - name: lastname - type: keyword - description: This key is for Last Names only, this is used for Healthcare predominantly to capture Patients information - - name: user_dept - type: keyword - description: User's Department Names only - - name: user_sid_src - type: keyword - description: This key captures Source User Session ID - - name: federated_sp - type: keyword - description: This key is the Federated Service Provider. This is the application requesting authentication. - - name: federated_idp - type: keyword - description: This key is the federated Identity Provider. This is the server providing the authentication. - - name: logon_type_desc - type: keyword - description: This key is used to capture the textual description of an integer logon type as stored in the meta key 'logon.type'. - - name: middlename - type: keyword - description: This key is for Middle Names only, this is used for Healthcare predominantly to capture Patients information - - name: password - type: keyword - description: This key is for Passwords seen in any session, plain text or encrypted - - name: host_role - type: keyword - description: This key should only be used to capture the role of a Host Machine - - name: ldap - type: keyword - description: "This key is for Uninterpreted LDAP values. Ldap Values that don’t have a clear query or response context" - - name: ldap_query - type: keyword - description: This key is the Search criteria from an LDAP search - - name: ldap_response - type: keyword - description: This key is to capture Results from an LDAP search - - name: owner - type: keyword - description: This is used to capture username the process or service is running as, the author of the task - - name: service_account - type: keyword - description: This key is a windows specific key, used for capturing name of the account a service (referenced in the event) is running under. Legacy Usage - - name: email - type: group - fields: - - name: email_dst - type: keyword - description: This key is used to capture the Destination email address only, when the destination context is not clear use email - - name: email_src - type: keyword - description: This key is used to capture the source email address only, when the source context is not clear use email - - name: subject - type: keyword - description: This key is used to capture the subject string from an Email only. - - name: email - type: keyword - description: This key is used to capture a generic email address where the source or destination context is not clear - - name: trans_from - type: keyword - description: Deprecated key defined only in table map. - - name: trans_to - type: keyword - description: Deprecated key defined only in table map. - - name: file - type: group - fields: - - name: privilege - type: keyword - description: Deprecated, use permissions - - name: attachment - type: keyword - description: This key captures the attachment file name - - name: filesystem - type: keyword - - name: binary - type: keyword - description: Deprecated key defined only in table map. - - name: filename_dst - type: keyword - description: This is used to capture name of the file targeted by the action - - name: filename_src - type: keyword - description: This is used to capture name of the parent filename, the file which performed the action - - name: filename_tmp - type: keyword - - name: directory_dst - type: keyword - description: This key is used to capture the directory of the target process or file - - name: directory_src - type: keyword - description: This key is used to capture the directory of the source process or file - - name: file_entropy - type: double - description: This is used to capture entropy vale of a file - - name: file_vendor - type: keyword - description: This is used to capture Company name of file located in version_info - - name: task_name - type: keyword - description: This is used to capture name of the task - - name: web - type: group - fields: - - name: fqdn - type: keyword - description: Fully Qualified Domain Names - - name: web_cookie - type: keyword - description: This key is used to capture the Web cookies specifically. - - name: alias_host - type: keyword - - name: reputation_num - type: double - description: Reputation Number of an entity. Typically used for Web Domains - - name: web_ref_domain - type: keyword - description: Web referer's domain - - name: web_ref_query - type: keyword - description: This key captures Web referer's query portion of the URL - - name: remote_domain - type: keyword - - name: web_ref_page - type: keyword - description: This key captures Web referer's page information - - name: web_ref_root - type: keyword - description: Web referer's root URL path - - name: cn_asn_dst - type: keyword - - name: cn_rpackets - type: keyword - - name: urlpage - type: keyword - - name: urlroot - type: keyword - - name: p_url - type: keyword - - name: p_user_agent - type: keyword - - name: p_web_cookie - type: keyword - - name: p_web_method - type: keyword - - name: p_web_referer - type: keyword - - name: web_extension_tmp - type: keyword - - name: web_page - type: keyword - - name: threat - type: group - fields: - - name: threat_category - type: keyword - description: This key captures Threat Name/Threat Category/Categorization of alert - - name: threat_desc - type: keyword - description: This key is used to capture the threat description from the session directly or inferred - - name: alert - type: keyword - description: This key is used to capture name of the alert - - name: threat_source - type: keyword - description: This key is used to capture source of the threat - - name: crypto - type: group - fields: - - name: crypto - type: keyword - description: This key is used to capture the Encryption Type or Encryption Key only - - name: cipher_src - type: keyword - description: This key is for Source (Client) Cipher - - name: cert_subject - type: keyword - description: This key is used to capture the Certificate organization only - - name: peer - type: keyword - description: This key is for Encryption peer's IP Address - - name: cipher_size_src - type: long - description: This key captures Source (Client) Cipher Size - - name: ike - type: keyword - description: IKE negotiation phase. - - name: scheme - type: keyword - description: This key captures the Encryption scheme used - - name: peer_id - type: keyword - description: "This key is for Encryption peer’s identity" - - name: sig_type - type: keyword - description: This key captures the Signature Type - - name: cert_issuer - type: keyword - - name: cert_host_name - type: keyword - description: Deprecated key defined only in table map. - - name: cert_error - type: keyword - description: This key captures the Certificate Error String - - name: cipher_dst - type: keyword - description: This key is for Destination (Server) Cipher - - name: cipher_size_dst - type: long - description: This key captures Destination (Server) Cipher Size - - name: ssl_ver_src - type: keyword - description: Deprecated, use version - - name: d_certauth - type: keyword - - name: s_certauth - type: keyword - - name: ike_cookie1 - type: keyword - description: "ID of the negotiation — sent for ISAKMP Phase One" - - name: ike_cookie2 - type: keyword - description: "ID of the negotiation — sent for ISAKMP Phase Two" - - name: cert_checksum - type: keyword - - name: cert_host_cat - type: keyword - description: This key is used for the hostname category value of a certificate - - name: cert_serial - type: keyword - description: This key is used to capture the Certificate serial number only - - name: cert_status - type: keyword - description: This key captures Certificate validation status - - name: ssl_ver_dst - type: keyword - description: Deprecated, use version - - name: cert_keysize - type: keyword - - name: cert_username - type: keyword - - name: https_insact - type: keyword - - name: https_valid - type: keyword - - name: cert_ca - type: keyword - description: This key is used to capture the Certificate signing authority only - - name: cert_common - type: keyword - description: This key is used to capture the Certificate common name only - - name: wireless - type: group - fields: - - name: wlan_ssid - type: keyword - description: This key is used to capture the ssid of a Wireless Session - - name: access_point - type: keyword - description: This key is used to capture the access point name. - - name: wlan_channel - type: long - description: This is used to capture the channel names - - name: wlan_name - type: keyword - description: This key captures either WLAN number/name - - name: storage - type: group - fields: - - name: disk_volume - type: keyword - description: A unique name assigned to logical units (volumes) within a physical disk - - name: lun - type: keyword - description: Logical Unit Number.This key is a very useful concept in Storage. - - name: pwwn - type: keyword - description: This uniquely identifies a port on a HBA. - - name: physical - type: group - fields: - - name: org_dst - type: keyword - description: This is used to capture the destination organization based on the GEOPIP Maxmind database. - - name: org_src - type: keyword - description: This is used to capture the source organization based on the GEOPIP Maxmind database. - - name: healthcare - type: group - fields: - - name: patient_fname - type: keyword - description: This key is for First Names only, this is used for Healthcare predominantly to capture Patients information - - name: patient_id - type: keyword - description: This key captures the unique ID for a patient - - name: patient_lname - type: keyword - description: This key is for Last Names only, this is used for Healthcare predominantly to capture Patients information - - name: patient_mname - type: keyword - description: This key is for Middle Names only, this is used for Healthcare predominantly to capture Patients information - - name: endpoint - type: group - fields: - - name: host_state - type: keyword - description: This key is used to capture the current state of the machine, such as blacklisted, infected, firewall disabled and so on - - name: registry_key - type: keyword - description: This key captures the path to the registry key - - name: registry_value - type: keyword - description: This key captures values or decorators used within a registry entry -- name: dns.question.domain - type: keyword - ignore_above: 1024 - description: Server domain. -- name: network.interface.name - type: keyword + - name: peer_status + type: keyword + description: A code explaining how the request was handled, by forwarding it to a peer or going straight to the source. + - name: peer_host + type: keyword + description: Hostname or IP address where, in the event of a cache miss, the request was forwarded. + - name: result_code + type: keyword + description: The outcome of the request. + - name: status_code + type: long + description: The status of the result. + - name: content_type + type: keyword + description: The content type as seen in the HTTP reply header. diff --git a/packages/squid/data_stream/log/manifest.yml b/packages/squid/data_stream/log/manifest.yml index 4174c3e84f3..054f1037315 100644 --- a/packages/squid/data_stream/log/manifest.yml +++ b/packages/squid/data_stream/log/manifest.yml @@ -1,10 +1,9 @@ title: Squid logs -release: experimental type: logs streams: - input: udp title: Squid logs - description: Collect Squid logs + description: Collect Squid logs using the UDP input template_path: udp.yml.hbs vars: - name: tags @@ -30,30 +29,6 @@ streams: required: true show_user: true default: 9537 - - name: tz_offset - type: text - title: Timezone offset (+HH:mm format) - required: false - show_user: true - default: "local" - - name: rsa_fields - type: bool - title: Add non-ECS fields - required: false - show_user: true - default: true - - name: keep_raw_fields - type: bool - title: Keep raw parser fields - required: false - show_user: false - default: false - - name: debug - type: bool - title: Enable debug logging - required: false - show_user: false - default: false - name: preserve_original_event required: true show_user: true @@ -62,6 +37,17 @@ streams: type: bool multi: false default: false + - name: udp_options + type: yaml + title: Custom UDP Options + multi: false + required: false + show_user: false + description: Specify custom configuration options for the UDP input. See [UDP input](https://www.elastic.co/guide/en/beats/filebeat/current/filebeat-input-udp.html) for details. + default: | + #read_buffer: 100MiB + #max_message_size: 50KiB + #timeout: 300s - name: processors type: yaml title: Processors @@ -73,7 +59,7 @@ streams: - input: tcp title: Squid logs - description: Collect Squid logs + description: Collect Squid logs using the TCP input template_path: tcp.yml.hbs vars: - name: tags @@ -99,30 +85,6 @@ streams: required: true show_user: true default: 9537 - - name: tz_offset - type: text - title: Timezone offset (+HH:mm format) - required: false - show_user: true - default: "local" - - name: rsa_fields - type: bool - title: Add non-ECS fields - required: false - show_user: true - default: true - - name: keep_raw_fields - type: bool - title: Keep raw parser fields - required: false - show_user: false - default: false - - name: debug - type: bool - title: Enable debug logging - required: false - show_user: false - default: false - name: preserve_original_event required: true show_user: true @@ -139,11 +101,31 @@ streams: show_user: false description: > Processors are used to reduce the number of fields in the exported event or to enhance the event with metadata. This executes in the agent before the logs are parsed. See [Processors](https://www.elastic.co/guide/en/beats/filebeat/current/filtering-and-enhancing-data.html) for details. + - name: ssl + type: yaml + title: SSL Configuration + description: i.e. certificate_authorities, supported_protocols, verification_mode etc. + multi: false + required: false + show_user: false + default: |- + #certificate: "/etc/server/cert.pem" + #key: "/etc/server/key.pem" + - name: tcp_options + type: yaml + title: Custom TCP Options + multi: false + required: false + show_user: false + default: |- + # max_message_size: 50KiB + description: Specify custom configuration options for the TCP input. See [TCP input](https://www.elastic.co/guide/en/beats/filebeat/current/filebeat-input-tcp.html) for details. - - input: logfile + - input: filestream + template_path: filestream.yml.hbs + title: Squid logs (filestream) + description: Collect Squid logs using the filestream input enabled: false - title: Squid logs - description: Collect Squid logs from file vars: - name: paths type: text @@ -162,30 +144,6 @@ streams: default: - squid-log - forwarded - - name: tz_offset - type: text - title: Timezone offset (+HH:mm format) - required: false - show_user: true - default: "local" - - name: rsa_fields - type: bool - title: Add non-ECS fields - required: false - show_user: true - default: true - - name: keep_raw_fields - type: bool - title: Keep raw parser fields - required: false - show_user: false - default: false - - name: debug - type: bool - title: Enable debug logging - required: false - show_user: false - default: false - name: preserve_original_event required: true show_user: true diff --git a/packages/squid/data_stream/log/sample_event.json b/packages/squid/data_stream/log/sample_event.json index 892678dde6b..750b46a8ae3 100644 --- a/packages/squid/data_stream/log/sample_event.json +++ b/packages/squid/data_stream/log/sample_event.json @@ -1,116 +1,94 @@ { - "@timestamp": "2006-09-08T04:21:52.000Z", + "@timestamp": "2006-09-08T04:21:52.049Z", "agent": { - "ephemeral_id": "724f1b11-a938-4b3f-a226-3a713e999bf2", - "id": "4e3f135a-d5f9-40b6-ae01-2c834ecbead0", - "name": "docker-fleet-agent", + "ephemeral_id": "d2fe5a60-2c7f-4a2b-9c91-a88abd26c2d1", + "id": "2b35d07e-645d-4dd4-b6de-d2964870586d", + "name": "elastic-agent-68860", "type": "filebeat", - "version": "8.0.0" + "version": "8.15.0" }, "data_stream": { "dataset": "squid.log", - "namespace": "ep", + "namespace": "42631", "type": "logs" }, "destination": { - "ip": [ - "209.73.177.115" - ] + "bytes": 19763 }, "ecs": { "version": "8.11.0" }, "elastic_agent": { - "id": "4e3f135a-d5f9-40b6-ae01-2c834ecbead0", - "snapshot": true, - "version": "8.0.0" + "id": "2b35d07e-645d-4dd4-b6de-d2964870586d", + "snapshot": false, + "version": "8.15.0" }, "event": { - "action": "TCP_MISS", "agent_id_status": "verified", - "code": "CONNECT", + "category": [ + "web" + ], "dataset": "squid.log", - "ingested": "2022-01-25T13:03:46Z", - "timezone": "+00:00" + "duration": 5006000000, + "ingested": "2024-08-27T12:22:15Z", + "kind": "event", + "original": "1157689312.049 5006 10.105.21.199 TCP_MISS/200 19763 CONNECT login.yahoo.com:443 badeyek DIRECT/209.73.177.115 -", + "outcome": "success", + "type": [ + "access" + ] + }, + "http": { + "request": { + "body": { + "bytes": 19763 + }, + "method": "CONNECT" + } }, "input": { - "type": "udp" + "type": "filestream" }, "log": { - "source": { - "address": "172.30.0.4:52551" - } + "file": { + "device_id": "35", + "inode": "87", + "path": "/tmp/service_logs/squid-log-access.log" + }, + "offset": 0 }, "observer": { - "product": "Proxy", - "type": "Proxies", + "product": "Squid", + "type": "proxy", "vendor": "Squid" }, "related": { - "hosts": [ - "login.yahoo.com" - ], "ip": [ - "10.105.21.199", - "209.73.177.115" + "10.105.21.199" ], "user": [ "badeyek" ] }, - "rsa": { - "internal": { - "hcode": "DIRECT", - "messageid": "CONNECT" - }, - "investigations": { - "ec_subject": "NetworkComm", - "ec_theme": "ALM" - }, - "misc": { - "action": [ - "CONNECT", - "TCP_MISS" - ], - "content_type": "-\n", - "result_code": "200" - }, - "network": { - "domain": "login.yahoo.com" - }, - "time": { - "duration_time": 5006, - "event_time": "2006-09-08T04:21:52.000Z", - "event_time_str": "1157689312" - }, - "web": { - "alias_host": "login.yahoo.com" + "source": { + "address": "10.105.21.199", + "ip": "10.105.21.199", + "user": { + "name": "badeyek" } }, - "server": { - "domain": "login.yahoo.com", - "registered_domain": "yahoo.com", - "subdomain": "login", - "top_level_domain": "com" - }, - "source": { - "bytes": 19763, - "ip": [ - "10.105.21.199" - ] + "squid": { + "peer_host": "209.73.177.115", + "peer_status": "DIRECT", + "result_code": "TCP_MISS", + "status_code": 200 }, "tags": [ + "preserve_original_event", "squid-log", "forwarded" ], "url": { - "domain": "login.yahoo.com", - "original": "login.yahoo.com:443", - "registered_domain": "yahoo.com", - "subdomain": "login", - "top_level_domain": "com" - }, - "user": { - "name": "badeyek" + "original": "login.yahoo.com:443" } } \ No newline at end of file diff --git a/packages/squid/docs/README.md b/packages/squid/docs/README.md index c4c5a4aaa91..c2df20db368 100644 --- a/packages/squid/docs/README.md +++ b/packages/squid/docs/README.md @@ -12,830 +12,26 @@ The `log` dataset collects Squid logs. | Field | Description | Type | |---|---|---| -| @timestamp | Date/time when the event originated. This is the date/time extracted from the event, typically representing when the event was generated by the source. If the event source has no original timestamp, this value is typically populated by the first time the event was received by the pipeline. Required field for all events. | date | -| client.domain | The domain name of the client system. This value may be a host name, a fully qualified domain name, or another host naming format. The value may derive from the original event or be added from enrichment. | keyword | -| client.registered_domain | The highest registered client domain, stripped of the subdomain. For example, the registered domain for "foo.example.com" is "example.com". This value can be determined precisely with a list like the public suffix list (http://publicsuffix.org). Trying to approximate this by simply taking the last two labels will not work well for TLDs such as "co.uk". | keyword | -| client.subdomain | The subdomain portion of a fully qualified domain name includes all of the names except the host name under the registered_domain. In a partially qualified domain, or if the the qualification level of the full name cannot be determined, subdomain contains all of the names below the registered domain. For example the subdomain portion of "www.east.mydomain.co.uk" is "east". If the domain has multiple levels of subdomain, such as "sub2.sub1.example.com", the subdomain field should contain "sub2.sub1", with no trailing period. | keyword | -| client.top_level_domain | The effective top level domain (eTLD), also known as the domain suffix, is the last part of the domain name. For example, the top level domain for example.com is "com". This value can be determined precisely with a list like the public suffix list (http://publicsuffix.org). Trying to approximate this by simply taking the last label will not work well for effective TLDs such as "co.uk". | keyword | +| @timestamp | Event timestamp. | date | | container.id | Unique container id. | keyword | | data_stream.dataset | Data stream dataset. | constant_keyword | | data_stream.namespace | Data stream namespace. | constant_keyword | | data_stream.type | Data stream type. | constant_keyword | -| destination.address | Some event destination addresses are defined ambiguously. The event will sometimes list an IP, a domain or a unix socket. You should always store the raw address in the `.address` field. Then it should be duplicated to `.ip` or `.domain`, depending on which one it is. | keyword | -| destination.as.number | Unique number allocated to the autonomous system. The autonomous system number (ASN) uniquely identifies each network on the Internet. | long | -| destination.as.organization.name | Organization name. | keyword | -| destination.as.organization.name.text | Multi-field of `destination.as.organization.name`. | match_only_text | -| destination.bytes | Bytes sent from the destination to the source. | long | -| destination.domain | The domain name of the destination system. This value may be a host name, a fully qualified domain name, or another host naming format. The value may derive from the original event or be added from enrichment. | keyword | -| destination.geo.city_name | City name. | keyword | -| destination.geo.continent_name | Name of the continent. | keyword | -| destination.geo.country_iso_code | Country ISO code. | keyword | -| destination.geo.country_name | Country name. | keyword | -| destination.geo.location | Longitude and latitude. | geo_point | -| destination.geo.region_iso_code | Region ISO code. | keyword | -| destination.geo.region_name | Region name. | keyword | -| destination.ip | IP address of the destination (IPv4 or IPv6). | ip | -| destination.mac | MAC address of the destination. The notation format from RFC 7042 is suggested: Each octet (that is, 8-bit byte) is represented by two [uppercase] hexadecimal digits giving the value of the octet as an unsigned integer. Successive octets are separated by a hyphen. | keyword | -| destination.nat.ip | Translated ip of destination based NAT sessions (e.g. internet to private DMZ) Typically used with load balancers, firewalls, or routers. | ip | -| destination.nat.port | Port the source session is translated to by NAT Device. Typically used with load balancers, firewalls, or routers. | long | -| destination.port | Port of the destination. | long | -| destination.registered_domain | The highest registered destination domain, stripped of the subdomain. For example, the registered domain for "foo.example.com" is "example.com". This value can be determined precisely with a list like the public suffix list (http://publicsuffix.org). Trying to approximate this by simply taking the last two labels will not work well for TLDs such as "co.uk". | keyword | -| destination.subdomain | The subdomain portion of a fully qualified domain name includes all of the names except the host name under the registered_domain. In a partially qualified domain, or if the the qualification level of the full name cannot be determined, subdomain contains all of the names below the registered domain. For example the subdomain portion of "www.east.mydomain.co.uk" is "east". If the domain has multiple levels of subdomain, such as "sub2.sub1.example.com", the subdomain field should contain "sub2.sub1", with no trailing period. | keyword | -| destination.top_level_domain | The effective top level domain (eTLD), also known as the domain suffix, is the last part of the domain name. For example, the top level domain for example.com is "com". This value can be determined precisely with a list like the public suffix list (http://publicsuffix.org). Trying to approximate this by simply taking the last label will not work well for effective TLDs such as "co.uk". | keyword | -| dns.answers.name | The domain name to which this resource record pertains. If a chain of CNAME is being resolved, each answer's `name` should be the one that corresponds with the answer's `data`. It should not simply be the original `question.name` repeated. | keyword | -| dns.answers.type | The type of data contained in this resource record. | keyword | -| dns.question.domain | Server domain. | keyword | -| dns.question.registered_domain | The highest registered domain, stripped of the subdomain. For example, the registered domain for "foo.example.com" is "example.com". This value can be determined precisely with a list like the public suffix list (http://publicsuffix.org). Trying to approximate this by simply taking the last two labels will not work well for TLDs such as "co.uk". | keyword | -| dns.question.subdomain | The subdomain is all of the labels under the registered_domain. If the domain has multiple levels of subdomain, such as "sub2.sub1.example.com", the subdomain field should contain "sub2.sub1", with no trailing period. | keyword | -| dns.question.top_level_domain | The effective top level domain (eTLD), also known as the domain suffix, is the last part of the domain name. For example, the top level domain for example.com is "com". This value can be determined precisely with a list like the public suffix list (http://publicsuffix.org). Trying to approximate this by simply taking the last label will not work well for effective TLDs such as "co.uk". | keyword | -| dns.question.type | The type of record being queried. | keyword | -| ecs.version | ECS version this event conforms to. `ecs.version` is a required field and must exist in all events. When querying across multiple indices -- which may conform to slightly different ECS versions -- this field lets integrations adjust to the schema version of the events. | keyword | -| error.message | Error message. | match_only_text | -| event.action | The action captured by the event. This describes the information in the event. It is more specific than `event.category`. Examples are `group-add`, `process-started`, `file-created`. The value is normally defined by the implementer. | keyword | -| event.code | Identification code for this event, if one exists. Some event sources use event codes to identify messages unambiguously, regardless of message language or wording adjustments over time. An example of this is the Windows Event ID. | keyword | | event.dataset | Event dataset | constant_keyword | -| event.ingested | Timestamp when an event arrived in the central data store. This is different from `@timestamp`, which is when the event originally occurred. It's also different from `event.created`, which is meant to capture the first time an agent saw the event. In normal conditions, assuming no tampering, the timestamps should chronologically look like this: `@timestamp` \< `event.created` \< `event.ingested`. | date | | event.module | Event module | constant_keyword | -| event.original | Raw text message of entire event. Used to demonstrate log integrity or where the full log message (before splitting it up in multiple parts) may be required, e.g. for reindex. This field is not indexed and doc_values are disabled. It cannot be searched, but it can be retrieved from `_source`. If users wish to override this and index this field, please see `Field data types` in the `Elasticsearch Reference`. | keyword | -| event.outcome | This is one of four ECS Categorization Fields, and indicates the lowest level in the ECS category hierarchy. `event.outcome` simply denotes whether the event represents a success or a failure from the perspective of the entity that produced the event. Note that when a single transaction is described in multiple events, each event may populate different values of `event.outcome`, according to their perspective. Also note that in the case of a compound event (a single event that contains multiple logical events), this field should be populated with the value that best captures the overall success or failure from the perspective of the event producer. Further note that not all events will have an associated outcome. For example, this field is generally not populated for metric events, events with `event.type:info`, or any events for which an outcome does not make logical sense. | keyword | -| event.timezone | This field should be populated when the event's timestamp does not include timezone information already (e.g. default Syslog timestamps). It's optional otherwise. Acceptable timezone formats are: a canonical ID (e.g. "Europe/Amsterdam"), abbreviated (e.g. "EST") or an HH:mm differential (e.g. "-05:00"). | keyword | -| file.attributes | Array of file attributes. Attributes names will vary by platform. Here's a non-exhaustive list of values that are expected in this field: archive, compressed, directory, encrypted, execute, hidden, read, readonly, system, write. | keyword | -| file.directory | Directory where the file is located. It should include the drive letter, when appropriate. | keyword | -| file.extension | File extension, excluding the leading dot. Note that when the file name has multiple extensions (example.tar.gz), only the last one should be captured ("gz", not "tar.gz"). | keyword | -| file.name | Name of the file including the extension, without the directory. | keyword | -| file.path | Full path to the file, including the file name. It should include the drive letter, when appropriate. | keyword | -| file.path.text | Multi-field of `file.path`. | match_only_text | -| file.size | File size in bytes. Only relevant when `file.type` is "file". | long | -| file.type | File type (file, dir, or symlink). | keyword | -| geo.city_name | City name. | keyword | -| geo.country_name | Country name. | keyword | -| geo.name | User-defined description of a location, at the level of granularity they care about. Could be the name of their data centers, the floor number, if this describes a local physical entity, city names. Not typically used in automated geolocation. | keyword | -| geo.region_name | Region name. | keyword | -| group.id | Unique identifier for the group on the system/platform. | keyword | -| group.name | Name of the group. | keyword | -| host.hostname | Hostname of the host. It normally contains what the `hostname` command returns on the host machine. | keyword | -| host.ip | Host ip addresses. | ip | -| host.mac | Host MAC addresses. The notation format from RFC 7042 is suggested: Each octet (that is, 8-bit byte) is represented by two [uppercase] hexadecimal digits giving the value of the octet as an unsigned integer. Successive octets are separated by a hyphen. | keyword | -| host.name | Name of the host. It can contain what hostname returns on Unix systems, the fully qualified domain name (FQDN), or a name specified by the user. The recommended value is the lowercase FQDN of the host. | keyword | -| http.request.body.bytes | Size in bytes of the request body. | long | -| http.request.method | HTTP request method. The value should retain its casing from the original event. For example, `GET`, `get`, and `GeT` are all considered valid values for this field. | keyword | -| http.request.referrer | Referrer for this HTTP request. | keyword | | input.type | Type of Filebeat input. | keyword | +| log.file.device_id | ID of the device containing the filesystem where the file resides. | keyword | +| log.file.fingerprint | The sha256 fingerprint identity of the file when fingerprinting is enabled. | keyword | +| log.file.idxhi | The high-order part of a unique identifier that is associated with a file. (Windows-only) | keyword | +| log.file.idxlo | The low-order part of a unique identifier that is associated with a file. (Windows-only) | keyword | +| log.file.inode | Inode number of the log file. | keyword | | log.file.path | Full path to the log file this event came from. | keyword | +| log.file.vol | The serial number of the volume that contains a file. (Windows-only) | keyword | | log.flags | Flags for the log file. | keyword | -| log.level | Original log level of the log event. If the source of the event provides a log level or textual severity, this is the one that goes in `log.level`. If your source doesn't specify one, you may put your event transport's severity here (e.g. Syslog severity). Some examples are `warn`, `err`, `i`, `informational`. | keyword | | log.offset | Offset of the entry in the log file. | long | | log.source.address | Source address from which the log event was read / sent from. | keyword | -| log.syslog.facility.code | The Syslog numeric facility of the log event, if available. According to RFCs 5424 and 3164, this value should be an integer between 0 and 23. | long | -| log.syslog.priority | Syslog numeric priority of the event, if available. According to RFCs 5424 and 3164, the priority is 8 \* facility + severity. This number is therefore expected to contain a value between 0 and 191. | long | -| log.syslog.severity.code | The Syslog numeric severity of the log event, if available. If the event source publishing via Syslog provides a different numeric severity value (e.g. firewall, IDS), your source's numeric severity should go to `event.severity`. If the event source does not specify a distinct severity, you can optionally copy the Syslog severity to `event.severity`. | long | -| message | For log events the message field contains the log message, optimized for viewing in a log viewer. For structured logs without an original message field, other fields can be concatenated to form a human-readable summary of the event. If multiple messages exist, they can be combined into one message. | match_only_text | -| network.application | When a specific application or service is identified from network connection details (source/dest IPs, ports, certificates, or wire format), this field captures the application's or service's name. For example, the original event identifies the network connection being from a specific web service in a `https` network connection, like `facebook` or `twitter`. The field value must be normalized to lowercase for querying. | keyword | -| network.bytes | Total bytes transferred in both directions. If `source.bytes` and `destination.bytes` are known, `network.bytes` is their sum. | long | -| network.direction | Direction of the network traffic. When mapping events from a host-based monitoring context, populate this field from the host's point of view, using the values "ingress" or "egress". When mapping events from a network or perimeter-based monitoring context, populate this field from the point of view of the network perimeter, using the values "inbound", "outbound", "internal" or "external". Note that "internal" is not crossing perimeter boundaries, and is meant to describe communication between two hosts within the perimeter. Note also that "external" is meant to describe traffic between two hosts that are external to the perimeter. This could for example be useful for ISPs or VPN service providers. | keyword | -| network.forwarded_ip | Host IP address when the source IP address is the proxy. | ip | -| network.interface.name | | keyword | -| network.packets | Total packets transferred in both directions. If `source.packets` and `destination.packets` are known, `network.packets` is their sum. | long | -| network.protocol | In the OSI Model this would be the Application Layer protocol. For example, `http`, `dns`, or `ssh`. The field value must be normalized to lowercase for querying. | keyword | -| observer.egress.interface.name | Interface name as reported by the system. | keyword | -| observer.ingress.interface.name | Interface name as reported by the system. | keyword | -| observer.product | The product name of the observer. | keyword | -| observer.type | The type of the observer the data is coming from. There is no predefined list of observer types. Some examples are `forwarder`, `firewall`, `ids`, `ips`, `proxy`, `poller`, `sensor`, `APM server`. | keyword | -| observer.vendor | Vendor name of the observer. | keyword | -| observer.version | Observer version. | keyword | -| process.name | Process name. Sometimes called program name or similar. | keyword | -| process.name.text | Multi-field of `process.name`. | match_only_text | -| process.parent.name | Process name. Sometimes called program name or similar. | keyword | -| process.parent.name.text | Multi-field of `process.parent.name`. | match_only_text | -| process.parent.pid | Process id. | long | -| process.parent.title | Process title. The proctitle, some times the same as process name. Can also be different: for example a browser setting its title to the web page currently opened. | keyword | -| process.parent.title.text | Multi-field of `process.parent.title`. | match_only_text | -| process.pid | Process id. | long | -| process.title | Process title. The proctitle, some times the same as process name. Can also be different: for example a browser setting its title to the web page currently opened. | keyword | -| process.title.text | Multi-field of `process.title`. | match_only_text | -| related.hosts | All hostnames or other host identifiers seen on your event. Example identifiers include FQDNs, domain names, workstation names, or aliases. | keyword | -| related.ip | All of the IPs seen on your event. | ip | -| related.user | All the user names or other user identifiers seen on the event. | keyword | -| rsa.counters.dclass_c1 | This is a generic counter key that should be used with the label dclass.c1.str only | long | -| rsa.counters.dclass_c1_str | This is a generic counter string key that should be used with the label dclass.c1 only | keyword | -| rsa.counters.dclass_c2 | This is a generic counter key that should be used with the label dclass.c2.str only | long | -| rsa.counters.dclass_c2_str | This is a generic counter string key that should be used with the label dclass.c2 only | keyword | -| rsa.counters.dclass_c3 | This is a generic counter key that should be used with the label dclass.c3.str only | long | -| rsa.counters.dclass_c3_str | This is a generic counter string key that should be used with the label dclass.c3 only | keyword | -| rsa.counters.dclass_r1 | This is a generic ratio key that should be used with the label dclass.r1.str only | keyword | -| rsa.counters.dclass_r1_str | This is a generic ratio string key that should be used with the label dclass.r1 only | keyword | -| rsa.counters.dclass_r2 | This is a generic ratio key that should be used with the label dclass.r2.str only | keyword | -| rsa.counters.dclass_r2_str | This is a generic ratio string key that should be used with the label dclass.r2 only | keyword | -| rsa.counters.dclass_r3 | This is a generic ratio key that should be used with the label dclass.r3.str only | keyword | -| rsa.counters.dclass_r3_str | This is a generic ratio string key that should be used with the label dclass.r3 only | keyword | -| rsa.counters.event_counter | This is used to capture the number of times an event repeated | long | -| rsa.crypto.cert_ca | This key is used to capture the Certificate signing authority only | keyword | -| rsa.crypto.cert_checksum | | keyword | -| rsa.crypto.cert_common | This key is used to capture the Certificate common name only | keyword | -| rsa.crypto.cert_error | This key captures the Certificate Error String | keyword | -| rsa.crypto.cert_host_cat | This key is used for the hostname category value of a certificate | keyword | -| rsa.crypto.cert_host_name | Deprecated key defined only in table map. | keyword | -| rsa.crypto.cert_issuer | | keyword | -| rsa.crypto.cert_keysize | | keyword | -| rsa.crypto.cert_serial | This key is used to capture the Certificate serial number only | keyword | -| rsa.crypto.cert_status | This key captures Certificate validation status | keyword | -| rsa.crypto.cert_subject | This key is used to capture the Certificate organization only | keyword | -| rsa.crypto.cert_username | | keyword | -| rsa.crypto.cipher_dst | This key is for Destination (Server) Cipher | keyword | -| rsa.crypto.cipher_size_dst | This key captures Destination (Server) Cipher Size | long | -| rsa.crypto.cipher_size_src | This key captures Source (Client) Cipher Size | long | -| rsa.crypto.cipher_src | This key is for Source (Client) Cipher | keyword | -| rsa.crypto.crypto | This key is used to capture the Encryption Type or Encryption Key only | keyword | -| rsa.crypto.d_certauth | | keyword | -| rsa.crypto.https_insact | | keyword | -| rsa.crypto.https_valid | | keyword | -| rsa.crypto.ike | IKE negotiation phase. | keyword | -| rsa.crypto.ike_cookie1 | ID of the negotiation — sent for ISAKMP Phase One | keyword | -| rsa.crypto.ike_cookie2 | ID of the negotiation — sent for ISAKMP Phase Two | keyword | -| rsa.crypto.peer | This key is for Encryption peer's IP Address | keyword | -| rsa.crypto.peer_id | This key is for Encryption peer’s identity | keyword | -| rsa.crypto.s_certauth | | keyword | -| rsa.crypto.scheme | This key captures the Encryption scheme used | keyword | -| rsa.crypto.sig_type | This key captures the Signature Type | keyword | -| rsa.crypto.ssl_ver_dst | Deprecated, use version | keyword | -| rsa.crypto.ssl_ver_src | Deprecated, use version | keyword | -| rsa.db.database | This key is used to capture the name of a database or an instance as seen in a session | keyword | -| rsa.db.db_id | This key is used to capture the unique identifier for a database | keyword | -| rsa.db.db_pid | This key captures the process id of a connection with database server | long | -| rsa.db.index | This key captures IndexID of the index. | keyword | -| rsa.db.instance | This key is used to capture the database server instance name | keyword | -| rsa.db.lread | This key is used for the number of logical reads | long | -| rsa.db.lwrite | This key is used for the number of logical writes | long | -| rsa.db.permissions | This key captures permission or privilege level assigned to a resource. | keyword | -| rsa.db.pread | This key is used for the number of physical writes | long | -| rsa.db.table_name | This key is used to capture the table name | keyword | -| rsa.db.transact_id | This key captures the SQL transantion ID of the current session | keyword | -| rsa.email.email | This key is used to capture a generic email address where the source or destination context is not clear | keyword | -| rsa.email.email_dst | This key is used to capture the Destination email address only, when the destination context is not clear use email | keyword | -| rsa.email.email_src | This key is used to capture the source email address only, when the source context is not clear use email | keyword | -| rsa.email.subject | This key is used to capture the subject string from an Email only. | keyword | -| rsa.email.trans_from | Deprecated key defined only in table map. | keyword | -| rsa.email.trans_to | Deprecated key defined only in table map. | keyword | -| rsa.endpoint.host_state | This key is used to capture the current state of the machine, such as \blacklisted\, \infected\, \firewall disabled\ and so on | keyword | -| rsa.endpoint.registry_key | This key captures the path to the registry key | keyword | -| rsa.endpoint.registry_value | This key captures values or decorators used within a registry entry | keyword | -| rsa.file.attachment | This key captures the attachment file name | keyword | -| rsa.file.binary | Deprecated key defined only in table map. | keyword | -| rsa.file.directory_dst | \This key is used to capture the directory of the target process or file\ | keyword | -| rsa.file.directory_src | This key is used to capture the directory of the source process or file | keyword | -| rsa.file.file_entropy | This is used to capture entropy vale of a file | double | -| rsa.file.file_vendor | This is used to capture Company name of file located in version_info | keyword | -| rsa.file.filename_dst | This is used to capture name of the file targeted by the action | keyword | -| rsa.file.filename_src | This is used to capture name of the parent filename, the file which performed the action | keyword | -| rsa.file.filename_tmp | | keyword | -| rsa.file.filesystem | | keyword | -| rsa.file.privilege | Deprecated, use permissions | keyword | -| rsa.file.task_name | This is used to capture name of the task | keyword | -| rsa.healthcare.patient_fname | This key is for First Names only, this is used for Healthcare predominantly to capture Patients information | keyword | -| rsa.healthcare.patient_id | This key captures the unique ID for a patient | keyword | -| rsa.healthcare.patient_lname | This key is for Last Names only, this is used for Healthcare predominantly to capture Patients information | keyword | -| rsa.healthcare.patient_mname | This key is for Middle Names only, this is used for Healthcare predominantly to capture Patients information | keyword | -| rsa.identity.accesses | This key is used to capture actual privileges used in accessing an object | keyword | -| rsa.identity.auth_method | This key is used to capture authentication methods used only | keyword | -| rsa.identity.dn | X.500 (LDAP) Distinguished Name | keyword | -| rsa.identity.dn_dst | An X.500 (LDAP) Distinguished name that used in a context that indicates a Destination dn | keyword | -| rsa.identity.dn_src | An X.500 (LDAP) Distinguished name that is used in a context that indicates a Source dn | keyword | -| rsa.identity.federated_idp | This key is the federated Identity Provider. This is the server providing the authentication. | keyword | -| rsa.identity.federated_sp | This key is the Federated Service Provider. This is the application requesting authentication. | keyword | -| rsa.identity.firstname | This key is for First Names only, this is used for Healthcare predominantly to capture Patients information | keyword | -| rsa.identity.host_role | This key should only be used to capture the role of a Host Machine | keyword | -| rsa.identity.lastname | This key is for Last Names only, this is used for Healthcare predominantly to capture Patients information | keyword | -| rsa.identity.ldap | This key is for Uninterpreted LDAP values. Ldap Values that don’t have a clear query or response context | keyword | -| rsa.identity.ldap_query | This key is the Search criteria from an LDAP search | keyword | -| rsa.identity.ldap_response | This key is to capture Results from an LDAP search | keyword | -| rsa.identity.logon_type | This key is used to capture the type of logon method used. | keyword | -| rsa.identity.logon_type_desc | This key is used to capture the textual description of an integer logon type as stored in the meta key 'logon.type'. | keyword | -| rsa.identity.middlename | This key is for Middle Names only, this is used for Healthcare predominantly to capture Patients information | keyword | -| rsa.identity.org | This key captures the User organization | keyword | -| rsa.identity.owner | This is used to capture username the process or service is running as, the author of the task | keyword | -| rsa.identity.password | This key is for Passwords seen in any session, plain text or encrypted | keyword | -| rsa.identity.profile | This key is used to capture the user profile | keyword | -| rsa.identity.realm | Radius realm or similar grouping of accounts | keyword | -| rsa.identity.service_account | This key is a windows specific key, used for capturing name of the account a service (referenced in the event) is running under. Legacy Usage | keyword | -| rsa.identity.user_dept | User's Department Names only | keyword | -| rsa.identity.user_role | This key is used to capture the Role of a user only | keyword | -| rsa.identity.user_sid_dst | This key captures Destination User Session ID | keyword | -| rsa.identity.user_sid_src | This key captures Source User Session ID | keyword | -| rsa.internal.audit_class | Deprecated key defined only in table map. | keyword | -| rsa.internal.cid | This is the unique identifier used to identify a NetWitness Concentrator. This key should never be used to parse Meta data from a session (Logs/Packets) Directly, this is a Reserved key in NetWitness | keyword | -| rsa.internal.data | Deprecated key defined only in table map. | keyword | -| rsa.internal.dead | Deprecated key defined only in table map. | long | -| rsa.internal.device_class | This is the Classification of the Log Event Source under a predefined fixed set of Event Source Classifications. This key should never be used to parse Meta data from a session (Logs/Packets) Directly, this is a Reserved key in NetWitness | keyword | -| rsa.internal.device_group | This key should never be used to parse Meta data from a session (Logs/Packets) Directly, this is a Reserved key in NetWitness | keyword | -| rsa.internal.device_host | This is the Hostname of the log Event Source sending the logs to NetWitness. This key should never be used to parse Meta data from a session (Logs/Packets) Directly, this is a Reserved key in NetWitness | keyword | -| rsa.internal.device_ip | This is the IPv4 address of the Log Event Source sending the logs to NetWitness. This key should never be used to parse Meta data from a session (Logs/Packets) Directly, this is a Reserved key in NetWitness | ip | -| rsa.internal.device_ipv6 | This is the IPv6 address of the Log Event Source sending the logs to NetWitness. This key should never be used to parse Meta data from a session (Logs/Packets) Directly, this is a Reserved key in NetWitness | ip | -| rsa.internal.device_type | This is the name of the log parser which parsed a given session. This key should never be used to parse Meta data from a session (Logs/Packets) Directly, this is a Reserved key in NetWitness | keyword | -| rsa.internal.device_type_id | Deprecated key defined only in table map. | long | -| rsa.internal.did | This is the unique identifier used to identify a NetWitness Decoder. This key should never be used to parse Meta data from a session (Logs/Packets) Directly, this is a Reserved key in NetWitness | keyword | -| rsa.internal.entropy_req | This key is only used by the Entropy Parser, the Meta Type can be either UInt16 or Float32 based on the configuration | long | -| rsa.internal.entropy_res | This key is only used by the Entropy Parser, the Meta Type can be either UInt16 or Float32 based on the configuration | long | -| rsa.internal.entry | Deprecated key defined only in table map. | keyword | -| rsa.internal.event_desc | | keyword | -| rsa.internal.event_name | Deprecated key defined only in table map. | keyword | -| rsa.internal.feed_category | This is used to capture the category of the feed. This key should never be used to parse Meta data from a session (Logs/Packets) Directly, this is a Reserved key in NetWitness | keyword | -| rsa.internal.feed_desc | This is used to capture the description of the feed. This key should never be used to parse Meta data from a session (Logs/Packets) Directly, this is a Reserved key in NetWitness | keyword | -| rsa.internal.feed_name | This is used to capture the name of the feed. This key should never be used to parse Meta data from a session (Logs/Packets) Directly, this is a Reserved key in NetWitness | keyword | -| rsa.internal.forward_ip | This key should be used to capture the IPV4 address of a relay system which forwarded the events from the original system to NetWitness. | ip | -| rsa.internal.forward_ipv6 | This key is used to capture the IPV6 address of a relay system which forwarded the events from the original system to NetWitness. This key should never be used to parse Meta data from a session (Logs/Packets) Directly, this is a Reserved key in NetWitness | ip | -| rsa.internal.hcode | Deprecated key defined only in table map. | keyword | -| rsa.internal.header_id | This is the Header ID value that identifies the exact log parser header definition that parses a particular log session. This key should never be used to parse Meta data from a session (Logs/Packets) Directly, this is a Reserved key in NetWitness | keyword | -| rsa.internal.inode | Deprecated key defined only in table map. | long | -| rsa.internal.lc_cid | This is a unique Identifier of a Log Collector. This key should never be used to parse Meta data from a session (Logs/Packets) Directly, this is a Reserved key in NetWitness | keyword | -| rsa.internal.lc_ctime | This is the time at which a log is collected in a NetWitness Log Collector. This key should never be used to parse Meta data from a session (Logs/Packets) Directly, this is a Reserved key in NetWitness | date | -| rsa.internal.level | Deprecated key defined only in table map. | long | -| rsa.internal.mcb_req | This key is only used by the Entropy Parser, the most common byte request is simply which byte for each side (0 thru 255) was seen the most | long | -| rsa.internal.mcb_res | This key is only used by the Entropy Parser, the most common byte response is simply which byte for each side (0 thru 255) was seen the most | long | -| rsa.internal.mcbc_req | This key is only used by the Entropy Parser, the most common byte count is the number of times the most common byte (above) was seen in the session streams | long | -| rsa.internal.mcbc_res | This key is only used by the Entropy Parser, the most common byte count is the number of times the most common byte (above) was seen in the session streams | long | -| rsa.internal.medium | This key is used to identify if it’s a log/packet session or Layer 2 Encapsulation Type. This key should never be used to parse Meta data from a session (Logs/Packets) Directly, this is a Reserved key in NetWitness. 32 = log, 33 = correlation session, < 32 is packet session | long | -| rsa.internal.message | This key captures the contents of instant messages | keyword | -| rsa.internal.messageid | | keyword | -| rsa.internal.msg | This key is used to capture the raw message that comes into the Log Decoder | keyword | -| rsa.internal.msg_id | This is the Message ID1 value that identifies the exact log parser definition which parses a particular log session. This key should never be used to parse Meta data from a session (Logs/Packets) Directly, this is a Reserved key in NetWitness | keyword | -| rsa.internal.msg_vid | This is the Message ID2 value that identifies the exact log parser definition which parses a particular log session. This key should never be used to parse Meta data from a session (Logs/Packets) Directly, this is a Reserved key in NetWitness | keyword | -| rsa.internal.node_name | Deprecated key defined only in table map. | keyword | -| rsa.internal.nwe_callback_id | This key denotes that event is endpoint related | keyword | -| rsa.internal.obj_id | Deprecated key defined only in table map. | keyword | -| rsa.internal.obj_server | Deprecated key defined only in table map. | keyword | -| rsa.internal.obj_val | Deprecated key defined only in table map. | keyword | -| rsa.internal.parse_error | This is a special key that stores any Meta key validation error found while parsing a log session. This key should never be used to parse Meta data from a session (Logs/Packets) Directly, this is a Reserved key in NetWitness | keyword | -| rsa.internal.payload_req | This key is only used by the Entropy Parser, the payload size metrics are the payload sizes of each session side at the time of parsing. However, in order to keep | long | -| rsa.internal.payload_res | This key is only used by the Entropy Parser, the payload size metrics are the payload sizes of each session side at the time of parsing. However, in order to keep | long | -| rsa.internal.process_vid_dst | Endpoint generates and uses a unique virtual ID to identify any similar group of process. This ID represents the target process. | keyword | -| rsa.internal.process_vid_src | Endpoint generates and uses a unique virtual ID to identify any similar group of process. This ID represents the source process. | keyword | -| rsa.internal.resource | Deprecated key defined only in table map. | keyword | -| rsa.internal.resource_class | Deprecated key defined only in table map. | keyword | -| rsa.internal.rid | This is a special ID of the Remote Session created by NetWitness Decoder. This key should never be used to parse Meta data from a session (Logs/Packets) Directly, this is a Reserved key in NetWitness | long | -| rsa.internal.session_split | This key should never be used to parse Meta data from a session (Logs/Packets) Directly, this is a Reserved key in NetWitness | keyword | -| rsa.internal.site | Deprecated key defined only in table map. | keyword | -| rsa.internal.size | This is the size of the session as seen by the NetWitness Decoder. This key should never be used to parse Meta data from a session (Logs/Packets) Directly, this is a Reserved key in NetWitness | long | -| rsa.internal.sourcefile | This is the name of the log file or PCAPs that can be imported into NetWitness. This key should never be used to parse Meta data from a session (Logs/Packets) Directly, this is a Reserved key in NetWitness | keyword | -| rsa.internal.statement | Deprecated key defined only in table map. | keyword | -| rsa.internal.time | This is the time at which a session hits a NetWitness Decoder. This key should never be used to parse Meta data from a session (Logs/Packets) Directly, this is a Reserved key in NetWitness. | date | -| rsa.internal.ubc_req | This key is only used by the Entropy Parser, Unique byte count is the number of unique bytes seen in each stream. 256 would mean all byte values of 0 thru 255 were seen at least once | long | -| rsa.internal.ubc_res | This key is only used by the Entropy Parser, Unique byte count is the number of unique bytes seen in each stream. 256 would mean all byte values of 0 thru 255 were seen at least once | long | -| rsa.internal.word | This is used by the Word Parsing technology to capture the first 5 character of every word in an unparsed log | keyword | -| rsa.investigations.analysis_file | This is used to capture all indicators used in a File Analysis. This key should be used to capture an analysis of a file | keyword | -| rsa.investigations.analysis_service | This is used to capture all indicators used in a Service Analysis. This key should be used to capture an analysis of a service | keyword | -| rsa.investigations.analysis_session | This is used to capture all indicators used for a Session Analysis. This key should be used to capture an analysis of a session | keyword | -| rsa.investigations.boc | This is used to capture behaviour of compromise | keyword | -| rsa.investigations.ec_activity | This key captures the particular event activity(Ex:Logoff) | keyword | -| rsa.investigations.ec_outcome | This key captures the outcome of a particular Event(Ex:Success) | keyword | -| rsa.investigations.ec_subject | This key captures the Subject of a particular Event(Ex:User) | keyword | -| rsa.investigations.ec_theme | This key captures the Theme of a particular Event(Ex:Authentication) | keyword | -| rsa.investigations.eoc | This is used to capture Enablers of Compromise | keyword | -| rsa.investigations.event_cat | This key captures the Event category number | long | -| rsa.investigations.event_cat_name | This key captures the event category name corresponding to the event cat code | keyword | -| rsa.investigations.event_vcat | This is a vendor supplied category. This should be used in situations where the vendor has adopted their own event_category taxonomy. | keyword | -| rsa.investigations.inv_category | This used to capture investigation category | keyword | -| rsa.investigations.inv_context | This used to capture investigation context | keyword | -| rsa.investigations.ioc | This is key capture indicator of compromise | keyword | -| rsa.misc.OS | This key captures the Name of the Operating System | keyword | -| rsa.misc.acl_id | | keyword | -| rsa.misc.acl_op | | keyword | -| rsa.misc.acl_pos | | keyword | -| rsa.misc.acl_table | | keyword | -| rsa.misc.action | | keyword | -| rsa.misc.admin | | keyword | -| rsa.misc.agent_id | This key is used to capture agent id | keyword | -| rsa.misc.alarm_id | | keyword | -| rsa.misc.alarmname | | keyword | -| rsa.misc.alert_id | Deprecated, New Hunting Model (inv.\*, ioc, boc, eoc, analysis.\*) | keyword | -| rsa.misc.app_id | | keyword | -| rsa.misc.audit | | keyword | -| rsa.misc.audit_object | | keyword | -| rsa.misc.auditdata | | keyword | -| rsa.misc.autorun_type | This is used to capture Auto Run type | keyword | -| rsa.misc.benchmark | | keyword | -| rsa.misc.bypass | | keyword | -| rsa.misc.cache | | keyword | -| rsa.misc.cache_hit | | keyword | -| rsa.misc.category | This key is used to capture the category of an event given by the vendor in the session | keyword | -| rsa.misc.cc_number | Valid Credit Card Numbers only | long | -| rsa.misc.cefversion | | keyword | -| rsa.misc.cfg_attr | | keyword | -| rsa.misc.cfg_obj | | keyword | -| rsa.misc.cfg_path | | keyword | -| rsa.misc.change_attrib | This key is used to capture the name of the attribute that’s changing in a session | keyword | -| rsa.misc.change_new | This key is used to capture the new values of the attribute that’s changing in a session | keyword | -| rsa.misc.change_old | This key is used to capture the old value of the attribute that’s changing in a session | keyword | -| rsa.misc.changes | | keyword | -| rsa.misc.checksum | This key is used to capture the checksum or hash of the entity such as a file or process. Checksum should be used over checksum.src or checksum.dst when it is unclear whether the entity is a source or target of an action. | keyword | -| rsa.misc.checksum_dst | This key is used to capture the checksum or hash of the the target entity such as a process or file. | keyword | -| rsa.misc.checksum_src | This key is used to capture the checksum or hash of the source entity such as a file or process. | keyword | -| rsa.misc.client | This key is used to capture only the name of the client application requesting resources of the server. See the user.agent meta key for capture of the specific user agent identifier or browser identification string. | keyword | -| rsa.misc.client_ip | | keyword | -| rsa.misc.clustermembers | | keyword | -| rsa.misc.cmd | | keyword | -| rsa.misc.cn_acttimeout | | keyword | -| rsa.misc.cn_asn_src | | keyword | -| rsa.misc.cn_bgpv4nxthop | | keyword | -| rsa.misc.cn_ctr_dst_code | | keyword | -| rsa.misc.cn_dst_tos | | keyword | -| rsa.misc.cn_dst_vlan | | keyword | -| rsa.misc.cn_engine_id | | keyword | -| rsa.misc.cn_engine_type | | keyword | -| rsa.misc.cn_f_switch | | keyword | -| rsa.misc.cn_flowsampid | | keyword | -| rsa.misc.cn_flowsampintv | | keyword | -| rsa.misc.cn_flowsampmode | | keyword | -| rsa.misc.cn_inacttimeout | | keyword | -| rsa.misc.cn_inpermbyts | | keyword | -| rsa.misc.cn_inpermpckts | | keyword | -| rsa.misc.cn_invalid | | keyword | -| rsa.misc.cn_ip_proto_ver | | keyword | -| rsa.misc.cn_ipv4_ident | | keyword | -| rsa.misc.cn_l_switch | | keyword | -| rsa.misc.cn_log_did | | keyword | -| rsa.misc.cn_log_rid | | keyword | -| rsa.misc.cn_max_ttl | | keyword | -| rsa.misc.cn_maxpcktlen | | keyword | -| rsa.misc.cn_min_ttl | | keyword | -| rsa.misc.cn_minpcktlen | | keyword | -| rsa.misc.cn_mpls_lbl_1 | | keyword | -| rsa.misc.cn_mpls_lbl_10 | | keyword | -| rsa.misc.cn_mpls_lbl_2 | | keyword | -| rsa.misc.cn_mpls_lbl_3 | | keyword | -| rsa.misc.cn_mpls_lbl_4 | | keyword | -| rsa.misc.cn_mpls_lbl_5 | | keyword | -| rsa.misc.cn_mpls_lbl_6 | | keyword | -| rsa.misc.cn_mpls_lbl_7 | | keyword | -| rsa.misc.cn_mpls_lbl_8 | | keyword | -| rsa.misc.cn_mpls_lbl_9 | | keyword | -| rsa.misc.cn_mplstoplabel | | keyword | -| rsa.misc.cn_mplstoplabip | | keyword | -| rsa.misc.cn_mul_dst_byt | | keyword | -| rsa.misc.cn_mul_dst_pks | | keyword | -| rsa.misc.cn_muligmptype | | keyword | -| rsa.misc.cn_sampalgo | | keyword | -| rsa.misc.cn_sampint | | keyword | -| rsa.misc.cn_seqctr | | keyword | -| rsa.misc.cn_spackets | | keyword | -| rsa.misc.cn_src_tos | | keyword | -| rsa.misc.cn_src_vlan | | keyword | -| rsa.misc.cn_sysuptime | | keyword | -| rsa.misc.cn_template_id | | keyword | -| rsa.misc.cn_totbytsexp | | keyword | -| rsa.misc.cn_totflowexp | | keyword | -| rsa.misc.cn_totpcktsexp | | keyword | -| rsa.misc.cn_unixnanosecs | | keyword | -| rsa.misc.cn_v6flowlabel | | keyword | -| rsa.misc.cn_v6optheaders | | keyword | -| rsa.misc.code | | keyword | -| rsa.misc.command | | keyword | -| rsa.misc.comments | Comment information provided in the log message | keyword | -| rsa.misc.comp_class | | keyword | -| rsa.misc.comp_name | | keyword | -| rsa.misc.comp_rbytes | | keyword | -| rsa.misc.comp_sbytes | | keyword | -| rsa.misc.comp_version | This key captures the Version level of a sub-component of a product. | keyword | -| rsa.misc.connection_id | This key captures the Connection ID | keyword | -| rsa.misc.content | This key captures the content type from protocol headers | keyword | -| rsa.misc.content_type | This key is used to capture Content Type only. | keyword | -| rsa.misc.content_version | This key captures Version level of a signature or database content. | keyword | -| rsa.misc.context | This key captures Information which adds additional context to the event. | keyword | -| rsa.misc.context_subject | This key is to be used in an audit context where the subject is the object being identified | keyword | -| rsa.misc.context_target | | keyword | -| rsa.misc.count | | keyword | -| rsa.misc.cpu | This key is the CPU time used in the execution of the event being recorded. | long | -| rsa.misc.cpu_data | | keyword | -| rsa.misc.criticality | | keyword | -| rsa.misc.cs_agency_dst | | keyword | -| rsa.misc.cs_analyzedby | | keyword | -| rsa.misc.cs_av_other | | keyword | -| rsa.misc.cs_av_primary | | keyword | -| rsa.misc.cs_av_secondary | | keyword | -| rsa.misc.cs_bgpv6nxthop | | keyword | -| rsa.misc.cs_bit9status | | keyword | -| rsa.misc.cs_context | | keyword | -| rsa.misc.cs_control | | keyword | -| rsa.misc.cs_data | | keyword | -| rsa.misc.cs_datecret | | keyword | -| rsa.misc.cs_dst_tld | | keyword | -| rsa.misc.cs_eth_dst_ven | | keyword | -| rsa.misc.cs_eth_src_ven | | keyword | -| rsa.misc.cs_event_uuid | | keyword | -| rsa.misc.cs_filetype | | keyword | -| rsa.misc.cs_fld | | keyword | -| rsa.misc.cs_if_desc | | keyword | -| rsa.misc.cs_if_name | | keyword | -| rsa.misc.cs_ip_next_hop | | keyword | -| rsa.misc.cs_ipv4dstpre | | keyword | -| rsa.misc.cs_ipv4srcpre | | keyword | -| rsa.misc.cs_lifetime | | keyword | -| rsa.misc.cs_log_medium | | keyword | -| rsa.misc.cs_loginname | | keyword | -| rsa.misc.cs_modulescore | | keyword | -| rsa.misc.cs_modulesign | | keyword | -| rsa.misc.cs_opswatresult | | keyword | -| rsa.misc.cs_payload | | keyword | -| rsa.misc.cs_registrant | | keyword | -| rsa.misc.cs_registrar | | keyword | -| rsa.misc.cs_represult | | keyword | -| rsa.misc.cs_rpayload | | keyword | -| rsa.misc.cs_sampler_name | | keyword | -| rsa.misc.cs_sourcemodule | | keyword | -| rsa.misc.cs_streams | | keyword | -| rsa.misc.cs_targetmodule | | keyword | -| rsa.misc.cs_v6nxthop | | keyword | -| rsa.misc.cs_whois_server | | keyword | -| rsa.misc.cs_yararesult | | keyword | -| rsa.misc.cve | This key captures CVE (Common Vulnerabilities and Exposures) - an identifier for known information security vulnerabilities. | keyword | -| rsa.misc.data_type | | keyword | -| rsa.misc.description | | keyword | -| rsa.misc.device_name | This is used to capture name of the Device associated with the node Like: a physical disk, printer, etc | keyword | -| rsa.misc.devvendor | | keyword | -| rsa.misc.disposition | This key captures the The end state of an action. | keyword | -| rsa.misc.distance | | keyword | -| rsa.misc.doc_number | This key captures File Identification number | long | -| rsa.misc.dstburb | | keyword | -| rsa.misc.edomain | | keyword | -| rsa.misc.edomaub | | keyword | -| rsa.misc.ein_number | Employee Identification Numbers only | long | -| rsa.misc.error | This key captures All non successful Error codes or responses | keyword | -| rsa.misc.euid | | keyword | -| rsa.misc.event_category | | keyword | -| rsa.misc.event_computer | This key is a windows only concept, where this key is used to capture fully qualified domain name in a windows log. | keyword | -| rsa.misc.event_desc | This key is used to capture a description of an event available directly or inferred | keyword | -| rsa.misc.event_id | | keyword | -| rsa.misc.event_log | This key captures the Name of the event log | keyword | -| rsa.misc.event_source | This key captures Source of the event that’s not a hostname | keyword | -| rsa.misc.event_state | This key captures the current state of the object/item referenced within the event. Describing an on-going event. | keyword | -| rsa.misc.event_type | This key captures the event category type as specified by the event source. | keyword | -| rsa.misc.event_user | This key is a windows only concept, where this key is used to capture combination of domain name and username in a windows log. | keyword | -| rsa.misc.expected_val | This key captures the Value expected (from the perspective of the device generating the log). | keyword | -| rsa.misc.facility | | keyword | -| rsa.misc.facilityname | | keyword | -| rsa.misc.fcatnum | This key captures Filter Category Number. Legacy Usage | keyword | -| rsa.misc.filter | This key captures Filter used to reduce result set | keyword | -| rsa.misc.finterface | | keyword | -| rsa.misc.flags | | keyword | -| rsa.misc.forensic_info | | keyword | -| rsa.misc.found | This is used to capture the results of regex match | keyword | -| rsa.misc.fresult | This key captures the Filter Result | long | -| rsa.misc.gaddr | | keyword | -| rsa.misc.group | This key captures the Group Name value | keyword | -| rsa.misc.group_id | This key captures Group ID Number (related to the group name) | keyword | -| rsa.misc.group_object | This key captures a collection/grouping of entities. Specific usage | keyword | -| rsa.misc.hardware_id | This key is used to capture unique identifier for a device or system (NOT a Mac address) | keyword | -| rsa.misc.id3 | | keyword | -| rsa.misc.im_buddyid | | keyword | -| rsa.misc.im_buddyname | | keyword | -| rsa.misc.im_client | | keyword | -| rsa.misc.im_croomid | | keyword | -| rsa.misc.im_croomtype | | keyword | -| rsa.misc.im_members | | keyword | -| rsa.misc.im_userid | | keyword | -| rsa.misc.im_username | | keyword | -| rsa.misc.index | | keyword | -| rsa.misc.inout | | keyword | -| rsa.misc.ipkt | | keyword | -| rsa.misc.ipscat | | keyword | -| rsa.misc.ipspri | | keyword | -| rsa.misc.job_num | This key captures the Job Number | keyword | -| rsa.misc.jobname | | keyword | -| rsa.misc.language | This is used to capture list of languages the client support and what it prefers | keyword | -| rsa.misc.latitude | | keyword | -| rsa.misc.library | This key is used to capture library information in mainframe devices | keyword | -| rsa.misc.lifetime | This key is used to capture the session lifetime in seconds. | long | -| rsa.misc.linenum | | keyword | -| rsa.misc.link | This key is used to link the sessions together. This key should never be used to parse Meta data from a session (Logs/Packets) Directly, this is a Reserved key in NetWitness | keyword | -| rsa.misc.list_name | | keyword | -| rsa.misc.listnum | This key is used to capture listname or listnumber, primarily for collecting access-list | keyword | -| rsa.misc.load_data | | keyword | -| rsa.misc.location_floor | | keyword | -| rsa.misc.location_mark | | keyword | -| rsa.misc.log_id | | keyword | -| rsa.misc.log_session_id | This key is used to capture a sessionid from the session directly | keyword | -| rsa.misc.log_session_id1 | This key is used to capture a Linked (Related) Session ID from the session directly | keyword | -| rsa.misc.log_type | | keyword | -| rsa.misc.logid | | keyword | -| rsa.misc.logip | | keyword | -| rsa.misc.logname | | keyword | -| rsa.misc.longitude | | keyword | -| rsa.misc.lport | | keyword | -| rsa.misc.mail_id | This key is used to capture the mailbox id/name | keyword | -| rsa.misc.match | This key is for regex match name from search.ini | keyword | -| rsa.misc.mbug_data | | keyword | -| rsa.misc.message_body | This key captures the The contents of the message body. | keyword | -| rsa.misc.misc | | keyword | -| rsa.misc.misc_name | | keyword | -| rsa.misc.mode | | keyword | -| rsa.misc.msgIdPart1 | | keyword | -| rsa.misc.msgIdPart2 | | keyword | -| rsa.misc.msgIdPart3 | | keyword | -| rsa.misc.msgIdPart4 | | keyword | -| rsa.misc.msg_type | | keyword | -| rsa.misc.msgid | | keyword | -| rsa.misc.name | | keyword | -| rsa.misc.netsessid | | keyword | -| rsa.misc.node | Common use case is the node name within a cluster. The cluster name is reflected by the host name. | keyword | -| rsa.misc.ntype | | keyword | -| rsa.misc.num | | keyword | -| rsa.misc.number | | keyword | -| rsa.misc.number1 | | keyword | -| rsa.misc.number2 | | keyword | -| rsa.misc.nwwn | | keyword | -| rsa.misc.obj_name | This is used to capture name of object | keyword | -| rsa.misc.obj_type | This is used to capture type of object | keyword | -| rsa.misc.object | | keyword | -| rsa.misc.observed_val | This key captures the Value observed (from the perspective of the device generating the log). | keyword | -| rsa.misc.operation | | keyword | -| rsa.misc.operation_id | An alert number or operation number. The values should be unique and non-repeating. | keyword | -| rsa.misc.opkt | | keyword | -| rsa.misc.orig_from | | keyword | -| rsa.misc.owner_id | | keyword | -| rsa.misc.p_action | | keyword | -| rsa.misc.p_filter | | keyword | -| rsa.misc.p_group_object | | keyword | -| rsa.misc.p_id | | keyword | -| rsa.misc.p_msgid | | keyword | -| rsa.misc.p_msgid1 | | keyword | -| rsa.misc.p_msgid2 | | keyword | -| rsa.misc.p_result1 | | keyword | -| rsa.misc.param | This key is the parameters passed as part of a command or application, etc. | keyword | -| rsa.misc.param_dst | This key captures the command line/launch argument of the target process or file | keyword | -| rsa.misc.param_src | This key captures source parameter | keyword | -| rsa.misc.parent_node | This key captures the Parent Node Name. Must be related to node variable. | keyword | -| rsa.misc.password_chg | | keyword | -| rsa.misc.password_expire | | keyword | -| rsa.misc.payload_dst | This key is used to capture destination payload | keyword | -| rsa.misc.payload_src | This key is used to capture source payload | keyword | -| rsa.misc.permgranted | | keyword | -| rsa.misc.permwanted | | keyword | -| rsa.misc.pgid | | keyword | -| rsa.misc.phone | | keyword | -| rsa.misc.pid | | keyword | -| rsa.misc.policy | | keyword | -| rsa.misc.policyUUID | | keyword | -| rsa.misc.policy_id | This key is used to capture the Policy ID only, this should be a numeric value, use policy.name otherwise | keyword | -| rsa.misc.policy_name | This key is used to capture the Policy Name only. | keyword | -| rsa.misc.policy_value | This key captures the contents of the policy. This contains details about the policy | keyword | -| rsa.misc.policy_waiver | | keyword | -| rsa.misc.pool_id | This key captures the identifier (typically numeric field) of a resource pool | keyword | -| rsa.misc.pool_name | This key captures the name of a resource pool | keyword | -| rsa.misc.port_name | This key is used for Physical or logical port connection but does NOT include a network port. (Example: Printer port name). | keyword | -| rsa.misc.priority | | keyword | -| rsa.misc.process_id_val | This key is a failure key for Process ID when it is not an integer value | keyword | -| rsa.misc.prog_asp_num | | keyword | -| rsa.misc.program | | keyword | -| rsa.misc.real_data | | keyword | -| rsa.misc.reason | | keyword | -| rsa.misc.rec_asp_device | | keyword | -| rsa.misc.rec_asp_num | | keyword | -| rsa.misc.rec_library | | keyword | -| rsa.misc.recordnum | | keyword | -| rsa.misc.reference_id | This key is used to capture an event id from the session directly | keyword | -| rsa.misc.reference_id1 | This key is for Linked ID to be used as an addition to "reference.id" | keyword | -| rsa.misc.reference_id2 | This key is for the 2nd Linked ID. Can be either linked to "reference.id" or "reference.id1" value but should not be used unless the other two variables are in play. | keyword | -| rsa.misc.result | This key is used to capture the outcome/result string value of an action in a session. | keyword | -| rsa.misc.result_code | This key is used to capture the outcome/result numeric value of an action in a session | keyword | -| rsa.misc.risk | This key captures the non-numeric risk value | keyword | -| rsa.misc.risk_info | Deprecated, use New Hunting Model (inv.\*, ioc, boc, eoc, analysis.\*) | keyword | -| rsa.misc.risk_num | This key captures a Numeric Risk value | double | -| rsa.misc.risk_num_comm | This key captures Risk Number Community | double | -| rsa.misc.risk_num_next | This key captures Risk Number NextGen | double | -| rsa.misc.risk_num_sand | This key captures Risk Number SandBox | double | -| rsa.misc.risk_num_static | This key captures Risk Number Static | double | -| rsa.misc.risk_suspicious | Deprecated, use New Hunting Model (inv.\*, ioc, boc, eoc, analysis.\*) | keyword | -| rsa.misc.risk_warning | Deprecated, use New Hunting Model (inv.\*, ioc, boc, eoc, analysis.\*) | keyword | -| rsa.misc.ruid | | keyword | -| rsa.misc.rule | This key captures the Rule number | keyword | -| rsa.misc.rule_group | This key captures the Rule group name | keyword | -| rsa.misc.rule_name | This key captures the Rule Name | keyword | -| rsa.misc.rule_template | A default set of parameters which are overlayed onto a rule (or rulename) which efffectively constitutes a template | keyword | -| rsa.misc.rule_uid | This key is the Unique Identifier for a rule. | keyword | -| rsa.misc.sburb | | keyword | -| rsa.misc.sdomain_fld | | keyword | -| rsa.misc.search_text | This key captures the Search Text used | keyword | -| rsa.misc.sec | | keyword | -| rsa.misc.second | | keyword | -| rsa.misc.sensor | This key captures Name of the sensor. Typically used in IDS/IPS based devices | keyword | -| rsa.misc.sensorname | | keyword | -| rsa.misc.seqnum | | keyword | -| rsa.misc.serial_number | This key is the Serial number associated with a physical asset. | keyword | -| rsa.misc.session | | keyword | -| rsa.misc.sessiontype | | keyword | -| rsa.misc.severity | This key is used to capture the severity given the session | keyword | -| rsa.misc.sigUUID | | keyword | -| rsa.misc.sig_id | This key captures IDS/IPS Int Signature ID | long | -| rsa.misc.sig_id1 | This key captures IDS/IPS Int Signature ID. This must be linked to the sig.id | long | -| rsa.misc.sig_id_str | This key captures a string object of the sigid variable. | keyword | -| rsa.misc.sig_name | This key is used to capture the Signature Name only. | keyword | -| rsa.misc.sigcat | | keyword | -| rsa.misc.snmp_oid | SNMP Object Identifier | keyword | -| rsa.misc.snmp_value | SNMP set request value | keyword | -| rsa.misc.space | | keyword | -| rsa.misc.space1 | | keyword | -| rsa.misc.spi | | keyword | -| rsa.misc.spi_dst | Destination SPI Index | keyword | -| rsa.misc.spi_src | Source SPI Index | keyword | -| rsa.misc.sql | This key captures the SQL query | keyword | -| rsa.misc.srcburb | | keyword | -| rsa.misc.srcdom | | keyword | -| rsa.misc.srcservice | | keyword | -| rsa.misc.state | | keyword | -| rsa.misc.status | | keyword | -| rsa.misc.status1 | | keyword | -| rsa.misc.streams | This key captures number of streams in session | long | -| rsa.misc.subcategory | | keyword | -| rsa.misc.svcno | | keyword | -| rsa.misc.system | | keyword | -| rsa.misc.tbdstr1 | | keyword | -| rsa.misc.tbdstr2 | | keyword | -| rsa.misc.tcp_flags | This key is captures the TCP flags set in any packet of session | long | -| rsa.misc.terminal | This key captures the Terminal Names only | keyword | -| rsa.misc.tgtdom | | keyword | -| rsa.misc.tgtdomain | | keyword | -| rsa.misc.threshold | | keyword | -| rsa.misc.tos | This key describes the type of service | long | -| rsa.misc.trigger_desc | This key captures the Description of the trigger or threshold condition. | keyword | -| rsa.misc.trigger_val | This key captures the Value of the trigger or threshold condition. | keyword | -| rsa.misc.type | | keyword | -| rsa.misc.type1 | | keyword | -| rsa.misc.udb_class | | keyword | -| rsa.misc.url_fld | | keyword | -| rsa.misc.user_div | | keyword | -| rsa.misc.userid | | keyword | -| rsa.misc.username_fld | | keyword | -| rsa.misc.utcstamp | | keyword | -| rsa.misc.v_instafname | | keyword | -| rsa.misc.version | This key captures Version of the application or OS which is generating the event. | keyword | -| rsa.misc.virt_data | | keyword | -| rsa.misc.virusname | This key captures the name of the virus | keyword | -| rsa.misc.vm_target | VMWare Target \*\*VMWARE\*\* only varaible. | keyword | -| rsa.misc.vpnid | | keyword | -| rsa.misc.vsys | This key captures Virtual System Name | keyword | -| rsa.misc.vuln_ref | This key captures the Vulnerability Reference details | keyword | -| rsa.misc.workspace | This key captures Workspace Description | keyword | -| rsa.network.ad_computer_dst | Deprecated, use host.dst | keyword | -| rsa.network.addr | | keyword | -| rsa.network.alias_host | This key should be used when the source or destination context of a hostname is not clear.Also it captures the Device Hostname. Any Hostname that isnt ad.computer. | keyword | -| rsa.network.dinterface | This key should only be used when it’s a Destination Interface | keyword | -| rsa.network.dmask | This key is used for Destionation Device network mask | keyword | -| rsa.network.dns_a_record | | keyword | -| rsa.network.dns_cname_record | | keyword | -| rsa.network.dns_id | | keyword | -| rsa.network.dns_opcode | | keyword | -| rsa.network.dns_ptr_record | | keyword | -| rsa.network.dns_resp | | keyword | -| rsa.network.dns_type | | keyword | -| rsa.network.domain | | keyword | -| rsa.network.domain1 | | keyword | -| rsa.network.eth_host | Deprecated, use alias.mac | keyword | -| rsa.network.eth_type | This key is used to capture Ethernet Type, Used for Layer 3 Protocols Only | long | -| rsa.network.faddr | | keyword | -| rsa.network.fhost | | keyword | -| rsa.network.fport | | keyword | -| rsa.network.gateway | This key is used to capture the IP Address of the gateway | keyword | -| rsa.network.host_dst | This key should only be used when it’s a Destination Hostname | keyword | -| rsa.network.host_orig | This is used to capture the original hostname in case of a Forwarding Agent or a Proxy in between. | keyword | -| rsa.network.host_type | | keyword | -| rsa.network.icmp_code | This key is used to capture the ICMP code only | long | -| rsa.network.icmp_type | This key is used to capture the ICMP type only | long | -| rsa.network.interface | This key should be used when the source or destination context of an interface is not clear | keyword | -| rsa.network.ip_proto | This key should be used to capture the Protocol number, all the protocol nubers are converted into string in UI | long | -| rsa.network.laddr | | keyword | -| rsa.network.lhost | | keyword | -| rsa.network.linterface | | keyword | -| rsa.network.mask | This key is used to capture the device network IPmask. | keyword | -| rsa.network.netname | This key is used to capture the network name associated with an IP range. This is configured by the end user. | keyword | -| rsa.network.network_port | Deprecated, use port. NOTE: There is a type discrepancy as currently used, TM: Int32, INDEX: UInt64 (why neither chose the correct UInt16?!) | long | -| rsa.network.network_service | This is used to capture layer 7 protocols/service names | keyword | -| rsa.network.origin | | keyword | -| rsa.network.packet_length | | keyword | -| rsa.network.paddr | Deprecated | ip | -| rsa.network.phost | | keyword | -| rsa.network.port | This key should only be used to capture a Network Port when the directionality is not clear | long | -| rsa.network.protocol_detail | This key should be used to capture additional protocol information | keyword | -| rsa.network.remote_domain_id | | keyword | -| rsa.network.rpayload | This key is used to capture the total number of payload bytes seen in the retransmitted packets. | keyword | -| rsa.network.sinterface | This key should only be used when it’s a Source Interface | keyword | -| rsa.network.smask | This key is used for capturing source Network Mask | keyword | -| rsa.network.vlan | This key should only be used to capture the ID of the Virtual LAN | long | -| rsa.network.vlan_name | This key should only be used to capture the name of the Virtual LAN | keyword | -| rsa.network.zone | This key should be used when the source or destination context of a Zone is not clear | keyword | -| rsa.network.zone_dst | This key should only be used when it’s a Destination Zone. | keyword | -| rsa.network.zone_src | This key should only be used when it’s a Source Zone. | keyword | -| rsa.physical.org_dst | This is used to capture the destination organization based on the GEOPIP Maxmind database. | keyword | -| rsa.physical.org_src | This is used to capture the source organization based on the GEOPIP Maxmind database. | keyword | -| rsa.storage.disk_volume | A unique name assigned to logical units (volumes) within a physical disk | keyword | -| rsa.storage.lun | Logical Unit Number.This key is a very useful concept in Storage. | keyword | -| rsa.storage.pwwn | This uniquely identifies a port on a HBA. | keyword | -| rsa.threat.alert | This key is used to capture name of the alert | keyword | -| rsa.threat.threat_category | This key captures Threat Name/Threat Category/Categorization of alert | keyword | -| rsa.threat.threat_desc | This key is used to capture the threat description from the session directly or inferred | keyword | -| rsa.threat.threat_source | This key is used to capture source of the threat | keyword | -| rsa.time.date | | keyword | -| rsa.time.datetime | | keyword | -| rsa.time.day | | keyword | -| rsa.time.duration_str | A text string version of the duration | keyword | -| rsa.time.duration_time | This key is used to capture the normalized duration/lifetime in seconds. | double | -| rsa.time.effective_time | This key is the effective time referenced by an individual event in a Standard Timestamp format | date | -| rsa.time.endtime | This key is used to capture the End time mentioned in a session in a standard form | date | -| rsa.time.event_queue_time | This key is the Time that the event was queued. | date | -| rsa.time.event_time | This key is used to capture the time mentioned in a raw session that represents the actual time an event occured in a standard normalized form | date | -| rsa.time.event_time_str | This key is used to capture the incomplete time mentioned in a session as a string | keyword | -| rsa.time.eventtime | | keyword | -| rsa.time.expire_time | This key is the timestamp that explicitly refers to an expiration. | date | -| rsa.time.expire_time_str | This key is used to capture incomplete timestamp that explicitly refers to an expiration. | keyword | -| rsa.time.gmtdate | | keyword | -| rsa.time.gmttime | | keyword | -| rsa.time.hour | | keyword | -| rsa.time.min | | keyword | -| rsa.time.month | | keyword | -| rsa.time.p_date | | keyword | -| rsa.time.p_month | | keyword | -| rsa.time.p_time | | keyword | -| rsa.time.p_time1 | | keyword | -| rsa.time.p_time2 | | keyword | -| rsa.time.p_year | | keyword | -| rsa.time.process_time | Deprecated, use duration.time | keyword | -| rsa.time.recorded_time | The event time as recorded by the system the event is collected from. The usage scenario is a multi-tier application where the management layer of the system records it's own timestamp at the time of collection from its child nodes. Must be in timestamp format. | date | -| rsa.time.stamp | Deprecated key defined only in table map. | date | -| rsa.time.starttime | This key is used to capture the Start time mentioned in a session in a standard form | date | -| rsa.time.timestamp | | keyword | -| rsa.time.timezone | This key is used to capture the timezone of the Event Time | keyword | -| rsa.time.tzone | | keyword | -| rsa.time.year | | keyword | -| rsa.web.alias_host | | keyword | -| rsa.web.cn_asn_dst | | keyword | -| rsa.web.cn_rpackets | | keyword | -| rsa.web.fqdn | Fully Qualified Domain Names | keyword | -| rsa.web.p_url | | keyword | -| rsa.web.p_user_agent | | keyword | -| rsa.web.p_web_cookie | | keyword | -| rsa.web.p_web_method | | keyword | -| rsa.web.p_web_referer | | keyword | -| rsa.web.remote_domain | | keyword | -| rsa.web.reputation_num | Reputation Number of an entity. Typically used for Web Domains | double | -| rsa.web.urlpage | | keyword | -| rsa.web.urlroot | | keyword | -| rsa.web.web_cookie | This key is used to capture the Web cookies specifically. | keyword | -| rsa.web.web_extension_tmp | | keyword | -| rsa.web.web_page | | keyword | -| rsa.web.web_ref_domain | Web referer's domain | keyword | -| rsa.web.web_ref_page | This key captures Web referer's page information | keyword | -| rsa.web.web_ref_query | This key captures Web referer's query portion of the URL | keyword | -| rsa.web.web_ref_root | Web referer's root URL path | keyword | -| rsa.wireless.access_point | This key is used to capture the access point name. | keyword | -| rsa.wireless.wlan_channel | This is used to capture the channel names | long | -| rsa.wireless.wlan_name | This key captures either WLAN number/name | keyword | -| rsa.wireless.wlan_ssid | This key is used to capture the ssid of a Wireless Session | keyword | -| rule.name | The name of the rule or signature generating the event. | keyword | -| server.domain | The domain name of the server system. This value may be a host name, a fully qualified domain name, or another host naming format. The value may derive from the original event or be added from enrichment. | keyword | -| server.registered_domain | The highest registered server domain, stripped of the subdomain. For example, the registered domain for "foo.example.com" is "example.com". This value can be determined precisely with a list like the public suffix list (http://publicsuffix.org). Trying to approximate this by simply taking the last two labels will not work well for TLDs such as "co.uk". | keyword | -| server.subdomain | The subdomain portion of a fully qualified domain name includes all of the names except the host name under the registered_domain. In a partially qualified domain, or if the the qualification level of the full name cannot be determined, subdomain contains all of the names below the registered domain. For example the subdomain portion of "www.east.mydomain.co.uk" is "east". If the domain has multiple levels of subdomain, such as "sub2.sub1.example.com", the subdomain field should contain "sub2.sub1", with no trailing period. | keyword | -| server.top_level_domain | The effective top level domain (eTLD), also known as the domain suffix, is the last part of the domain name. For example, the top level domain for example.com is "com". This value can be determined precisely with a list like the public suffix list (http://publicsuffix.org). Trying to approximate this by simply taking the last label will not work well for effective TLDs such as "co.uk". | keyword | -| service.name | Name of the service data is collected from. The name of the service is normally user given. This allows for distributed services that run on multiple hosts to correlate the related instances based on the name. In the case of Elasticsearch the `service.name` could contain the cluster name. For Beats the `service.name` is by default a copy of the `service.type` field if no name is specified. | keyword | -| source.address | Some event source addresses are defined ambiguously. The event will sometimes list an IP, a domain or a unix socket. You should always store the raw address in the `.address` field. Then it should be duplicated to `.ip` or `.domain`, depending on which one it is. | keyword | -| source.as.number | Unique number allocated to the autonomous system. The autonomous system number (ASN) uniquely identifies each network on the Internet. | long | -| source.as.organization.name | Organization name. | keyword | -| source.as.organization.name.text | Multi-field of `source.as.organization.name`. | match_only_text | -| source.bytes | Bytes sent from the source to the destination. | long | -| source.domain | The domain name of the source system. This value may be a host name, a fully qualified domain name, or another host naming format. The value may derive from the original event or be added from enrichment. | keyword | -| source.geo.city_name | City name. | keyword | -| source.geo.country_name | Country name. | keyword | -| source.geo.location | Longitude and latitude. | geo_point | -| source.ip | IP address of the source (IPv4 or IPv6). | ip | -| source.mac | MAC address of the source. The notation format from RFC 7042 is suggested: Each octet (that is, 8-bit byte) is represented by two [uppercase] hexadecimal digits giving the value of the octet as an unsigned integer. Successive octets are separated by a hyphen. | keyword | -| source.nat.ip | Translated ip of source based NAT sessions (e.g. internal client to internet) Typically connections traversing load balancers, firewalls, or routers. | ip | -| source.nat.port | Translated port of source based NAT sessions. (e.g. internal client to internet) Typically used with load balancers, firewalls, or routers. | long | -| source.port | Port of the source. | long | -| source.registered_domain | The highest registered source domain, stripped of the subdomain. For example, the registered domain for "foo.example.com" is "example.com". This value can be determined precisely with a list like the public suffix list (http://publicsuffix.org). Trying to approximate this by simply taking the last two labels will not work well for TLDs such as "co.uk". | keyword | -| source.subdomain | The subdomain portion of a fully qualified domain name includes all of the names except the host name under the registered_domain. In a partially qualified domain, or if the the qualification level of the full name cannot be determined, subdomain contains all of the names below the registered domain. For example the subdomain portion of "www.east.mydomain.co.uk" is "east". If the domain has multiple levels of subdomain, such as "sub2.sub1.example.com", the subdomain field should contain "sub2.sub1", with no trailing period. | keyword | -| source.top_level_domain | The effective top level domain (eTLD), also known as the domain suffix, is the last part of the domain name. For example, the top level domain for example.com is "com". This value can be determined precisely with a list like the public suffix list (http://publicsuffix.org). Trying to approximate this by simply taking the last label will not work well for effective TLDs such as "co.uk". | keyword | -| tags | List of keywords used to tag each event. | keyword | -| url.domain | Domain of the url, such as "www.elastic.co". In some cases a URL may refer to an IP and/or port directly, without a domain name. In this case, the IP address would go to the `domain` field. If the URL contains a literal IPv6 address enclosed by `[` and `]` (IETF RFC 2732), the `[` and `]` characters should also be captured in the `domain` field. | keyword | -| url.original | Unmodified original url as seen in the event source. Note that in network monitoring, the observed URL may be a full URL, whereas in access logs, the URL is often just represented as a path. This field is meant to represent the URL as it was observed, complete or not. | wildcard | -| url.original.text | Multi-field of `url.original`. | match_only_text | -| url.path | Path of the request, such as "/search". | wildcard | -| url.query | The query field describes the query string of the request, such as "q=elasticsearch". The `?` is excluded from the query string. If a URL contains no `?`, there is no query field. If there is a `?` but no query, the query field exists with an empty string. The `exists` query can be used to differentiate between the two cases. | keyword | -| url.registered_domain | The highest registered url domain, stripped of the subdomain. For example, the registered domain for "foo.example.com" is "example.com". This value can be determined precisely with a list like the public suffix list (http://publicsuffix.org). Trying to approximate this by simply taking the last two labels will not work well for TLDs such as "co.uk". | keyword | -| url.subdomain | The subdomain portion of a fully qualified domain name includes all of the names except the host name under the registered_domain. In a partially qualified domain, or if the the qualification level of the full name cannot be determined, subdomain contains all of the names below the registered domain. For example the subdomain portion of "www.east.mydomain.co.uk" is "east". If the domain has multiple levels of subdomain, such as "sub2.sub1.example.com", the subdomain field should contain "sub2.sub1", with no trailing period. | keyword | -| url.top_level_domain | The effective top level domain (eTLD), also known as the domain suffix, is the last part of the domain name. For example, the top level domain for example.com is "com". This value can be determined precisely with a list like the public suffix list (http://publicsuffix.org). Trying to approximate this by simply taking the last label will not work well for effective TLDs such as "co.uk". | keyword | -| user.domain | Name of the directory the user is a member of. For example, an LDAP or Active Directory domain name. | keyword | -| user.full_name | User's full name, if available. | keyword | -| user.full_name.text | Multi-field of `user.full_name`. | match_only_text | -| user.id | Unique identifier of the user. | keyword | -| user.name | Short name or login of the user. | keyword | -| user.name.text | Multi-field of `user.name`. | match_only_text | -| user_agent.device.name | Name of the device. | keyword | -| user_agent.name | Name of the user agent. | keyword | -| user_agent.original | Unparsed user_agent string. | keyword | -| user_agent.original.text | Multi-field of `user_agent.original`. | match_only_text | -| user_agent.os.family | OS family (such as redhat, debian, freebsd, windows). | keyword | -| user_agent.os.full | Operating system name, including the version or code name. | keyword | -| user_agent.os.full.text | Multi-field of `user_agent.os.full`. | match_only_text | -| user_agent.os.kernel | Operating system kernel version as a raw string. | keyword | -| user_agent.os.name | Operating system name, without the version. | keyword | -| user_agent.os.name.text | Multi-field of `user_agent.os.name`. | match_only_text | -| user_agent.os.platform | Operating system platform (such centos, ubuntu, windows). | keyword | -| user_agent.os.version | Operating system version as a raw string. | keyword | -| user_agent.version | Version of the user agent. | keyword | +| squid.content_type | The content type as seen in the HTTP reply header. | keyword | +| squid.peer_host | Hostname or IP address where, in the event of a cache miss, the request was forwarded. | keyword | +| squid.peer_status | A code explaining how the request was handled, by forwarding it to a peer or going straight to the source. | keyword | +| squid.result_code | The outcome of the request. | keyword | +| squid.status_code | The status of the result. | long | diff --git a/packages/squid/img/squid-logo.png b/packages/squid/img/squid-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..3c9b811afc432417766d5fa3fa5cd5dbe617ca5f GIT binary patch literal 32940 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 literal 0 HcmV?d00001 diff --git a/packages/squid/manifest.yml b/packages/squid/manifest.yml index fa112a5bae5..8a92f9fadfe 100644 --- a/packages/squid/manifest.yml +++ b/packages/squid/manifest.yml @@ -1,12 +1,24 @@ -format_version: 2.7.0 +format_version: 3.2.1 name: squid -title: Squid Logs -version: "0.19.3" +title: Squid Proxy +version: "0.20.0" description: Collect and parse logs from Squid devices with Elastic Agent. -categories: ["security", "network", "proxy_security"] +categories: + - network + - security + - proxy_security + - web type: integration conditions: - kibana.version: "^7.14.1 || ^8.0.0" + kibana: + version: "^8.14.1" + elastic: + subscription: "basic" +icons: + - src: /img/squid-logo.png + title: Squid Logo + size: 160x160 + type: image/svg+xml policy_templates: - name: log title: Squid @@ -18,8 +30,9 @@ policy_templates: - type: tcp title: Collect logs from Squid via TCP description: Collecting syslog from Squid via TCP - - type: logfile - title: Collect logs from Squid via file - description: Collecting syslog from Squid via file. + - type: filestream + title: Collect logs from Squid via filestream + description: Collecting syslog from Squid via filestream owner: github: elastic/sec-deployment-and-devices + type: elastic From 930a301c080c8e410259a1b7d9182342d63e787e Mon Sep 17 00:00:00 2001 From: Andrew Gizas Date: Wed, 28 Aug 2024 17:54:10 +0300 Subject: [PATCH 33/33] [k8s Integratiion] Adding container.id as filter of Cluster Overview and removing median filter occurencies (#10893) * adding container.id as filter and removing median as filter --- packages/kubernetes/changelog.yml | 5 +++++ ...bernetes-0a672d50-bcb1-11ec-b64f-7dd6e8e82013.json | 9 +++++++-- ...bernetes-3912d9a0-bcb2-11ec-b64f-7dd6e8e82013.json | 6 +++--- ...bernetes-5be46210-bcb1-11ec-b64f-7dd6e8e82013.json | 11 ++++++++--- ...bernetes-85879010-bcb1-11ec-b64f-7dd6e8e82013.json | 8 ++++++-- ...bernetes-f4dc26db-1b53-4ea2-a78b-1bfab8ea267c.json | 8 ++++---- packages/kubernetes/manifest.yml | 2 +- 7 files changed, 34 insertions(+), 15 deletions(-) diff --git a/packages/kubernetes/changelog.yml b/packages/kubernetes/changelog.yml index 9bc5701c68f..d9a45d4ead0 100644 --- a/packages/kubernetes/changelog.yml +++ b/packages/kubernetes/changelog.yml @@ -1,4 +1,9 @@ # newer versions go on top +- version: 1.66.4 + changes: + - description: Updating Cluster Overview Dashboard to use container.id as filter and replaced median functions from visualisations + type: bugfix + link: https://github.com/elastic/integrations/pull/10893 - version: 1.66.3 changes: - description: Updating mapping of the field groups to keyword in kubernetes.audit_logs diff --git a/packages/kubernetes/kibana/dashboard/kubernetes-0a672d50-bcb1-11ec-b64f-7dd6e8e82013.json b/packages/kubernetes/kibana/dashboard/kubernetes-0a672d50-bcb1-11ec-b64f-7dd6e8e82013.json index c2f631c5c70..cca7bfd68ad 100644 --- a/packages/kubernetes/kibana/dashboard/kubernetes-0a672d50-bcb1-11ec-b64f-7dd6e8e82013.json +++ b/packages/kubernetes/kibana/dashboard/kubernetes-0a672d50-bcb1-11ec-b64f-7dd6e8e82013.json @@ -271,16 +271,21 @@ "118dfa8c-388e-430c-860f-ce84cf88ac39": { "customLabel": true, "dataType": "number", + "filter": { + "language": "kuery", + "query": "\"kubernetes.cronjob.next_schedule.sec\": *" + }, "isBucketed": false, "label": "Epoch Time until Next Schedule(sec)", - "operationType": "median", + "operationType": "last_value", "params": { "format": { "id": "number", "params": { "decimals": 0 } - } + }, + "sortField": "@timestamp" }, "scale": "ratio", "sourceField": "kubernetes.cronjob.next_schedule.sec" diff --git a/packages/kubernetes/kibana/dashboard/kubernetes-3912d9a0-bcb2-11ec-b64f-7dd6e8e82013.json b/packages/kubernetes/kibana/dashboard/kubernetes-3912d9a0-bcb2-11ec-b64f-7dd6e8e82013.json index e2cce545db9..d2ef7126929 100644 --- a/packages/kubernetes/kibana/dashboard/kubernetes-3912d9a0-bcb2-11ec-b64f-7dd6e8e82013.json +++ b/packages/kubernetes/kibana/dashboard/kubernetes-3912d9a0-bcb2-11ec-b64f-7dd6e8e82013.json @@ -95,7 +95,7 @@ "dataType": "number", "isBucketed": false, "label": "Volume Used %", - "operationType": "max", + "operationType": "average", "params": { "emptyAsNull": true, "format": { @@ -113,7 +113,7 @@ "dataType": "number", "isBucketed": false, "label": "Used Bytes", - "operationType": "max", + "operationType": "average", "params": { "emptyAsNull": true, "format": { @@ -183,7 +183,7 @@ "dataType": "number", "isBucketed": false, "label": "Volume Size", - "operationType": "median", + "operationType": "average", "params": { "emptyAsNull": true, "format": { diff --git a/packages/kubernetes/kibana/dashboard/kubernetes-5be46210-bcb1-11ec-b64f-7dd6e8e82013.json b/packages/kubernetes/kibana/dashboard/kubernetes-5be46210-bcb1-11ec-b64f-7dd6e8e82013.json index 802637488e6..9286de8caee 100644 --- a/packages/kubernetes/kibana/dashboard/kubernetes-5be46210-bcb1-11ec-b64f-7dd6e8e82013.json +++ b/packages/kubernetes/kibana/dashboard/kubernetes-5be46210-bcb1-11ec-b64f-7dd6e8e82013.json @@ -741,17 +741,22 @@ "9b5ed643-7572-4d3b-a9af-6265b3a5a515": { "customLabel": true, "dataType": "number", + "filter": { + "language": "kuery", + "query": "\"kubernetes.deployment.replicas.desired\": *" + }, "isBucketed": false, "label": "Replicas Desired", - "operationType": "median", + "operationType": "last_value", "params": { - "emptyAsNull": true + "sortField": "@timestamp" }, "scale": "ratio", "sourceField": "kubernetes.deployment.replicas.desired" } }, - "incompleteColumns": {} + "incompleteColumns": {}, + "indexPatternId": "metrics-*" } } } diff --git a/packages/kubernetes/kibana/dashboard/kubernetes-85879010-bcb1-11ec-b64f-7dd6e8e82013.json b/packages/kubernetes/kibana/dashboard/kubernetes-85879010-bcb1-11ec-b64f-7dd6e8e82013.json index f14af90d7e7..a5c18fea819 100644 --- a/packages/kubernetes/kibana/dashboard/kubernetes-85879010-bcb1-11ec-b64f-7dd6e8e82013.json +++ b/packages/kubernetes/kibana/dashboard/kubernetes-85879010-bcb1-11ec-b64f-7dd6e8e82013.json @@ -687,11 +687,15 @@ "34892916-522d-4b2e-b286-a534475b34a1": { "customLabel": true, "dataType": "number", + "filter": { + "language": "kuery", + "query": "\"kubernetes.daemonset.replicas.desired\": *" + }, "isBucketed": false, "label": "Replicas Desired", - "operationType": "median", + "operationType": "last_value", "params": { - "emptyAsNull": true + "sortField": "@timestamp" }, "scale": "ratio", "sourceField": "kubernetes.daemonset.replicas.desired" diff --git a/packages/kubernetes/kibana/dashboard/kubernetes-f4dc26db-1b53-4ea2-a78b-1bfab8ea267c.json b/packages/kubernetes/kibana/dashboard/kubernetes-f4dc26db-1b53-4ea2-a78b-1bfab8ea267c.json index 213cf506b37..040568faf69 100644 --- a/packages/kubernetes/kibana/dashboard/kubernetes-f4dc26db-1b53-4ea2-a78b-1bfab8ea267c.json +++ b/packages/kubernetes/kibana/dashboard/kubernetes-f4dc26db-1b53-4ea2-a78b-1bfab8ea267c.json @@ -468,7 +468,7 @@ "7113c7e7-1af9-4350-b5d2-57abcb60c633": { "dataType": "string", "isBucketed": true, - "label": "Top 10000 values of kubernetes.container.name", + "label": "Top 10000 values of container.id", "operationType": "terms", "params": { "missingBucket": false, @@ -494,7 +494,7 @@ "size": 10000 }, "scale": "ordinal", - "sourceField": "kubernetes.container.name" + "sourceField": "container.id" }, "830de93b-4051-4716-99e4-83d625a91288": { "customLabel": true, @@ -950,7 +950,7 @@ "6677e92c-5874-49c1-979e-c16c0d3838cd": { "dataType": "string", "isBucketed": true, - "label": "Top 10000 values of kubernetes.container.name", + "label": "Top 10000 values of container.id", "operationType": "terms", "params": { "missingBucket": false, @@ -976,7 +976,7 @@ "size": 10000 }, "scale": "ordinal", - "sourceField": "kubernetes.container.name" + "sourceField": "container.id" } }, "incompleteColumns": {}, diff --git a/packages/kubernetes/manifest.yml b/packages/kubernetes/manifest.yml index e23022f8c9e..886e4697694 100644 --- a/packages/kubernetes/manifest.yml +++ b/packages/kubernetes/manifest.yml @@ -1,7 +1,7 @@ format_version: 3.1.2 name: kubernetes title: Kubernetes -version: 1.66.3 +version: 1.66.4 description: Collect logs and metrics from Kubernetes clusters with Elastic Agent. type: integration categories:

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%0DJ|* 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