Appendix B - Epilog Windows registry configuration description

The purpose of this section is to discuss the makeup of the configuration items in the registry. The Epilog configuration registry key is located at HKEY_LOCAL_MACHINE\SOFTWARE\Intersect Alliance\Epilog, and this location may not be changed. If the configuration key does not exist, the Epilog service will create it during installation, but will not actively audit events until a correctly formatted at least one log monitor is present. 

Epilog can be configured in several different ways, namely:

  • Via the remote control interface (Recommended).
  • By manually editing the registry (NOT Recommended).
    Note manual editing of the registry location is possible, but care should be taken to ensure that it conforms to the required Snare format.  Failure to specify a correct configuration will not 'crash' the Epilog service, but may result in selected events not being able to be read, and the system not working as specified.

    Any use of the web based Remote Control Interface to modify selected configurations, will result in manual configuration changes being overwritten.



The format of the audit configuration registry subkeys is discussed below.

[Config]

This subkey stores the delimiter and clientname values.

AgentLogThis value is of type REG_DWORD and sets the level of tracing sent by the agent.  Values include [0-5] where Fatal (0), Error (1), Warning (2), Info (3), Debug (8), Trace (9).
CachePath
This is the disk cache path where the agent will temporarily save all unsent events if the agent needs to restart. Agent will read and send the events on next start.

Checksum

This value is of type REG_DWORD, and determines whether Epilog includes an MD5 Checksum of the contents of each audit record, with the record in question. Set this value to 0 for no, or 1 for Yes. Will default to FALSE (0) if not set. Note that the checking application will need to strip the final delimiter, plus the MD5 Checksum, from the record before evaluating the record against the checksum.

Clientname

This is the Hostname of the client and is of type REG_SZ. If no value has been set, "hostname" command output will be displayed. Must be no more than 100 chars, otherwise will truncate.

Delimiter

This is of type REG_SZ and stores the field delimiting character, ONLY if syslog header has been selected. If more than one char, only first char will be used. If none set, then TAB will be used. This is a HIDDEN field, and only available to those users that wish to set a different delimiter when using the SYSLOG header. This selection option will not be found in the Remote Control Interface.

FileSizeThis is the maximum generated size of an output file receiving events. The file is rotated upon reaching this maximum.
HeartBeat
This values is the frequency with which a heartbeat is sent, set in minutes.
HeartBeatFileExport
This value determines whether heartbeats are logged to a file. Set this value to 0 for no, or 1 for Yes.
HeartBeatOutputPath
This is the path where the heartbeat messages are exported to, if selected.
HostGUID
This value is of type REG_SZ. Set to the GUID of the specific network card.
HostIP
This value is of type REG_SZ. Set to the IP address of the specific network card.
IISLogFlushThis value is of type REG_DWORD. Enabling this setting will allow IIS to immediately flush all log messages, allowing Epilog to get them.
Separator
Legacy agent setting required to upgrade agents (if it was set to be the identifier to separate events). Defunct for v5 as now set in Destination Configuration.
UpgradePath

This value is of type REG_SZ.  The automatically generated path in which temporary upgrade files are stored.

UseHostIP
If set it resolves the machines IP address from the first wired adapter. It will not resolve wireless IP's at present. Set this value to 0 for no, or 1 for Yes.

UseUTC

This value is of type REG_DWORD and determines whether Snare should use UTC timestamps instead of the local system time when sending events. Set this value to 0 for no, or 1 for Yes. Will default to FALSE (0) if not set.

 

 

[Objective]

This subkey stores all the filtering objectives.

Objective#

