Microsoft Windows DHCP Server (Preview)

Dynamic Host Configuration Protocol (DHCP) is a standard protocol defined by RFC 1541 that allows servers to distribute IP addressing and configuration information. This package provides a preview parser for Microsoft DHCP server logs. Augment your end point monitoring coverage by ingesting this data to LogScale.

This package provides a preview parser for DHCP server events in CSV format.

The parser normalizes data to a common schema based on an OpenTelemetry standard. This schema allows you to search the data without knowing DHCP Server data specifically, and just knowing the common schema instead. It also allows you to combine the data more easily with other data sources which conform to the same schema.

For more information about the logs, see also Microsoft: Analyze DHCP Server Log Files.

Preview Status

Note that this package is considered a PREVIEW. This means we are seeking feedback on the package, and may make breaking changes to the parser in the future.

Installing the DHCP Server Package in LogScale

To install the package in LogScale:

  1. Find the repository where you want to send the logs, or create a new one.

  2. Navigate to your repository in the LogScale interface, click Settings and then Packages on the left.

  3. Click Marketplace and install the LogScale package for Microsoft DHCP Server (i.e. microsoft/dhcp-server).

  4. When the package has finished installing, click Ingest tokens on the left (still under the Settings, see Ingest Tokens).

  5. In the right panel, click + Add Token to create a new token. Give the token an appropriate name (e.g.the name of the server and the name of the server the token is ingesting logs for), and assign the parser to windows-dhcp-server-csv. You can assign the parser to the LogScale Collector Configuration as described in the documentation: Windows Event Log Example

    Before leaving this page, view the ingest token and copy it to your clipboard — to save it temporarily elsewhere.

Now that you have a repository set up in LogScale along with an ingest token you're ready to send logs to LogScale.

Next, configure the Falcon LogScale Collector to ship the logs into LogScale. Follow LogScale Collector Installing the LogScale Collector and Configuring LogScale Collector. LogScale Collector documentation also provides an example of how you can configure your datasource- see our Windows Event Log Example.

DHCP Server Log Configuration

Use the following configuration to collect DHCP Server logs:

sources:
  dhcp:
    type: file
    include:
    - C:\Windows\System32\dhcp\DhcpV6SrvLog-*.log
    - C:\Windows\System32\dhcp\DhcpSrvLog-*.log
    sink: logscale
sinks:
  logscale:
    type: humio
    token: <ingest token>
    url: http://localhost:8080

To enable the required logging:

  1. Open DHCP.

  2. In the console tree, click the applicable DHCP server.

  3. On the Action menu, click Properties.

  4. On the General tab, select Enable DHCP audit logging, then click OK.

DHCP Server is not enabled by default. To install and configure, see Microsoft: Install and Configure DHCP Server on Windows Server.

Verify Data is Arriving in LogScale

Once you have completed the above steps the data should be arriving in your LogScale repository.

You can verify this by doing a simple search for #Vendor = "microsoft" | Product = "dhcp-server" to see the events.

Package Contents Explained

This package is only for parsing incoming data, and normalizing the data as part of that parsing. The parser normalizes the data to a subset of this schema based on OpenTelemetry standards, while still preserving the original data.

If you want to search using the original field names and values, you can access those in the fields whose names are prefixed with the word "Vendor". Fields which are not prefixed with "Vendor" are standard fields which are either based on the schema (e.g. source.ip) or on LogScale conventions (e.g. @rawstring).

The fields which the parser currently maps the data to, are chosen based on what seems the most relevant, and will potentially be expanded in the future. But the parser won't necessarily normalize every field that has potential to be normalized.

Event Categorisation

As part of the schema, events are categorized by different fields, including:

  • event.type

  • event.kind

  • event.category

event.category is an array, so needs to be searched like so:

array:contains("event.category[]", value="configuration")

This will find events where some event.category[n] field contains the value "info", regardless of what `n` is. Note that not all events will be categorized to this level of detail.

Normalized Fields

Here are some of the normalized fields which are being set by this parser:

  • event.* (e.g. event.type,event.kind,event.category, event.id)

  • user.* (e.g. user.id)