23.2. The InControl Logging Agent (ILA)

A more sophisticated logging facility than Memlog is provided by the proprietary Clavister InControl Logging Agent (ILA). This software component comes with the InControl installation package and functions as an optional separate, independent server for receiving and storing cOS Core log event messages.

The ILA can capture the raw log messages generated by any number of firewalls that are managed by InControl. The ILA log event database can then be analyzed through report generating features integrated into the InControl client. The log messages are sent to the ILA in a proprietary binary file format with the filetype .fwl and these will be referred to as "raw log messages" in this document.

The diagram below shows how ILA fits into InControl usage. Several firewalls can send messages to the ILA and InControl clients manage it, as well as send log queries to it, via the InControl server. All communication between clients and the ILA are mediated by the InControl server. The ILA and the InControl server could be installed on separate computers or the same computer and could be on the same or separate networks.

Creating Multiple ILA Instances

To separate the log messages coming from different firewalls or groups of firewalls, it is also possible to create multiple ILA instances with separate log messages databases. This can be particularly useful in a cloud computing environment. Doing this is discussed in Section 23.3, Running Multiple ILAs. However, reading this section first is recommended to understand basic ILA installation and operation.

ILA Installation

ILA installation can be performed as part of running the InControl installer and can be installed together with the server and client on the same computer. However, the installer also allows ILA to be installed separately on a different computer. components.

The ILA is always installed on the same computer as the files which store received raw log messages. If installed on a separate computer, the ILA must have a network connection to its associated InControl server. This connection can be local or could be made remotely over the public Internet.

More than one ILA installation can be fed by messages from a single firewall. Similarly, one ILA installation can receive log messages from multiple firewalls. This is determined by what log servers cOS Core is configured to send messages to.

ILA Network Communication Uses Port 5555

If the InControl server and the ILA are running on the same computer, there will be no problem with port usage and communication between them.

However, if the ILA runs on a separate computer then that computer must allow incoming TCP and UDP connections on port 5555. TCP port 5555 is used when adding an ILA and/or deploying ILA configurations. UDP port 5555 is used when the InControl server polls the ILA for online status.

ILA Windows Services

The ILA runs as two separate windows services which are constantly running. These two services are:

[Important] Important: ILA services must run under same Windows account

By default, the services LogReceiver.exe and ILA.exe will run under the same Windows user account. This should not be changed. If they run under two different accounts, the ILA will not function.

The reason for having two services for the ILA is to allow the LogReceiver.exe service to be as efficient and robust as possible. If any execution bottlenecks occur in the ILA.exe service, they will not affect log message processing.

If either of the ILA processes stops running for some reason, Windows will wait one minute before it automatically tries to restart the service.

Restarting ILA Services

Unlike the InControl server, the ILA does not have its own graphical user interface to stop or start its Windows services. If the ILA services might not be running then the status should be checked. One symptom is this if the logging agent has a status of offline in the client. Another symptom is if log queries are failing to execute.

To check the ILA services in Windows, open the Windows services management tool. Look for Logging Agent and Log Receiver in the list.

The status for both should be Started if the services are running normally. If the status for either is Stopped then they can be restarted by right clicking the service line and selecting the menu option Action > Start.

Using a Local User Account

Like the installation of the InControl server, if running on a separate computer, it is recommended to use the same, separate, local user account for the ILA installation and running ILA. A local account cannot be logged into remotely, thereby increasing security.

[Important] Important: The ILA service needs administrator privileges

After ILA installation, the Windows service ILA.exe should be run under the local user account and this account should have administrator privileges over the ILA raw log database folder.

Administrator privileges allow the ILA server to create new raw log message files.

Installing Over Older Versions

When installing over an older version of the ILA, there is no requirement for uninstalling the old version first. In addition, the ILA servers does not require that its Windows service is halted first. This occurs automatically.

ILA Server and InControl Server Communication

Communication between the InControl server and the ILA is achieved using the Clavister proprietary, secure Netcon protocol. Netcon requires that an agreed Secret Key is used by both sides of the communication.

By default, the ILA and server use an agreed, predefined secret key. This is displayed in the ILA configuration dialog available through the InControl client and which is discussed later in this section.

If the ILA server is running on the same PC as InControl, the IP address for access is 127.0.0.1.

Configuring cOS Core for ILA Logging

For each firewall, cOS Core should be configured to specify which loggers to send messages to and which messages to send. The term Logging Agent is used to refer to an ILA server.

To specify a new ILA server, first press the Logging Agents button in the ribbon toolbar of the Home tab.

This will open the Logging Agents tab. To define a new ILA server, press the Add button and a new Logging Agent dialog will open.

In the example shown above, a symbolic name of My_ILA_server is given for the server. The IP address is given a default value of 127.0.0.1 (the loopback IP address) which will be correct if the ILA server is on the same computer as the InControl server.

The secret key is unique for each ILA instance and must be filled in manually. The key can be found and copied into the system clipboard by opening the separate Logging Agents Manager application and opening the properties for the ILA instance. The first ILA instance is always called "Default". Using the Logging Agents Manager software is described further in Section 23.3, Running Multiple ILAs and it is installed automatically along with other InControl components.

After clicking OK, this server definition will now appear in the Logging Agents tab.

The Online field indicates that connection to this ILA server by the InControl server was successful. The Locked by field indicates any client that is currently editing the properties of this server.

Editing the ILA Server Configuration

The Logging Agents tab also provides the ability to configure the ILA server since, unlike the InControl server, there is no separate graphical interface for doing this.

This brings up the ILA configuration dialog.

Here, the Management IP is the source IP address for management connections to the ILA server. The management IP address of the ILA server itself is specified in the ILA Properties dialog.

To configure the ILA to accept and store log messages coming from a particular firewall, select the Registered Firewalls tab and press the plus "+" button.

After selection, the chosen firewall will appear in the Registered Firewall list and the IP Address value for the firewall will default to the management IP address of the firewall and this is the address from which the ILA will expect log messages.

If necessary, this address can be changed by selecting the firewall line, pressing the edit button in the dialog and entering a new value, as shown in the example below where the firewall called My_FW will send log messages from the IP address 10.6.40.52.

The ILA configuration dialog has the option to deploy immediately after the dialog closes Alternatively, the deployment can be done using the separate deploy button in this tab's toolbar. Deployment means that the new settings are sent via the InControl server to the ILA server.

If the ILA server configuration has been changed but not deployed, an alarm will be created in the alarm list to indicate this.

Finally, the firewall itself must be configured to send log messages directly to the ILA server. This is done by selecting System then Log and Event Receivers and adding an FWLog Receiver.

The log receiver should be configured with the IP address and port number that is configured for the ILA server. Below, the defaults are specified.

Changing the Secret Key

Changing the secret key of the ILA server is a two-step process where the key has to be changed first on the ILA server and then the local client:

  1. Press the Configure button, change the secret key in the ILA server configuration and deploy the new configuration to the server.

  2. Right-click the ILA server in the server list and select Properties to display the properties dialog. Now, set the secret key to the same value that was deployed to the server in the previous step and close the dialog.

Troubleshooting ILA Setup Problems

Troubleshooting problems with ILA setup and successful operation is discussed further in a Clavister Knowledge Base article which can be found at the following link:

https://kb.clavister.com/324735475

ILA Raw Log Database Management

The ILA raw log database management options are found in ILA configuration dialog. Access this by selecting the ILA server in the Logging Agents tab and pressing the Properties button in the tab's toolbar.

Now select the Log Receiver tab in the dialog.

The following parameters are relevant to the raw log database:

Raw Log Folders and File Naming

As discussed above, ILA keeps raw log messages in files that have a configured maximum size. These files are organized in the following way:

Optimizing InControl Log File Storage

The administrator has various options to best optimize InControl log file storage. These are discussed in a Clavister Knowledge Base article which can be found at the following link:

https://kb.clavister.com/324735449

ILA Logging Without InControl Management

Sometimes there may be a requirement to have a firewall send log messages to an ILA server but not give InControl management rights over the firewall.

When InControl can manage a firewall it means its Netcon Keys have been added to InControl and any InControl client then has the potential to read and change the configuration. If the aim is just to enable ILA logging, then this can be done without giving the keys to InControl using the following steps:

  1. Open the InControl client and select the Firewalls tab.

  2. Add the firewall and give it a name but mark the firewall as being Offline. This means that InControl will not try to contact the firewall.

  3. In the Logging Agents tab, bring up the Configuration dialog of the target ILA server, select the Registered Firewalls tab and add the newly defined firewall.

    If the Log Analyzer function is also to be used, the firewall should be added under the Analysis tab (this can be done later).

    When the dialog's OK button is pressed, this ILA configuration is deployed to the ILA server.

  4. Stop both ILA Windows services. This is done in Windows by starting the utility services.msc in a command console. Locate the LogReceiver and ILA service then stop them. Leave the utility open to restart the service later.

  5. The ILA configuration file ila.xml now needs to be manually altered. This file is located in the following folder depending on the version history of InControl:

    • For an InControl installation that has been upgraded to InControl version 1.83 or later, the file is located within the path %appdata%\Clavister\InControl\LoggingAgent\Config. Where %appdata% represents the user account that performed the initial installation of InControl.

    • For a new installation of InControl from version 1.83 or later, the file can be found within the path %programdata%\Clavister\InControl\LoggingAgent\Config.

    Under the above path's Config folder is a separate configuration files folder for each logging agent instance that has been created and with the name of that instance. If no extra instances have been created then only the default folder called Default will exist within the Config folder.

    After opening the relevant ila.xml file in a text editor, change the firewall's IP from the default of 0.0.0.0 to the actual IP address of the firewall. Save this change.

    Every time the a new ILA configuration is deployed, this setting will be reinitialized to 0.0.0.0 and this step must therefore be repeated.

  6. Now restart LogReceiver and ILA services then close the services.msc utility.

In a later version of InControl these steps will not be required and it will be possible to enable this option through a simple checkbox selection.