(where # is a serial number)

This section describes the format of the objectives. Objectives are of type REG_SZ, of no greater than 1060 chars, and is composed of the following string (the figures in the brackets represent the maximum size of the strings that can be entered):

  General Match[512];GeneralMatchType(DWORD)
    General Match Type: =0 (Include entries that match general search term type; =1 for Exclude)
    The General match term is the filter expression, and is defined to be any value which includes DOS wildcard characters.(Note that these are NOT regular expressions)

NOTE: Semicolons are actually "TAB" characters.

  
[Network]This subkey stores the general network configurations.

CacheSize

This value is of type REG_DWORD, and determines the desired count of events in the memory cache. If this is set then CacheSizeM cannot be altered.

CacheSizeM

This value is of type REG_DWORD, and determines the size of the in memory cache. The value must be between 1 and 1024.If this is set then CacheSize cannot be altered.

CheckTimeNumber of seconds the agent will internally reload its settings, drop and reestablish network connection. Minimum set time is 300 seconds (5 minutes).

Destination1Delimiter

This sub key is of type REG_SZ and is a comma separated list of destinations, which should be a maximum of 100 characters each. It details the IP address or hostname which the event records will be sent (NB: multiple hosts only available in supported agent). See Appendix - Delimiters.

Destination1FormatThis value is of type REG_DWORD and is the format the events are sent to the server as such as Snare (0),SYSLOG RFC3164 (1),SYSLOG Alt (2),CEF (3), LEEF (4) and SYSLOG RFC5424 (5).
Destination1HostThis value is of type REG_SZ and is the IP or hostname of the destination server/SIEM.

Destination1Port

This value is of type REG_DWORD, and determines the Destination Port number. This value must be in 1-65535 range. Will default to 514 if a SYSLOG header has been specified.

Destination1SocketTypeThis value is of type REG_DWORD, and determines the protocol used (0 for UDP, 1 for TCP, 2 for TLS/SSL). This feature only appears in supported agents.
FileOutput1DelimiterThis value ranges from 1 to 255. It includes the path of the files where the events will be stored per format (e.g. Snare, SYSLOG)
FileOutput1FileNameThe path and location of the file the events are sent to.  Multiple files may be set.
FileOutput1FormatThe format to write to the log, either Snare, SYSLOG, SYSLOG Alt, CEF,LEEF
NotifyMsgLimitThis value is of type REG_DWORD having value 0 or 1, and determines whether to send or not the EPS notification to server (1 means send and 0 means not to send) whenever agent reaches EPS RateLimit. This feature only appears in supported agents.
NotifyMsgLimitFrequencyThis value is of type REG_DWORD, and determines the frequency of events per second notification. The value is treated in minutes and only one EPS notification message is sent to server regardless of how many times agent reaches EPS limit during these minutes. This feature only appears in supported agents.
RateLimitThis value is of type REG_DWORD, and determines the upper limit for events per second (EPS) that the agent will send to server. This feature only appears in supported agents.
SyslogDynamicCritic
This value is of type REG_DWORD, and represents the entry DYNAMIC for SYSLOG Priority, for SYSLOG format.
SyslogFacilityThis value represents the SYSLOG facility for SYSLOG format
SyslogPriorityThis value represents the SYSLOG priority for SYSLOG format
  

[Remote]

This subkey stores all the remote control parameters.

AccessKey

This value is of type REG_DWORD and is used to determine whether a password is required to access the remote control functions. It is set to either 0 or 1, with 0 signifying no password is required.

AccessKeySet

This is of type REG_SZ, and stores the actual password to be used, in encrypted format.

Allow

"Allow" is of type REG_DWORD, and set to either 0 or 1 to allow remote control If not set or out of bounds, will default to 0/NO (ie; not able to be remote controlled).

AllowBasicAuth
Only available via the registry. Set to 0 by default. Enable if agent should support basic http authentication in the web UI.

Restrict

This value is of type REG_DWORD, and set to either 0 or 1 to signal whether the remote users should be restricted via IP address or not. 0 = no restrictions.

RestrictIP

This is of type REG_SZ and is the IP address set from above.

WebHttps
Set to 0 | 1 to allow HTTPS (secure session).  Setting this to TRUE (1) requires relevant certificate setup.

WebPort

This value is the web server port, if it has been set to something other than port 6162. It is of type REG_DWORD. If not set or out of bounds, it will default to port 6162.

  
[Log]
 This subsection stores the log monitors
Log# (where # is a serial number)

This section describes the format of the log monitors. Log monitors are of type REG_SZ, of no greater than 512 chars, and is composed of the following string:
Logtype | LogPath
LogType is optional and is used to inform the Snare server how to process the data stream.
The LogPath is the fully qualified path to the log file that needs to be monitored or the fully qualified path to the directory containing date stamped log files of the form "YYMMDD" (in this case a trailing backslash ('\') is required). Spaces are valid, except at the start of the term.