Skip to content

Add registered_domain processor similar to Filebeat processor #57476

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

Closed
leehinman opened this issue Jun 1, 2020 · 5 comments
Closed

Add registered_domain processor similar to Filebeat processor #57476

leehinman opened this issue Jun 1, 2020 · 5 comments
Assignees
Labels
:Data Management/Ingest Node Execution or management of Ingest Pipelines including GeoIP >enhancement Team:Data Management Meta label for data/management team

Comments

@leehinman
Copy link

It would be nice to have a registered_domain processor like the filebeat one. This would be useful so we can have ingest pipelines that are completely in ES that can fill out the ECS fields like dns.question.top_level_domain.

@leehinman leehinman added >enhancement needs:triage Requires assignment of a team area label labels Jun 1, 2020
@andrewkroh andrewkroh changed the title Add registred_domain processor similar to Filebeat processor Add registered_domain processor similar to Filebeat processor Jun 1, 2020
@romseygeek romseygeek added the :Data Management/Ingest Node Execution or management of Ingest Pipelines including GeoIP label Jun 3, 2020
@elasticmachine
Copy link
Collaborator

Pinging @elastic/es-core-features (:Core/Features/Ingest)

@elasticmachine elasticmachine added the Team:Data Management Meta label for data/management team label Jun 3, 2020
@romseygeek romseygeek removed the needs:triage Requires assignment of a team area label label Jun 3, 2020
@jamiehynds
Copy link

Discussed with @jakelandis. @jamiehynds to provide ECS fields to map to.

@webmat
Copy link

webmat commented Nov 18, 2020

In ECS, fields that contain a DNS domain name can appear in many places:

  • url.domain generally contains an FQDN, but can also contain an IP address
  • dns.question.name contains a domain in CNAME lookups, but can can contain other things, depending on the DNS query type
  • [source|destination|client|server].domain can contain either FQDNs or Active Directory domain names.

Each of these field can potentially contain stuff that doesn't look like a FQDN, so leniency is important. Or at least the code path for invalid values should be as fast :-)

The convention we've followed has always been to have the domain breakdown fields as siblings to each of the above. The breakdown fields are .registered_domain, .top_level_domain and subdomain. You can check out each of their descriptions on the ECS dns fields page.

But by example, when breaking down "www.google.co.uk":

  • registered_domain: google.co.uk
  • top_level_domain: co.uk (so it's the "effective" TLD)
  • subdomain: www

So I think this processor's output target would could default to outputting the breakdown fields as siblings to the field from which the value is being read. E.g. dns.question.name => dns.question.registered_domain, dns.question.top_level_domain, dns.question.subdomain

@mbudge
Copy link

mbudge commented Dec 8, 2020

Hi,

We are implementing indicator match in the SIEM. One issue we have is doing TLD extract in non-beats fieds i.e. not packetbeat.

Proxy data is indexed in elastic directly through logstash, and although there is a Logstash TLD extract filter it is not maintained/documented.

The problem is if an indicator has a sub-domain in the logs but not the threat intel feed, there's a high risk it will be missed.

It would help if we could do TLD extract in an ingest processor.

The rules for doing TLD extract with the public suffix list can be found here
https://publicsuffix.org/list/

@danhermann
Copy link
Contributor

Closed by #67611

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
:Data Management/Ingest Node Execution or management of Ingest Pipelines including GeoIP >enhancement Team:Data Management Meta label for data/management team
Projects
None yet
Development

No branches or pull requests

7 participants