AlienVault® USM Anywhere™

Microsoft Windows NXLog

When you configure Microsoft Windows NXLog integration to send log data from Sysmon, MS Windows, and any other host event sources to USM Anywhere, you can use the Windows NXLog plugin to translate the raw log data into normalized events for analysis.

Device Details
Device vendor Microsoft
Device type Adapter
Connection type syslog
Vendor link https://nxlog.co/docs/nxlog-ce/nxlog-reference-manual.html#forwarding

Integrating NXLog

Before you configure the integration, you must have the IP address of the USM Anywhere Sensor.

To install NXLog CE and configure forwarding

  1. Download the newest stable NXLog Community Edition.
  2. Make a backup copy of the original C:\Program Files (x86)\nxlog\conf\nxlog.conf file and give it another name.
  3. Download the NXLog configuration for USM Anywhere and save it as your new nxlog.conf file.
  4. Open the configuration file for editing and replace usmsensoriphere with the IP address of the USM Anywhere Sensor.

    USM Anywhere listens for syslog at UDP port 514, TCP port 601, or TLS/TCP port 6514.

  5. Depending on the protocol you decide to use, edit the configuration file as detailed below. Make sure USM Anywhere allows inbound requests to the corresponding port.

  6. Some sections in the nxlog.conf file have been commented out to improve performance. Depending on which product you want to collect logs from, you need to uncomment the corresponding section.

    • If you want to limit the events collected and sent to USM Anywhere, you can use the patterndb.xml file provided by AlienVault.

      1. Download the patterndb file and place it in C:\Program Files (x86)\nxlog\conf on your Windows machine.
      2. Uncomment the section between NXLOG WITH PATTERNDB and /NXLOG WITH PATTERNDB.
      3. Comment out the following section (lines 32-43) in the nxlog.conf file:

        <Input eventlog>

           Module    im_msvistalog

            Query     <QueryList>\

              <Query Id="0">\

                <Select Path="Application">*</Select>\

                <Select Path="System">*</Select>\

                <Select Path="Security">*</Select>\

              </Query>\

            </QueryList>

           Exec if ($EventID == 5156) OR ($EventID == 5158) drop();

        </Input>

      Important: Windows Event IDs not present in patterndb.xml are not forwarded. Excluding events not relevant to security helps improve the overall performance of the plugin. Consequently, some correlation rules may not be triggered because they rely on those events.

  7. Save the file.
  8. Open Windows Services and restart the NXLog service.
  9. Open USM Anywhere and verify that you are receiving NXLog events.

Note: If you need to debug NXLog, open C:\Program Files (x86)\nxlog\data\nxlog.log.

Plugin Enablement

The Windows NXLog plugin automatically processes all messages when the raw message contains (eventlog|wseventing).

Available Plugin Fields

The following plugin fields are important attributes extracted from the syslog message. The USM Anywhere reports use these fields, and you can also reference them when creating custom reports. In addition to reporting, the USM Anywhere correlation rules make use of these fields.

  • application

  • authentication_mode

  • authentication_type

  • customfield_0

  • customfield_1

  • customfield_2

  • customfield_3

  • customfield_4

  • customfield_5

  • customfield_6

  • customfield_7

  • customheader_0

  • customheader_1

  • customheader_2

  • customheader_3

  • customheader_4

  • customheader_5

  • customheader_6

  • customheader_7

  • destination_address

  • destination_hostname

  • destination_port

  • destination_process

  • destination_process_id

  • destination_username

  • event_category

  • event_description

  • event_name

  • event_severity

  • event_subcategory

  • external_id

  • file_hash

  • file_hash_algorithm

  • file_name

  • log_json

  • malware_family

  • policy

  • rep_device_rule_id

  • security_group_name

  • sevent_subcategory

  • source_address

  • source_hostname

  • source_ntdomain

  • source_port

  • source_process

  • source_process_commandline

  • source_process_id

  • source_process_parent

  • source_process_parent_commandline

  • source_process_parent_process_id

  • source_userid

  • source_username

  • timestamp_occured

  • transport_protocol

Troubleshooting

For troubleshooting, refer to the vendor documentation:

https://nxlog.co/docs/nxlog-ce/nxlog-reference-manual.html#troubleshooting