When you configure Microsoft IIS to send logs through NXLog to USM Anywhere, you can use the Windows IIS NXLog plugin to translate the raw log data into normalized events for analysis.
|Device type||Web server|
|Vendor link||Collecting Windows System Logs|
Before you configure Microsoft IIS to send logs to USM Anywhere through NXLog, you need to first configure logging on IIS.
To configure logging at the server level
- Open the IIS Manager.
- In the Connections tab, select the server and double-click the Logging icon.
- Under One log file per, select Site.
Under Log File, click Select Fields to choose the information you want to log.
Make sure to match the following screenshot because the plugin will look for these fields:
If using the IIS-NXLOG-Extended configuration provided by AT&T Cybersecurity (See "Configure NXLog" below for more information), you also need to complete these steps:
- Select Bytes Sent (sc-bytes), Bytes Received (cs-bytes), and Host (cs-host).
- Add the x-forwarded-for field, and then click Add Field and fill in the information as shown:
- Click Apply.
Before you configure the integration, you must have the IP address of the USM Anywhere Sensor.
To install NXLog CE and configure forwarding
- Download the newest stable NXLog Community Edition.
- Make a backup copy of the original C:\Program Files (x86)\nxlog\conf\nxlog.conf file and give it another name.
- Download the NXLog configuration for USM Anywhere and save it as your new nxlog.conf file.
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.
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.To Use UDP
Keep the defaults and move to the next step.To Use TCP
To Use TLS
- Replace define OUTPUT_DESTINATION_PORT 514 with define OUTPUT_DESTINATION_PORT 601.
In <Output out>, replace Module om_udp with Module om_tcp.
Note: If you are collecting logs from other products as detailed in the next step, you must modify the Output settings in the corresponding section as well. For example, if you are collecting logs from Microsoft Internet Information Services (IIS), you will need to update the <Output IIS_OUT> section too.
- First, you need to download the certificate from USM Anywhere, and place the file USM-Anywhere-Syslog-CA.pem in C:\Program Files (x86)\nxlog\cert.
In the nxlog.conf file, add define CERTDIR %ROOT%\cert after the last define statement.
- Replace define OUTPUT_DESTINATION_PORT 514 with define OUTPUT_DESTINATION_PORT 6514.
In <Output out>, complete these steps:
- Replace Module om_udp with Module om_ssl.
Add these two lines:
Note: If you are collecting logs from other products as detailed in the next step, you must modify the Output settings in the corresponding section as well. For example, if you are collecting logs from IIS, you will need to update the <Output IIS_OUT> section too.
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.
- To collect logs from the Microsoft IIS, uncomment the section between IIS-NXLOG and /IIS-NXLOG.
If you want to collect additional fields, such as cs-host, sc-bytes, cs-bytes, and x-forwarder-for from the IIS log, uncomment the IIS-NXLOG-Extended section instead.
Important: Do not uncomment both sections because it will generate duplicate events in USM Anywhere.
- Save the file.
- Open Windows Services and restart the NXLog service.
- 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.
The Windows IIS NXLog plugin automatically processes all messages when the raw message contains SourceModuleName":"IIS_Logs, SourceModuleName":"IIS_IN, or SourceModuleName":"IIS_Extended_IN.
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.
For troubleshooting, refer to the vendor documentation: