-
Notifications
You must be signed in to change notification settings - Fork 474
[Azure] Update Azure Firewall pipeline #9428
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Azure] Update Azure Firewall pipeline #9428
Conversation
🚀 Benchmarks reportTo see the full report comment with |
@@ -0,0 +1,30 @@ | |||
{ | |||
"expected": [ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why the log fields are missing for this category AZFWApplicationRule
? Do we need to re-run the pipeline test and generate the sample metrics with all the fields added to the expected json?
"policy": "policy", | ||
"protocol": "TCP", | ||
"rule": "rule", | ||
"rule_collection": "rule collection", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can we provide a meaningful name for the rule, rule_collection and the rule_collection_group?
@@ -50,6 +39,130 @@ | |||
type: keyword | |||
description: | | |||
Operation name | |||
- name: destination_ip |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can we leverage the ECS fields for source and destination IP address and port?
packages/azure/data_stream/firewall_logs/elasticsearch/ingest_pipeline/default.yml
Outdated
Show resolved
Hide resolved
packages/azure/data_stream/firewall_logs/elasticsearch/ingest_pipeline/default.yml
Outdated
Show resolved
Hide resolved
packages/azure/data_stream/firewall_logs/elasticsearch/ingest_pipeline/default.yml
Outdated
Show resolved
Hide resolved
...ta_stream/firewall_logs/_dev/test/pipeline/test-networkrule-structured-raw.log-expected.json
Show resolved
Hide resolved
...ream/firewall_logs/_dev/test/pipeline/test-applicationrules-structured-raw.log-expected.json
Show resolved
Hide resolved
.../data_stream/firewall_logs/_dev/test/pipeline/test-dnsproxy-structured-raw.log-expected.json
Outdated
Show resolved
Hide resolved
.../data_stream/firewall_logs/_dev/test/pipeline/test-dnsproxy-structured-raw.log-expected.json
Show resolved
Hide resolved
.../data_stream/firewall_logs/_dev/test/pipeline/test-dnsproxy-structured-raw.log-expected.json
Outdated
Show resolved
Hide resolved
aeacc79
to
9bdd073
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Minor suggestions on my end
packages/azure/data_stream/firewall_logs/elasticsearch/ingest_pipeline/default.yml
Outdated
Show resolved
Hide resolved
packages/azure/data_stream/firewall_logs/elasticsearch/ingest_pipeline/default.yml
Outdated
Show resolved
Hide resolved
packages/azure/data_stream/firewall_logs/elasticsearch/ingest_pipeline/default.yml
Outdated
Show resolved
Hide resolved
…pipeline/default.yml Co-authored-by: Krishna Chaitanya Reddy Burri <krish.reddy91@gmail.com>
…pipeline/default.yml Co-authored-by: Krishna Chaitanya Reddy Burri <krish.reddy91@gmail.com>
…pipeline/default.yml Co-authored-by: Krishna Chaitanya Reddy Burri <krish.reddy91@gmail.com>
Thank you @kcreddy for the help, suggestions added. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM for my comments
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM!
My only suggestion is to clarify and expand the docs about diagnostics vs. resource-specific.
@lucian-ioan, does the integration support all resource-specific log categories for Azur Firewall, or are there more?
I have a vague recall of a long list of log categories.
| Log Category | Description | Destination Table | | ||
|:----------------------------:|:------------------------------------------------------------------------------------------------------------------------------------:|:------------------:| | ||
| AzureFirewallApplicationRule | These logs capture information about the traffic that is allowed or denied by application rules configured in Azure Firewall. | Azure diagnostics | | ||
| AzureFirewallNetworkRule | These logs capture information about the traffic that is allowed or denied by network rules configured in Azure Firewall. | Azure diagnostics | | ||
| AzureFirewallDnsProxy | These logs capture information about DNS requests and responses that are processed by Azure Firewall's DNS proxy. | Azure diagnostics | | ||
| AZFWApplicationRule | These logs capture resource specific information about the traffic that is allowed or denied by application rules configured in Azure Firewall. | Resource specific | | ||
| AZFWNetworkRule | These logs capture resource specific information about the traffic that is allowed or denied by network rules configured in Azure Firewall. | Resource specific | | ||
| AZFWNatRule | These logs capture resource specific information about all DNAT (Destination Network Address Translation) events log data. | Resource specific | | ||
| AZFWDnsQuery | These logs capture resource specific information about DNS requests and responses that are processed by Azure Firewall's DNS proxy. | Resource specific | | ||
|
||
For detailed information and instructions on how to migrate to Resource-specific mode, please refer to the following Microsoft documentation: [Azure Monitor Resource Logs](https://learn.microsoft.com/en-gb/azure/azure-monitor/essentials/resource-logs#resource-specific). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's good we're adding more info about the collection mode (azure diagnostics vs. resource specific)!
I would expand this section a little to convey more context, using the info mentioned in the doc from Azure you linked (and leaving all the other fine details to the Azure doc).
From https://learn.microsoft.com/en-gb/azure/azure-monitor/essentials/resource-logs#resource-specific:
Most Azure resources write data to the workspace in either Azure diagnostics or resource-specific mode without giving you a choice.
All Azure services will eventually use the resource-specific mode. As part of this transition, some resources allow you to select a mode in the diagnostic setting. Specify resource-specific mode for any new diagnostic settings because this mode makes the data easier to manage.
So it's also clear that users can have the log categories from Azure Diagnostics or resource-specific, but not both.
packages/azure/manifest.yml
Outdated
@@ -1,6 +1,6 @@ | |||
name: azure | |||
title: Azure Logs | |||
version: 1.12.0 | |||
version: 1.12.1 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Since this is a new feature (adds support to additional log categories) we can probably use v1.13.0. WDYT?
@zmoog There are a couple more categories, this PR specifically adds support for the most important ones (which are currently used by customers). |
💚 Build Succeeded
History
cc @lucian-ioan |
|
Package azure - 1.13.0 containing this change is available at https://epr.elastic.co/search?package=azure |
Proposed commit message
Update Azure Firewall pipeline due to new format introduced by Azure via Resource Specific Structured Logging.
Currently adding support for the following categories:
Checklist
changelog.yml
file.Author's Checklist
How to test this PR locally
Related issues
Screenshots