Custom MPE Rules Using Regular Expression - Student
Custom MPE Rules Using Regular Expression - Student
v1.3
© LogRhythm, Inc. All rights reserved.
This document contains proprietary and confidential information of LogRhythm, Inc., which is protected
by copyright and possible non-disclosure agreements. The Software described in this Guide is furnished
under the End User License Agreement or the applicable Terms and Conditions (“Agreement”) which
governs the use of the Software. This Software may be used or copied only in accordance with the
Agreement. No part of this Guide may be reproduced or transmitted in any form or by any means,
electronic or mechanical, including photocopying and recording for any purpose other than what is
permitted in the Agreement.
Disclaimer
The information contained in this document is subject to change without notice. LogRhythm, Inc.
makes no warranty of any kind with respect to this information. LogRhythm, Inc. specifically disclaims
the implied warranty of merchantability and fitness for a particular purpose. LogRhythm, Inc. shall not
be liable for any direct, indirect, incidental, consequential, or other damages alleged in connection with
the furnishing or use of this information.
Trademark
LogRhythm is a registered trademark of LogRhythm, Inc. All other company or product names
mentioned may be trademarks, registered trademarks, or service marks of their respective holders.
LogRhythm Inc.
4780 Pearl East Circle
Boulder, CO 80301
(303) 413-8745
www.logrhythm.com
LogRhythm Platform 3
Metadata Processing 6
Unidentified Logs 8
What Is RegEx? 10
RegEx Resources 11
RegEx in LogRhythm 13
Exercises 15
Literal Characters 23
Positional Characters 24
Matching Characters 27
Character Sets 29
Repetition Characters 31
Character Groups 33
Optional Matches 35
Reserved Characters 36
Exercises 39
Exercise 2: Write a RegEx that does not Match Certain Numbers or Letters 41
Capture Groups 58
Exercises 65
Processing Settings 78
Catch-All Rules 84
Test Center 86
Exercises 105
Exercise 5: Challenge: Create a New MPE Rule with less instruction 131
Sub-Rules 140
Exercises 175
Exercises 211
Glossary 229
What Is RegEx? 10
RegEx Resources 11
RegEx in LogRhythm 13
Exercises 15
Exercise 1: Review Questions 16
The image above illustrates the LogRhythm Platform. This course is focused on the processing of log
data, as outlined in red in the image. While this is a small piece of the work that LogRhythm performs, it's
imperative that processing is done correctly to allow for analysis and output of the data.
LogRhythm processes log data according to rules and policies specified for each Log Source. In this
course, we will review the message processing rules and policies, how they function, and how to create
custom rules and policies for custom Log Sources.
Before a log can be processed, LogRhythm must know from what device the log is coming and how it
should be processed.
Every log is associated to a single Log Source which LogRhythm uses to determine the origin of that log
message. A Log Source is a unique supplier of log data collected from a host. Hosts can have one or
more Log Sources.
A Log Source Type is assigned to each Log Source. Log Source Types are used to group logs that come
from common hardware types, have the same data format, and have the same processing rules applied.
A Log Source Type is also assigned to rules defined in the Log Processing Policies. These assigned Log
Source Types enable LogRhythm to determine which Log Processing rules are applied to each log
message. Assigning the Log Source Type improves processing performance because those logs are only
processed against rules for that Log Source Type; rules for other Log Source Types are automatically
skipped.
Log Processing Policies, or Message Processing Engine (MPE) policies, determine which Log
Processing Rules will be applied to a Log Source for processing and how matching log messages are
managed. The policies dictate how long the log remains online for reporting, known as Time-To-Live
(TTL), if the log should be archived, and if a copy of the log should be forwarded to the Platform Manager.
Log Processing Rules, also known as MPE Rules, are applied to each log message to parse data. The
MPE Rules are records associated to specific Log Source Types with an assigned Common Event,
Base-rule regular expression, Sub-rules, and other processing and policy settings used for processing
logs.
In summary, each Log Source is assigned a Log Source Type, which is associated to a Log Processing
Policy (MPE Policy). The Log Processing Policy contains Log Processing Rules (MPE Rules) which are
applied to all Log Messages received from the associated Log Source.
Logs flow from the Log Sources to the System Monitors which then forwards the logs to the Data
Processor (DP). Logs are processed by the Message Processing Engine (MPE), contained on the DP.
The log messages are processed by applying the MPE Rules enabled within the MPE Policy for the Log
Source where the log originated. LogRhythm utilizes multiple log processing threads that can execute at
the same time, making the MPE capable of processing thousands of messages per second.
During processing, LogRhythm parses, calculates, and derives metadata from log messages.
LogRhythm metadata fields store network and host information parsed from the log message. The
metadata fields go into a database to help speed performance when you use the LogRhythm search tools,
the Personal Dashboard, and Reporting.
Example
Raw Log:
After processing this log, the following information is available in LogRhythm: derived metadata and
parsed metadata.
This information is not explicitly contained in the log message, but is derived based on contents of the log,
the associated Log Source Type, and the defined MPE Rule properties.
This information is referred to as contextual metadata. This metadata is contained in the log message.
LogRhythm is able to process log messages, deriving and parsing this information, using regular
expression pattern matching. We refer to these regular expressions as MPE Rules.
MPE Rules are records associated to specific Log Source Types with a common event, base rule regular
expression, sub rules, and other processing and policy settings used for processing logs. The MPE Rule
Builder, a tool available in the LogRhythm Client Console, is used to view, create and edit new MPE
base rules and sub-rules.
Pictured below is the regex rule, as seen in the MPE Rule Builder, used to process the log shown above:
The MPE processes collected logs against the regular expression rule to:
The number of messages a deployment can process per second is measured by the MPS. The speed at
which a log is processed can greatly affect the performance of LogRhythm. This is important to remember
when we begin building custom regex rules later in the course. Poorly written regexes in MPE Rules can
directly impact performance and cause the published MPS to fail.
If LogRhythm is unable to identify a log, a new custom MPE Rule will need to be created to identify,
process, and parse data from that log. Unidentified logs, or metadata that is not parsed correctly from
logs, is the reason for this course.
Deployment Monitor
LogRhythm uses regular expression (regex) rules for identifying and processing log messages. RegEx
rules find and parse metadata from log messages. So, what is regex? RegEx is a line of code that defines
a pattern that will be compared against a string of text (any string) and will return “true” if the pattern
matches the string, or will return “false” if it does not match the string.
A regex is:
According to Wikipedia: A regular expression, regex or regexp (sometimes called a rational expression)
is, in theoretical computer science and formal language theory, a sequence of characters that define a
search pattern. Usually this pattern is then used by string searching algorithms for "find" or "find and
replace" operations on strings. Regular expressions are used in search engines, search and replace
dialogs of word processors and text editors, in text processing utilities such as sed and AWK and in
lexical analysis. Many programming languages provide regex capabilities, built-in, or via libraries.1
The text book definitions above are correct, but simply put, using regex is like a foreign language. The
more you practice using it, the better, and more fluent you'll become in speaking and writing this language.
[aeglru]{7}\s[einsprsx]{10}
In this course, you'll learn to read it and understand that it could be translated to read:
Regular Expression
1https://en.wikipedia.org/wiki/Regular_expression
Today in class we will utilize some online resources to help you learn about Regex, before we start using
Regex in LogRhythm.
This website provides detailed information about regex, and can provide additional information about
using regex:
http://www.regular-expressions.info/
This website provides a quick reference for regex including symbols, ranges, grouping, assertions and
some sample patterns to get you started.
https://www.cheatography.com/davechild/cheat-sheets/regular-expressions/
This website has a great testing tool that will be used during this training class to test your regex to make
sure it actually matches the intended data:
https://regex101.com/
Notice the list of Regex Flags. We will use the global, multi line, and insensitive flags today.
The regular expression, pictured above, was used to read and parse the metadata in the Log Information
pictured below.
Metadata fields are searchable within LogRhythm and become powerful when used in searches, alarms,
and reports. The metadata captured by an MPE Rule can be user defined, however those custom
metadata fields can not be used as filters in searches, alarms, and reports.
The purpose of this exercise is to check your knowledge of the information presented in this chapter.
1. True or False.
2. ___________________________ are used to group logs that come from common hardware types, have
the same data format, and have the same processing rules applied.
b. Log Sources
c. MPE Rules
d. Data Processors
b. Metadata
c. MPE Rules
d. Data Processors
4. LogRhythm is able to process log messages, deriving and parsing metadata information, with the use
of ___________________________________________________________________________________.
The purpose of this exercise is to practice using the regular expression test tool. We've not yet learned
how to read or write regular expressions, but we'll be using a test tool throughout the remainder of the day.
This exercise will allow you to explore the tool and learn how it is used.
1. From you personal workstation, open a browser window and navigate to the regex testing tool
located at: regex101.com
2. Copy and paste the following regex into the Regular Expression text box found at that site:
^\d\d\d \w\w\w\w\s\D\D\D\D\D\D, \w\w\w\w\w$
3. Copy and paste the following data string into the Test String text box.
123 Fake Street, 90210
4. Review the panel on the right-side of the window. If the test tool was able to successfully match
the patten of the string, you should see a message indicating a Full Match was made in the Match
Information panel. Your screen should look like this:
a. If you do not see a Full Match of your pattern, you may have copied an extra space, or
missed pasting a character, in one of the strings. Try again until your screen looks like the
image above.
5. Scroll down in the Explanation panel on this website. Review the list of characters and the
description of the characters it will match. Become familiar with the regex characters matched in
this example.
6. Delete the existing text in the Regular Expression field. Paste this regex in the Regular
Expression field:
^\w\w\w\W\w\w\w\w Street, \S.\S.\S$
This information can help verify the speed or performance of your rule. The faster the better. The less
steps the more efficient. Less efficient rules will ultimately impact the performance of the Data Processer
in LogRhythm.
Regular Expressions are sets of code used to compare a structured format against an actual line of text. It
can determine if the structured format matches the provided string of text.
Regular Expressions use characters to represent patterns of data in a string. In general, regular expres-
sions are written to read the text from left to right. They try to match characters in the text in the order
defined by the pattern matching format. After finding the start of the match, the engine continues to match
until it hits a character that is not matched by the pattern.
The most simple regex pattern consists of a single character. Regex will look at a string until that one
character is matched.
Example
Regex: a
Input String: It's all good all the time.
Text Matched: a The regex stops searching for matches after it finds the first match. It will not
match the second "a" in the string, unless explicitly written to do so.
Example
Regex: all
Input String: It's all good all the time.
Text Matched: all The regex stops searching for matches after it finds the first match. It will not
match the second "all" in the string, unless explicitly written to do so.
Note: Regular Expressions by default are always case sensitive, however LogRhythm has
configured it's engine to ignore case for ease of use. Characters are not case sensitive in the
LogRhythm RegEx Engine.
All characters used in a Regular Expression, that are not special characters, are interpreted automatically
by regex as literal characters.
Example
The regex “boo” would literally match any 3 letter combination containing the letters “b” “o” “o” in a
row such as:
Boo
boomerang
taboo
Example
The regex “1000” would match any string with “1000” in it, such as:
1000
1000000
01010001000
Positional characters, also referred to as anchors, match a position in the string, not an actual character
like a literal. The positional characters are used to specify where to start and where to end the match.
^ Indicates the left most position in the string; the beginning of a line.
$ Indicates the right most position in the string; the end of a line.
Let's review the same example from before adding the ^ positional character at the beginning of the
regular expression.
Example
A regex of “^boo” would match any 3 letter combination containing the letters “b” “o” “o” in a row
starting at the beginning of a string:
boo
boomerang
taboo (no match; boo is not positioned at the beginning of the string)
Example
A regex of “^boo$” would match any 3 letter combination containing the letters “b” “o” “o” in a row
starting at the beginning of a string and ending at the end of the string.
boo
boomerang
taboo
Example
A regex of “^1000$” would match any 3 letter combination containing the numbers “1” “0” “0” “0” in a
row starting at the beginning of a string and ending at the end of the string.
1000
1000000
01010001000
While literal characters look to match the exact characters, matching characters, also known as
metacharacters, have special meanings. Matching characters represent other characters.
The matching characters are significant in regex because you likely will not know the exact data string to
be matched, but the will know the pattern of the data string to be matched. Matching characters indicate
specific types of characters to be matched in a string. Matching characters allow for great flexibility in the
pattern of the regex.
Example
The character \w will match all the alpha numeric characters (a through z and 0 through 9) and the
underscore _ character.
Regex: \w
Input String: Hello World!
The regex matched the first occurrence of any alpha numeric character.
Example
Regex: \w\w\w\w\w\s\w
Input String: Hello World!
The regex matched 5 consecutive alpha numeric characters and one space followed by an
additional alpha numeric character.
Note: Using the \s character instead of a literal space character can be helpful in determining
that a space actually exists in the regex. Some font types make it difficult to determine if a space
has been typed or not.
Example
Regex: ^\d\d\d \w\w\w\w\s\D\D\D\D\D\D, \w\w\w\w\w$
Input string: 123 Fake Street, 90210
Note: Because \w matches a huge list of characters, using [a-z0-9] character sets will perform
substantially better. We'll review character sets and performance efficiency later in this course.
[A-D] Matches any one character contained in the [A-Z0-9] matches any one
range of A through D alphanumeric character
Specifying a range of characters can only be [^0-4] matches any one
done in character sets character except 0, 1, 2, 3, or 4
Using a character set, or character class, enables the regex to match only one out of several characters.
Enter the character set between square brackets, and the regex will match one of the specified
characters.
Use the ^ as the first character inside the square brackets to match anything except the characters
specified inside the square brackets.
Example
Regex: gr[ae]y
Will match either the word gray or grey
Example
Regex: 8030[^5-9]
Will match an area code from 80300 to 80304.
Will not match area codes from 80305 to 80309 because it will match anything except this range
Example
Regex: [al]{3} (Means match 3 "a" and/or "l" letters in a row)
Input String: It's all good all the time.
Text Matched: all The regex stops searching for matches after it finds the first match. It will not
match the second "all" in the string.
Example
Regex: [A-Z]{3} (Means match 3 letters in a row)
Input String: 123 ABC 456 DEF
Text Matched: ABC Regex stops searching for matches at the "space" which is not included in the
pattern. It will not match DEF.
Example
Input string: 123 Fake Street, 90210
Input string: 45678 Fake Street Lane, 80304
Matching regex: ^\d+\s+.*,\s+\d+$
| Logical OR operator
A set of parentheses ( ), or round brackets, is used to group a portion of regex together. The open paren-
thesis, (, is a reserved character used to represent the start of a group of characters. The close paren-
thesis, ), is a reserved character used to represent the end of a group of characters.
These groups are often used with repetition characters to apply a quantifier to the entire group.
Match a group of text that repeats one or more times, using the + repetition character
Example
Regex: (\d\d\s\d\d\s\d\d\d\d\s)+
Match an optional group of text zero or one times, using the ? repetition character
Example
Regex: (logrhythm\\)?\w+
Example
Regex: Flavou?r
Example
Regex: User (\w+\\)?\w+ logged in
\ Escape character
^ Beginning of a line
$ End of a line
| Logical OR operator
Example
Use reserved characters to perform a function
Regex:22$
Will match the characters 22 at the end of a line
My new T-shirt cost $22
Example
To match a reserved character, escape it.
Regex: \$22
Will match the $ and 22 as a literal characters
Input String: My new T-shirt cost $22
Example
^10\+200 would match 10+200
^\$1000 would match $1000
^c:\\finance would match c:\finance
Characters Function
(|) OR statement
The purpose of this exercise is to practice writing and testing regular expressions.
For training purposes, we will use a regex testing tool on a third party web site. LogRhythm does not
endorse this site or any other regex web site. If you know of a regex testing tool that you prefer, please
feel free to use it. However, for this course we will continue to refer you to the following site:
Regex101.com
Input String: Robert, Janet and Joseph went to the grocery store.
1. Create a Regular Expression that matches the whole string, but only match the comma "," and the
word "and" using literal characters.
Hint
There are multiple ways to accomplish this task.
The purpose of this exercise is to practice writing and testing regular expressions.
Input String:
Regular Expression:
Hint
There are multiple ways to accomplish this task.
\D matches any non-digit, \d matches any digit
The purpose of this exercise is to practice writing and testing regular expressions.
Input Strings:
Regular Expression:
1. Create one Regular Expression that matches all three strings but only uses literal characters for the
word “is” and the word “day”; do not use literals for any other characters in the string.
Enter the string and work on a regex until you get a complete match for all three strings
Hint
There are multiple ways to accomplish this task.
The purpose of this exercise is to practice writing and testing regular expressions.
Input String:
Regular Expression:
1. Create a character set that will match only the characters used within the string.
Hint
There are multiple ways to accomplish this task.
Be sure to use the escape character to ensure “.” is recognized as a Literal, instead of it
matching any character.
The purpose of this exercise is to practice writing and testing regular expressions.
Input Strings:
303-555-1212
(303) 123-LOGS
800-911-HELP
Regular Expression:
Hint
There are multiple ways to accomplish this task.
The ? character will match the previous item once or not at all (Optional).
Verify your Regex Flags are set to account for multiple lines of text.
The purpose of this exercise is to practice writing and testing more advanced regular expressions.
Complete as many Challenges as you are able.
Challenge One:
Input Strings:
Regular Expression:
Hint
Use an OR condition in a Character Group. (this|that|the other)
Regular Expression:
1. Create one Regular Expression that matches all three strings by using the following:
A Character set [ ] with the “^” not operation that matches the Session ID value.
Character groups ( ) to match “started”, “ended” and “terminated” as literal characters.
Hint
Use an OR statement.
Review the Character Set and Character Group topics for more information.
(719) 555-1212
1-719-555-1212
+1 719 555-1212
Regular Expression:
Hint
Review the Repetition Characters and Character Groups topic for more information.
Regular Expression:
Hint
Review the Repetition characters topic for more information about matching a specific number of
characters.
Use a Character Group inside a Character Group to handle the “special order” condition.
Use ? to ignore the presence of the “special order” substring by putting it in a Character Group.
2/16/2009 2:13 AM
Regular Expression:
Hint
Review the Repetition Characters topic for more information about matching a specific number
of characters.
Exercises 65
Exercise 1: Reading Regular Expressions 66
In this chapter we'll build upon our basic knowledge of writing regular expressions. We'll introduce
additional regex characters, learn how to improve the efficiency of regular expressions, how to capture
information into metadata fields, and begin to match patterns contained in log messages.
In essence, we'll learn how LogRhythm is able to quickly process the log messages into usable metadata
fields.
Quantifiers, sometimes referred to as qualifiers, are used to specify matching the preceding character
zero or more times. Quantifiers specify how many times a character must be present in the string for a
match to be found.
The *, +, ?, {, and } characters are interpreted as quantifiers, unless they are included in a character
group.
There are two types of quantifiers used in regex to find additional matches:
Greedy quantifiers: will stop searching only after the maximum number of instances of the
pattern is satisfied. It wants to find as many pattern matches as possible.
o The two repetition characters * and + are, by default, greedy because they inherently specify
an unlimited number of matches.
l The * can be too "hungry" for more data and cause a rule to become less efficient. You
may need to tell it to stop searching for matches using the non-greedy quantifier.
Non-greedy quantifiers: (also referred to as lazy) will stop searching as soon as the minimum
number of instances is satisfied. It wants to find as few matches as possible. A ? is added to the
greedy quantifier to limit the number of matches to the minimum, in effect making it non-greedy.
The ? tells it to stop after the minimum number of matches is found.
o The non-greedy quantifier is generally only a concern for the regex character . which will
match anything.
o You'll almost always use the non-greedy quantifiers .*? or .+? instead of just .* or .+ .
Example
Non-Greedy Regex: ^.*?
Input String: 02/28/2007 16:55:22 MsgID=1590 : Failed authentication for user joe.jonas user
account locked out
Example
Greedy Regex: ^.*user\s
Input String: 02/28/2007 16:55:22 MsgID=1590 : Failed authentication for user joe.jonas user
account locked out
Example
Non-Greedy Regex: ^.*?user\s
Input String: 02/28/2007 16:55:22 MsgID=1590 : Failed authentication for user joe.jonas user
account locked out
In this example it is appropriate to use the greedy qualifier because the non-greedy option would not
have matched the entire ID number
When information is grouped, regex will automatically capture that information in memory for reuse.
These are called capture groups.
Example
Example
Example
The following regex uses a named capture group to extract metadata from a log message.
In this regex:
EVID: indicates a literal match of characters in the string.
The ? character at the beginning of the group says to name the group as specified by the information
contained inside the angle brackets, <vmid>, and regex uses these characters \d+ to match the
text contained in the string.
This is how LogRhythm uses named capture groups to parse matching data contained in log messages
into metadata fields.
The LogRhythm tags are responsible for putting the information matched in the string into its associated
metadata field. LogRhythm parses information from logs using associated tags in regular expressions.
Pictured below is a sample of metadata fields, their associated tags, and the default regex used to match
data. These tables can be found in the LogRhythm MPE Rule Builder Parsing Guide.
Example
The tag <login> uses the default regex value \w+ to parse information into the User (Origin)
metadata field.
The tag <sender> uses the regex value [^\s]+@[^\s]+ to parse information into the Sender
metadata field.
The fields in the tables in the LogRhythm MPE Rule Builder Parsing Guide are grouped according to their
appearance in the Web Console. If you do not see a field in the Web Console under the same tab as the
LogRhythm MPE Rule Builder Parsing Guide, you may have flagged the field as a favorite, in which case
the field will appear in the Favorites tab instead.
Example
The image below is taken from LogRhythm. Using this simple regex, EVID:<vmid>, LogRhythm is
able to match the 0044 ID number and capture it into the VMID metadata field.
An overloaded tag uses the standard regex format for Named Capture Groups: (?<name>regex).
The ? at the beginning of an overloaded tag, in LogRhythm, says to replace the default regex for the
<tag>, and use these specified regex characters instead, to match the text in the string.
Overloading Example
By default in LogRhythm, the <login> tag uses the value \w+ .
This tag would not match the login of James.Hendrix. James might be parsed, and Hendrix might be
parsed, but not the . character. This would lead to incorrect login information parsed from log messages.
Because you can’t predict every variation of a login name, you can overload the tag to match different
login formats:
JamesHendrix
JHendrix
JamesH
James.Hendrix
Overloading the regex syntax for a tag would look like this: (?<login>.*?). Which says, instead of
using the default regex, \w+, use the regex .*? to match characters for the <login> value. The .*? will
match any character zero or more times and then stop at the end of the pattern; remember it is non-
greedy.
will not properly parse the correct data out of the log message.
is not the optimal regex from a performance perspective.
The value parsed for login would be john and the value for object would be AnnualReport. The
period is not a word character and the default regex of \w+ would only match up to the period. This
default regex should be replaced and the new regex should be:
Important!
Do not ever overload these tags in LogRhythm:
<sip>, <dip>, <snatip>, or <dnatip>
These tags use explicitly written regex patterns to specifically match IPv4 and IPV6 addresses.
The purpose of this exercise is to practice reading a regular expression to better understand what it will
match.
User\s(?<login>.*?)\s
2. Would the regex match the user name contained in each of the logs listed above?
3. Would this regex match the entire string of data contained in each of the logs listed above?
________________________________________________________________________________
3. Review the document. On what page does the Regular Expression Characters and Practices
section begin?____________________________________________________________________
5. Locate the Subject metadata field in the Display Field. What is the Description?______________
________________________________________________________________________________
6. What is the Default Regex of the Subject Display Field, and what pattern will that match? ______
________________________________________________________________________________
_______________________________________________________________________________
Object __________________________________________________________________________
Object Name _____________________________________________________________________
IP Address (Origin) ________________________________________________________________
Hostname (Impacted) ______________________________________________________________
User (Origin) _____________________________________________________________________
1. What information can you identify in this log, that you would probably want to be parsed? ________
________________________________________________________________________________
2. How would you know which IP address is the origin of activity and which is the impacted
IP address?
________________________________________________________________________________
________________________________________________________________________________
3. The following metadata was parsed from the log; however the information highlighted in the image
is not included in the log message.
0011
192.168.1.26
172.10.1.20
User023
c:\Program Files\ConfigFile021.ini
09fbd070-d4cd-40bd-a92a-6167ebac69fd
1. What are the associated metadata fields for the data listed above? _________________________
________________________________________________________________________________
2. What tags would have been used in the regular expression to parse the data into the metadata
fields? __________________________________________________________________________
The purpose of this exercise is to practice writing regex for use in LogRhythm.
1. What Tag would be used to parse the Account's name from this log? ________________________
2. What is the Default Regex used by LogRhythm for that tag? ______________________________
4. Will this regex match and capture the entire Account name in the metadata field?_______________
5. Write an example of an Overloaded Tag that would be used to capture Account names in the
format found in the log above.________________________________________________________
6. What other tags might have also been used in the regular expression to parse the data into the
metadata fields? __________________________________________________________________
________________________________________________________________________________
The purpose of this exercise is to practice writing regex for use in LogRhythm.
1. What Tag would be used to parse the Sender's name from this log? ________________________
2. What is the Default Regex used by LogRhythm for that tag? ______________________________
4. Will this regex match and capture the entire Sender name in the metadata field?_______________
5. What tag would be used to parse the Subject from this log? _______________________________
7. Will the default regex for that tag match and capture the entire Subject text found in the log
message?
________________________________________________________________________________
8. Write an example of an Overloaded Tag that would be used to capture the Subject text in the
format found in the log above.________________________________________________________
9. What other tags might also be used in a regular expression to parse data into metadata fields?
________________________________________________________________________________
________________________________________________________________________________
Would these tags need to be overloaded or would the default regex parse the data correctly?
________________________________________________________________________________
Processing Settings 78
Test Center 86
General RegEx Tips 88
Writing RegExes For Use In LogRhythm 89
Considerations For MPE Rule Creation 92
Steps To Create New Base-Rules 93
Walk Through Example Part One: Creating A Base-Rule 95
Exercises 105
Exercise 1: Access the LogRhythm Training Environment 106
Exercise 5: Challenge: Create a New MPE Rule with less instruction 131
Custom MPE Rules Using Regular Expression │ Creating Custom MPE Rules 73
The MPE Rule Builder
In the previous chapters we learned how to read and write regular expressions because that is how
LogRhythm processes logs. LogRhythm's Message Processing Engine (MPE) processes each log
message using the regexes specified in the many MPE Rules written for many different Log Source
Types.
In the next few chapters we will learn how to create regular expressions for use in LogRhythm. MPE
Rules can be viewed and created in the MPE Rule Builder tool. The LogRhythm engineering team uses
this tool to develop MPE Rules available out-of-the box, also known as "System" rules. LogRhythm
administrators can use this same tool to develop and deploy "Custom" MPE Rules. LogRhythm analysts
can also use the MPE Rule Builder tool to develop new MPE Rules, however analysts can not deploy
their rules into production.
In this course, you will use the MPE Rule Builder to view, create, and edit custom MPE Rules. The MPE
Rule Builder is located in the Client Console under the Tools menu by selecting Knowledge > MPE Rule
Builder.
General Settings
Processing Settings
Default Policy Settings
Log Message Source Type Associations
Base-rule Regular Expressions
The Test Center
The General settings area in the MPE Rule Builder is where you'll begin. Enter a Rule Name and select a
Common Event for your new custom MPE Rule.
Rule Name
When naming a rule, follow these accepted best practices:
Use the VMID in the rule name. When the matching log message contains a vendor message ID
such as an event ID in Windows Event Logs, it is good to include the ID in the name of the rule.
This makes searching for the rule easier and also makes the rule more descriptive of the log that it
matches.
Use the service in the rule name. If the rule matches a log from a system that generates logs for
a wide variety of services, such as the Windows Application Event Log, the service that generated
the log message should be included in the rule name.
All rule names should contain a brief description of the action described by the log. For
example: EVID 528 : Failed Authentication : Bad Username or Password
Common Event
MPE Rules are assigned a Classification and Common Event that describes the activity contained in the
associated log messages. Using the Common Event Manager found in the MPE Rule Builder tool,
you can view the complete list of more than 29,000 Common Events. When creating custom MPE Rules,
use your best judgment to select a Common Event that matches the description of the activity occurring
in your log messages.
Important!
Do not create new Common Events. LogRhythm recommends using one that exists in the list.
Rule Status
There are three statuses used in the MPE Rule Builder:
Development: While creating new rules, they should be set to Development status
Test: This allows the rule to be applied to log messages by the MPE for testing purposes, but:
o The logs that match this rule will not show in the Personal Dashboard
o Alarms will not be triggered based on logs that match the MPE Rule
o The MPE Rule will be automatically disabled by the MPE after one of the following
conditions is met:
l The MPE Rule was successfully tested against 1000 log messages
l The MPE experiences performance issues while processing logs against the rule
l Review the scmedsvr.log file for messages about performance issues
Production: This allows the rule to be applied to log messages by the MPE in LogRhythm
o The logs that match the MPE Rule can be displayed in the Personal Dashboard
o Custom MPE Rules can be edited, even in Production mode; however System MPE Rules
(created by LogRhythm) can not be edited
You might recall seeing some of these same "flags" used, at the regex101.com web site, to specify
additional regex options for reading multiline strings and case sensitivity.
The last few lines in the Processing Settings tab contain drop-down boxes to aid in identifying the host or
application found in a log. These options assist in determining the Source and Destination context. There
are a couple of options in each drop-down box that help determine if tags are used in the regex and how
the tags are handled.
Note: The stored value for the host fields are often derived from values parsed from IP address
and hostname tags. For example, the value parsed for the Source IP tag is stored in the Host
(Origin) field , and the value parsed for the Destination IP tag is stored in Host (Impacted) field.
However, system logs do not consistently store the origin/source or impacted/destination values
in the same respective parsing field, as is often the case for network devices reporting on
network flow data.
The Policy Settings are used by the MPE to aid in data management. The options in the Default Policy
Settings tab in the MPE Rule Builder are not selected by default. These options can be selected here,
however, these settings are almost always overwritten by the settings in the Log Processing Policies
tab in the Deployment Manager in LogRhythm. We will configure these settings using the MPE Policy
Rule Editor instead.
LogRhythm supports, and has already created, Log Source Types for hundreds of Log Sources. Log
Source Types identify the device or application from which these logs are generated. When creating a
new custom MPE Rules, you must associate a Log Source Type with your new MPE Rule. Selecting the
correct Log Source Type is critical when adding new MPE Rules.
Use the scroll bar to review the Log Message Source Type Associations list. The list of Log Source
Types is divided by log collection method and device type. You'll see entries for the following types of
logs: API, Flat File, J-Flow, LogRhythm, Microsoft Event, MS Windows, Netflow, OPSEC LEA, SNMP
Trap, Syslog, UDLA, VLS, and more.
When you locate a valid Log Source Type that correctly matches your log collection method, click to
place a checkmark inside the box to associate it your new MPE Rule.
In the MPE Rule Builder, the Base-rule Regular Expression tab is used to enter the regex for your new
custom MPE Rule. In general, Base-rules identify log messages by matching the metadata fields to a
specific log format or pattern. Base-rules contain a tagged regular expression used to identify the pattern
of a log and isolate interesting pieces of metadata. Using tags, these data strings can be directed to
metadata fields.
The image above shows a Base-rule regular expression. The LogRhythm tags used for the named capture
groups are automatically highlighted in red.
Scratch Pad
The Scratch Pad tab can be used while writing new regular expressions. Use it to copy and paste parts of
your regex, or another similar regex you'd like to borrow from, before entering it in the Base-rule Regular
Expression tab.
Catch-all rules can be created to process log messages, which you have not identified yet, that could
possibly be received from this same Log Source. Perhaps the log is in a different format, or contains
different message verbiage; the Catch-all rule will still be able to identify the log and parse some common
metadata.
If the vendor creates a new ID or Message in their logs, the Catch-all would be able to identify the log, and
you could then create a new rule to capture that new piece of metadata created by the vendor. You should
monitor for the occurrence of Catch-all rules and can create new rules to parse important information, as
needed. Catch-all rules will be named as such, by default, and you should use the same format when you
create new Catch-all rules to ensure consistency in reporting and searching:
Note: Catch-all rules created by LogRhythm often contain Levels 1-4 in the rule name. These
Levels are no longer used; however, you will still see some of the original Catch-all rules with
that naming convention.
Example
For this Windows Event Log message:
5/11/2010 1:35 PM TYPE=Information USER= COMP=XENON SORC=Windows Update
Agent CATG=Installation EVID=18 MESG=Installation Ready
The Catch-all rule will parse the TYPE, USER, COMP, SORC, and EVID from this log. The MESG
verbiage contained in this log does not match any of the options contained in the regex rule, so a
new rule would need to be created to collect the MESG information from this log message.
The Test Center is key to building new MPE Rules. You'll use the Test Center tab to verify your regular
expression successfully parses data from your log samples. The picture, shown above, illustrates a regex
that was tested to successfully parse the VMID and VendorInfo metadata from a log message.
The first step is to import log samples from your desired Log Source Type into the Test Center. Logs can
be imported into the Test Center a few different ways. In this course, we'll practice importing log message
samples from within the LogRhythm Log Viewer, but you can also import logs manually. Right-click in
the Test Center tab to see the menu, then select the desired import method.
Select Import Log Messages Manually to copy and paste log messages into the Test Center.
Select Import LogRhythm Log Export (llx) File to import logs in an LLX file format.
From this menu, you can also select to export log messages and clear unwanted log messages
from the Test Center panel.
Compare the number of logs processed with the number of logs that matched your regex rule. Make sure
the average number of logs processed per second generates a favorable rating (Fantastic or Great) for
best MPE performance. If you notice rules with an average rating of less than Great, you may need to
tune your regex to increase it's performance; slow rules will decrease the number of messages
LogRhythm's Mediator can process per second (MPS).
If you have a reliable Literal character match that is common in all logs, start with that.
o Match Literal characters on each side of the information contained in tags.
Example
l
Instead of: ^.*?EVID:<vmid>
Use: EVID:<vmid>
Skip over “unimportant” information in the log using the non-greedy characters: .*?
Stop matching after all your important information has been captured.
o You don’t need to match the entire log all the way to the end.
Match the tags with the log data a little bit at a time, test it, and review the metadata fields to see
what has been captured, then continue to add more to your regex.
Suppose you've noticed the following log message showing in a report as an Unidentified log or a log
which has no Classification assigned in LogRhythm.
You did some research and determine that the log contains a new error code recently created by the
vendor of your firewall device. You realize that because this is a brand new EVID code, it does not yet
have an associated MPE Rule in LogRhythm.
You called LogRhythm Support and asked about it, but have been told a ticket has been submitted to the
Labs team for creation of a new MPE Rule but there is no estimated time of completion. Your manager
says you need to have this type of log identified by LogRhythm today. You'll need to create your own
MPE Rule.
You begin by importing this log message into the MPE Rule Builder tool.
To create a regex for use in LogRhythm, you need to begin by thinking in terms of metadata fields. You
know you want to match the new 4 digit EVID code and parse it into a metadata field. You'll use the
LogRhythm MPE Rule Builder Guide to locate the associated metadata field display name, tag, and
default regex characters. You download this document from LogRhythm's Community, under the Other
tab on the Product documentation & documents page.
Since LogRhythm has already created the Default Regex and associated Tags, it makes writing regexes
for use in MPE Rules easy. You only have to specify where in the string the regex will find matching data
and then enter the tag.
You note that the Vendor Message ID number appears after the text string "EVID:" and there is a space
where the number ends. The tag, <vmid>, contains the Default Regex which will match the Vendor
Message ID and parse it into the specified metadata field. The Base-rule Regular Expression for your new
MPE Rule will look like this:
EVID:<vmid>
You Test the selected log message and notice the ID number is successfully parsed into the VMID
metadata field.
You notice there is a space preceding the error text, but you also notice the periods, apostrophes, and
spaces contained within the text. The default regex, \w+, will only match word characters. You will need
to overload the second tag in your regex to account for the additional characters that need to be matched
in the string.
You work on the second half of the Base-rule Regular Expression to specify where in the string the regex
will find matching text and enter the second tag. Your Regular Expression now looks like this:
EVID:<vmid>\s(?<vendorinfo>.*?)$
When you Test the selected log message the VMID number and VendorInfo are both successfully parsed
into their respective fields.
1. In the LogRhythm Client Console, navigate to the Tools menu, select Knowledge, then MPE
Rule Builder. The MPE Rule Builder window will open.
2. Click the New button. The Rule Builder appears.
3. Ensure you are in the General tab in the top-left panel and assign a Rule Name.
4. Click the Common Event Manager button to associate the new Rule with a Common Event.
5. Click the Rule Status you want. You should start with Development and change to Production
when ready to go live with your new rule.
6. Add a brief Description for the rule, if desired.
7. Click the Processing Settings tab and complete the fields, if necessary.
9. In the center of the Rule Builder window, enter the Base-rule Regular Expression to determine
what items are parsed from the log message.
10. Use the Test Center tab to test the Regular Expression on log samples.
11. Save your new MPE Rule.
Let's walk through creating a new Base-rule for this sample log.
In this example, I know this log was generated by a Palo Alto firewall device, and the log above
contains a description of network traffic.
o So I selected the Classification of Network Traffic.
Next, associate the new rule to the appropriate Log Source Type.
Note: This information is defined by the vendor. If you don't know which IP address or Port is
Impacted versus Origin, for example, check with the vendor of the Log Source, or use your best
judgment.
Use the LogRhythm MPE Rule Builder Parsing Guide to locate the associated tags.
Use wildcards to skip over unnecessary information. Use literal characters to match text before
and after the data to be parsed into the desired metadata field.
Click to Test Selected log message. Verify the data was parsed correctly into the metadata field.
Skip unnecessary information using wildcards until literal characters are matched, then parse information
for protname and tag1 for Sub-rule tags. Notice all metadata fields contain the information parsed from
the log message.
The purpose of this exercise is to ensure that you are able to connect to your Training Virtual Machine
(VM).
3. Enter your First and Last Name and click OK. You do not need to enable password protection.
4. Click the Lab tab on the tool bar on the top of the page.
6. The Remote Desktop session will start, and will probably default to the "rtadmin" login account.
Click the back-arrow and select the Administrator account.
Login to the virtual host using the Administrator account with the password logrhythm!1
The purpose of this exercise is to create a new custom MPE rule that matches the vendor ID message,
EVID0012, found in logs. Follow the steps below to complete this exercise.
c. You should now see the Log Source Criteria Add window again, click the Search button
d. When the Log Sources appear at the bottom of the window, right-click and select Check All
Displayed and then click OK
e. You should now see the Investigator Wizard window again
f. Right-click and select Check All Displayed again
g. Click Next
6. Click Next, there is no need to specify an Event
7. Click Next to accept the default Log Repositories
8. In the Name field, type My Saved Investigation
a. Click Save
b. Click Launch
9. When the Investigation is complete, click to view the Log Viewer tab on the top of the panel
10. Enter the following text into the Log Message filter field: EVID:0012
You will probably see this message pop-up, just click Yes to proceed
Your new MPE Rule must parse the following metadata from the log messages containing EVID:0012
Vendor Message ID
Host (Impacted)
User (Origin)
Host (Origin)
Object
Session ID
Hint
You will need to reference additional metadata Display Fields for some of the metadata.
Some Display Fields will require the use of two tags, as noted in the Rule Builder Guide.
You'll use OR statements (|) in your regex to account for the two possible tags for that metadata.
1. Click to open the Test Center tab located on the bottom panel of the window
a. You should see the log messages you copied from your Investigation results
2. Begin to write a regular expression to match any and all of the log messages containing EVID:0012
a. You might find it helpful to write part of a regex and test, then continue writing and test again
until the entire regex has parsed the required metadata.
i. Enter your regex in the Base Rule Regular Expressions tab in the middle panel of
the window
3. Click the Test All button to ensure your new rule matches all of the log messages that were
imported into the MPE Rule Builder tool
a. Are the SIP, DIP, SName, DName, Login, Object, and VMID fields populated for every
log?_______________________________________________________________________
b. Why or Why not?_____________________________________________________________
Hint
When finished creating the regular expression it should resemble:
EVID:<vmid>\s(<dip>|(?<dname>.*?)):.*?user\s <login>\sfrom\s(<sip>|(?<sname>.*?))\.\sOb-
ject\s=\s(?<object>.*?)$
2. All Default Policy Settings settings can remain in their default state
4. Click the lower X to close the Rule Builder window (not the X on the top blue bar).
The purpose of this exercise is to create a new custom MPE rule that matches the vendor ID message,
EVID 0011, found in logs.
1. From within the Client Console, click the Window menu button
2. Click to select the Investigator (My Saved Investigation) window
3. When the Investigator window opens, ensure you are viewing the Log Viewer tab
4. Enter the following text into the Log Message filter field: EVID:0011
5. Drag your mouse down the column on the far-left of the window to select (highlight) all of the
displayed logs
6. Right-click and select Copy Selected Logs to Rule Builder
Vendor Message ID
Host (Impacted)
User (Origin)
Host (Origin)
Object
Session ID
Part Four: Write a new Regular Expression for your Custom MPE Rule
1. Write a regular expression to match any and all of the log messages containing EVID:0011
a. Enter your regex in the Base Rule Regular Expressions tab in the middle panel of the
window
i. Click the Save button after regex has been entered
2. Click to open the Test Center tab located on the bottom panel of the window
3. Click the Test All button to ensure your new rule matches all of the log messages that were
imported into the MPE Rule Builder tool
4. Review your results in the Rule Builder Test Results pop-up window
a. How many of your logs matched the rule?____________________________________
b. Does your new rule match 100% of the logs?______________________________________
i. If your rule does not match 100% of your logs you should
i. Enure you are only testing the rule against logs that contain EVID:0011
ii. Work to tune the rule so that it matches all logs that contain EVID:0011
c. Review the Regex Average Logs/Second (total): line. What does it say about the
performance of your rule? Does it say (Fantastic)?__________________________________
d. If you notice rules with an Average rating of less than Fantastic, you may need to tune your
regex to increase it's performance; slow rules will decrease the number of messages
LogRhythm's Mediator can process per second (MPS)
5. Review the metadata field columns on the right side of the Test Center panel
Hint
When finished creating the regular expression it should resemble:
EVID<TAG_HERE>\s+(<TAG_HERE>|(?<TAG_HERE>.*?)):.*?for user (?<TAG_HERE>.*?)
from (<TAG_HERE>|(?<TAG_HERE>.*?))\.\s+Object = (?<TAG_HERE>.*?)$
4. Click the lower X to close the Rule Builder window (not the X on the top blue bar).
The purpose of this exercise is to create a new custom MPE rule that matches the vendor ID message,
EVID0008, found in logs.
You will probably see this message pop-up, just click Yes to proceed
Vendor Message ID
Host (Impacted)
User (Origin)
User (Impacted)
Session ID
1. What are the associated LogRhythm Tag(s) you will need use in your regex to parse the required
metadata from the log messages?
a. Vendor Message ID _____________________________________________________
b. Host (Impacted) ________________________________________________________
c. User (Origin) ___________________________________________________________
d. User (Impacted) ________________________________________________________
e. Session ID ____________________________________________________________
Hint
You will need to reference the MPE Rule Builder Guide for metadata fields we have not used yet.
Hint
The first two IP addresses appearing in the logs will not be parsed from these messages. The
third IP address appearing in some of the logs is the Host (Impacted).
b. Click the lower X to close the Rule Builder window (not the X on the top blue bar).
Hint
When completed, your regex should look something like this:
EVID:(<vmid>)\s(<dip>|(?<dname>.*?)): user account (?<account>.*?) created by (?<login>.*?)
Session ID: (?<session>.*)$
The purpose of this exercise is to practice creating a new custom MPE rule that matches the vendor ID
message, EVID0009. Since this is a Challenge, you will be provided with less instruction. Good luck.
Part Two: Use the MPE Rule Builder tool to create a new MPE Rule
1. Enter the following rule name: EVID 0009
2. Use the Classification: Audit: Account Deleted
3. Select the Common Event named User Account Deleted
4. Ensure the Rule Status is set to Development
5. Associate the new rule with the Log Source Type: Syslog – LogRhythm Syslog Generator
Vendor Message ID
Host (Impacted)
User (Origin)
User (Impacted)
Session ID
1. What are the associated LogRhythm Tag(s) you will need use in your regex to parse the required
metadata from the log messages?
a. Vendor Message ID _____________________________________________________
b. Host (Impacted) ________________________________________________________
c. User (Origin) ___________________________________________________________
d. User (Impacted) ________________________________________________________
e. Session ID ____________________________________________________________
Part Four: Write a new Regular Expression for your Custom MPE Rule
1. Write a regular expression to match any and all of the log messages containing EVID:0009
a. Enter your regex in the Base Rule Regular Expressions tab in the middle panel of the
window
i. Click the Save button after regex has been entered
Part Five: Configure Additional Settings for your Custom MPE Rule
1. Leave the Processing Settings tab at the defaults
2. Leave the Default Policy Settings tab at the defaults
3. Don’t forget to Save your rule again
4. Close the window when you're done
The purpose of this exercise is to practice creating a new custom MPE rule that matches the vendor ID
message, EVID0045. Since this is a Challenge, you will be provided with less instruction. Good luck.
Part Two: Use the MPE Rule Builder tool to create a new MPE Rule
1. Rule name: EVID 0045
2. Classification: Audit: Access Granted
3. Common Event: Account Added To Group
4. Rule Status: Development
5. Log Message Source Type Association: Syslog – LogRhythm Syslog Generator
Vendor Message ID
Host (Impacted)
User (Origin)
User (Impacted)
Group
Host (Origin)
1. What are the associated LogRhythm Tag(s) you will need use in your regex to parse the required
metadata from the log messages?
a. Vendor Message ID _____________________________________________________
b. Host (Impacted) ________________________________________________________
c. User (Origin) ___________________________________________________________
d. User (Impacted) ________________________________________________________
e. Group ________________________________________________________________
f. Host (Origin) ___________________________________________________________
Part Five: Configure Additional Settings for your Custom MPE Rule
1. Configure Processing Settings
2. Leave the Default Policy Settings tab at the defaults
3. Don’t forget to Save your rule again
4. Close the window when you're done
Custom MPE Rules Using Regular Expression │ Enabling Custom Rules 137
Exercise 6: Challenge: Create an MPE Rule with Sub-rules 189
138 Custom MPE Rules Using Regular Expression │ Enabling Custom Rules
The Final Steps for MPE Rule Creation
In the previous chapter we reviewed the MPE Rule builder and how to create new Base-Rule Regular
Expressions. In this chapter we'll build on that foundation to cover the final steps for custom MPE Rule
creation with the following topics:
Creating Sub-rules
MPE Processing Logic
Browsing the Rule Library
MPE Policy Settings
Enabling MPE Rules
Creating new Log Source Types
Sub-rules are associated with one Base-rule, but there can be many Sub-rules for a single Base-rule.
When possible, a Base-rule should have Sub-rules added to further normalize the log data. Rules are
created for every type of log that a Log Source can generate, which means there can be a lot of Base-rules
and even more Sub-rules!
Example
If a system shutdown is identified in the Base-rule, the Sub-rules would identify the specific reason
for the shutdown.
During log processing, the MPE will evaluate logs against Base-rules, and if matched:
The MPE will evaluate the log against Sub-rules associated with that Base-rule
o If a Sub-rule is matched, the MPE will associate the log with that Sub-rule
If there are no Sub-rules or no Sub-rules matched, the MPE will associate the log with the Base-rule
Name - Each Sub-rule is given a unique name that reflects the activity described in the log
message.
Classification - Each Sub-rule is assigned its own Classification allowing for differentiation of
Event priority. Some logs from this Log Source Type will have a higher priority such as Warning
messages, while other logs may just contain Informational messages of a lower priority.
Common Event - Each Sub-rule is assigned its own Common Event allowing for granularity of
descriptions for each log message. When creating Sub-rules, use your best judgment to select a
Common Event that matches the description of the activity occurring in your log messages.
Note: You can also Clone existing Sub-rules if you are creating multiples with the same Classi-
fication and Common Event, but perhaps with slight variations of VMIDs.
The Sub-rule Properties window opens, allowing you to configure your new Sub-rule:
Here, you'll specify a Rule Name (which will automatically be copied into the Full Name field), and assign
a Common Event by clicking on the Common Event Manager icon.
The Mapping Tags tab, shown in the image below, contains a list representing all of the tags used in the
associated Base-rule Regular Expression. This Sub-rule is used to match the log messages containing a
vmid Value equal to 12289. Notice the Sub-rule is concerned only with the data in the vmid Field, all other
Fields can contain a Value of anything.
Five additional tags are available for identifying data in a log specifically for use in Sub-rules. These tags
do not parse text into metadata fields and are not visible to analysts in LogRhythm. These tags are only
used to identify portions of a log message that will be used in Sub-rules. You will only use these Sub-rule
tags in Base-rules if you intend on creating Sub-rules that use the values captured into the associated
fields.
Notice the OR statement with two options (in bold font) in the rule above. This statement is used to
capture data from log messages into the <tag1> named capture group:
The Base-rule should have two Sub-rules created for the <tag1> values captured from the logs:
Example
LOG MESSAGE:
<Event xmlns-
='http://schemas.microsoft.com/win/2004/08/events/event'><System><Prov-
ider Name='SQLISPackage100'/><EventID Qualifiers='16385'>
12289InformationLRVM-XMNT AUTHORITY\SYSTEMLR Backup
Cleanup</EventID><Level> </Level><Task>None</Task><Key-
words>Classic</Keywords><TimeCreated SystemTime='2017-06-
04T06:00:07.000000000Z'/><EventRecordID>25582324</EventRecordID><Chann-
el>Application</Channel><Computer></Computer><Security UserID=''/>
</System><EventData>Package "" finished success-
fully.</EventData></Event>
The MPE Rule that matches this log message, named SQL Server Messages, uses the following Base-
rule regular expression to parse data from the log message:
Example
BASE-RULE REGEX:
Name='(?<tag2>.*?(SQLSERVER|SQLISPackage100|SQLAgent|SQL\$).*?)'.*?<EventID.*?>
(?<vmid>\d+)<.*?Level>(?<severity>.*?)<.*?Com.*?>(?<dname>.*?)(\..*?)?</C((.*?(\r|\n))
{3}succ.*?:(?<tag3>.*?)(\r|\n)(.*?(\r|\n)){2}sess\S+:(?<session>\d+)(.*?(\r|\n)){5}obj\S+:
(?<objectname>\w+)(.*?(\r|\n)){3}ser\S+name:((?<domain>.*?)\\)?(?<login>\S+)(.*?(\r|\n)){9}object_
name:(?<object>.*?)(\r|\n)sta\S+:(?<command>.*?)(\r|\n))?(.*?pr.*? id of (?<processid>\d+))?
(.*?Sch.*? Job '(?<object>.*?)')?(.*?Status: (?<tag3>\w+))?(.*?for user '((?<domain>.*?)\\)?
(?<login>.*?)'(.*?database '(?<object>.*?)')?.*?\[CLIENT:\s+(<sip>|(\<)?(?<sname>.*?)(\>)?)\])?
(.*?UserID='((?<domain>[^/']+)\\)?(?<login>.*?)')?(.*?Pac\w+ "(?<object>.*?)")?(.*?com\S+
(?<command>.*?)\.)?(.*?\((?<object>.*?)\.\).*?for '(?<protname>\w+)://<sip>:(?<sport>\d+)')?(.*?
database '(?<object>.*?)')?(.*?Alert for '(?<object>.*?)'.*?cur\w+ value of '(?<objectname>.*?)')?
(.*?(?<tag1>(?:LooksA.*? req\w+|checkserv\S+: returning \w+)|(IsAlive request)))?
This Base-rule will match the pattern of the log and will capture the following data:
Pictured below is a Sub-rule associated to the Base-rule in this example. This Sub-rule is looking to match
the specific vmid value, 12289. The log message above contains the EVID 12289, and therefore matches
the criteria for this Sub-rule.
In the example log below, we see the identifying information allow describes the activity. We also see
that deny and failed are two additional activities described in log messages generated from this Log
Source Type. We'll create three Sub-rules to account for each of these different events.
Let's walk through creating new Sub-rules for these sample log files:
We will use the Base-rule we created previously in the MPE Rule Builder: Walk Through Example:
Palo Alto.
Name the rule something you might recognize when it is displayed in the console, such as Palo Alto:
Traffic Allowed.
Right-click to create a second Sub-rule for the deny type traffic events.
Select an appropriate Common Event to describe this activity. It should be similar, but more specific than
the Common Event used for the Base-rule. In this example, we've selected General ACL Deny Event.
Set the Mapping Tags specific to this Sub-rule. We only need to select the Mappings for the Tag1
metadata field to parse the deny text from the log.
Right-click to create another new Sub-rule for the failed type traffic events.
Select an appropriate Common Event to describe this activity. It should be similar, but more specific than
the Common Event used for the Base-rule. In this example, we've selected Failed To Send Packet.
Set the Mapping Tags specific to this Sub-rule. We only need to select the Mappings for the Tag1
metadata field to parse the failed text from the log. Click OK to save this new Sub-rule.
When new custom MPE Rules are created, both Base-rules and Sub-rules, will be sorted into a
processing order. The processing order will naturally occur during the development of new rules because
the first rule created will be the first processed, etc.
Both Base-rules and Sub-rules have a processing order within a rule set. It is important to remember the
logic behind processing when creating new MPE Rules.
The Sorter takes the most descriptive rules and processes logs against those first and least descriptive,
or Catch-all rules, are processed last.
Custom Base-rules are always applied before System (LogRhythm created) Base-rules
Custom Sub-rules are always applied before System Sub-rules
Custom Base-rules:
o Custom Sub-rules where the value parsed for VMID should be a specific value by Sort Order
o All other Custom Sub-rules by Sort Order
System-Base rules:
o Custom Sub-rules where the value parsed for VMID should be a specific value by Sort Order
o System Sub-rules where the value parsed for VMID should be a specific value by Sort Order
o All other Custom Sub-rules by Sort Order
o All other System Sub-rules by Sort Order
Sub-Rule Sorting
Sorting only affects Sub-rules with wildcards and regexes. Sorting is irrelevant for Sub-rules where each
tag value is specified since the Sub-rule will only match the exact values specified. When using wildcards
and regexes, it is important to understand how their sorting is treated by the MPE.
When processing Sub-rules, the MPE will process in the following order:
Custom Sub-rules where VMID (Vendor Message ID) is equal to a specific value
System Sub-rules where VMID is equal to a specific value
Custom Sub-rules where VMID is not equal to a specific value
System Sub-rules where VMID is not equal to a specific value
The sort order will determine the priority in which a Sub-rule is matched. For instance, if you have a Sub-
rule where all the tags are wildcards, you want to make sure this Sub-rule is the last sorted item, because
sorting it higher would cause it to always match, and rules below would never be tested for specific
matching values.
LogRhythm uses auto-sorted MPE Rules, but this can be modified as specified here:
You can change the processing order of rules to ensure that one rule does not cancel the processing of
another rule.
Example
Suppose you have created two Base-rules that seem to work for more than one log type. You need
to ensure they are in the correct sort order so one doesn't cancel the processing of the other;
however, the better option is to re-write both rules into a single rule with better Sub-rules.
Example
By default, Custom rules run before System rules, however if you write a Catch-all rule you don't
want it running before a System rule as it will basically cancel it.
To view or edit the processing order for a Sub-rule, select the associated Base-rule from the list in the
Rule Browser, and when the Rule Builder window opens, right-click in the Sub-Rules tab the Edit
button and select Edit Sub-rule Sorting.
Sorting only affects Sub-rules with wildcards and regexes. Sorting is irrelevant for Sub-rules where each
Mapping Tag Value is specified since the Sub-rule will only match the exact values specified. If you have
a Sub-rule where all the Mapping Tags are wildcards, you want to make sure this Sub-rule is the last
sorted item, because sorting it higher would cause it to always match, and rules below would never be
applied for matching.
After you create new MPE Rules you can view them in the Rule Library. In the Rule Library you can scroll
through a selection of over 7,000 System MPE Rules (those created by LogRhythm's engineers)
distributed as part of LogRhythm's Knowledge Base (KB). The Rule Library lists the MPE Rules by Log
Message Source Type.
Click to select a Log Source Type to view it's associated MPE Rules in the Rule Browser window.
Hint
You may not see all of the MPE Rules by default. To change the view so you can see the right
rule type and status, click View to open the menu and select the items you wish to see, as
shown in the picture above.
The MPE Rule determines how LogRhythm parses metadata from the log.
The MPE Policy determines data management and Event management settings for the log.
During the addition and configuration of the Log Sources in your environment, specifying the correct MPE
Policy is imperative. Only logs from Log Sources assigned an MPE Policy will be processed by the MPE.
The LogRhythm Knowledge Base (KB) comes with pre-packaged default MPE Policies for all supported
log types. These Log Processing Policies for the System Log Source Types are all named LogRhythm
Default.
The MPE Rule contains the default settings for the MPE Policy when the rule is first added, but MPE
Policies can be customized for the Log Source Type to which they will be assigned. MPE Policies can be
edited for each associated MPE Rule, to specify different Data Management Settings, Event
Management Settings. For example, Event forwarding settings for the Windows Security Event Logs on a
file server could be different from those on a domain controller.
MPE Policies can be viewed, edited, deleted, or created from within the Deployment Manager in the
Client Console on the Log Processing Policies tab. You can configure the MPE Policy settings in the
the MPE Policy Rule Editor; this is also where MPE Rules are Enabled and Disabled.
After a new rule has been created and tested successfully you need to Enable the rule. MPE Rules must
be in either Test or Production status before it can be Enabled.
To enable a rule, navigate to the Deployment Manager, select the Log Processing Policies tab, select the
Log Source Type to which your rule is associated, check the boxes for your new Custom rules, then right-
click and select Properties. The Enabled checkbox is located in the MPE Policy Rule Editor window.
After clicking the New button, the Log Source Type Properties window allows you to assign a name
and Log Format.
Syslog devices have a setting to specify where to send the Syslog Feed, so that is an easy way to
know it is a Syslog format.
Text Files, or Flat File, log formats are plain text files containing log messages from systems,
computers, devices, and applications that cannot transmit their log messages via Windows Event
Logs or Syslogs. Flat Files lack any structural standards, so they can vary widely in format.
Important!
Use your best judgment to determine the format of your particular custom log messages. If
you've selected the wrong Log Format, the logs will show as Unidentified in LogRhythm; the
MPE will not be able to identify or parse data correctly.
When adding new custom Log Sources, the Date Format Manager is used to select the appropriate regex
used to parsed the date from the log messages generated by your Log Source. The Date Formats are
listed by device type, so you might first try to match your Log Source to one that already exists for your
device; however you may not always find an exact match by Name. In that case, review the date format
in your log messages and find a regex that will match.
Example
This is a sample log from a Flat File with the date information in bold font:
06/28/2017 02:41:06 PM alert action: 1-28255 Win.Trojan.Kuluoz Detected
sHost:150.94.138.231 dHost:195.190.211.155 email:-
frederick@cert.logrhythm.com
Example
This is the associated Date Format used by LogRhythm to parse the date from the Flat File log
message:
<M>/<d>/<yy> <h>:<m>:<s> <t>
The first thing you might notice about the regex is that it is expressed in Regular Expression type
characters and not what you may think of as a typical date format. Date formats are often expressed with
DD representing two digits for the day, MM representing two digits for the month, and YYYY representing
four digits for the year, and so on, as shown here: DD/MM/YYYY HH:MM:SS.
If you can not find a Date Format that matches the date format in your log, you may need to build your
own, using the information in the Help tab as a guide.
If you have issues with the Date and Time, verify the Log Source Type configuration settings are correct
for that Log Source.
When you select a Log Source Type during the deployment of a Log Source, the date and time regex is
automatically included. When adding Flat File Log Sources, which vary widely in format, you must select
the format of the date and time found in the log so that the correct regex is applied. You have the option to
choose from many different date and time formats.
Important!
When creating new MPE Rules, do not include the date and time information in the Base-rule
regular expression; it is not needed. The Date and Time information is automatically assigned
during processing for Time Normalization.
1. Change the Rule Status, of your new Base-rule and its associated Sub-rules, to Test
2. Assign a Log Processing Policy
a. Review the list of existing Log Processing Policies in the Deployment Manager
b. Select the appropriate Log Source Type
c. Create a new Log Processing Policy if one is not already created
i. Give it a name and select the appropriate Log Source Type
3. Enable the new MPE Rule
a. Edit the properties of the Log Processing Policy
b. Select the Enable option and set the Risk Based Priority value
4. Verify it was tested successfully by the MPE
a. If not, make changes to the rule for improved efficiency
i. Enable it to run the Test again
5. Edit rule Sorting
a. Detailed rules should be on top and more general rules on the bottom
b. Catch-all rules should be at the bottom of all other rules
6. Change the Rule Status to Production in the Rule Builder
7. Enable the new MPE Rules
a. Edit the properties of the Log Processing Policy
b. Enable the new Custom MPE Rules and set the Risk Based Priority value
i. Your MPE Rules and your Log Processing Policy are associated to your custom Log
Source Type
8. Verify the logs are identified and metadata is parsed by the rule as expected
a. Perform an Investigation or review the logs in the Dashboard
9. Make changes, if needed, to ensure the log is processed as desired
a. Repeat verification of log processing and make changes until log is processed as desired
10. If you've just created a new MPE Rule for a device that will likely be used by others, submit it to
the LogRhythm Labs team for review. If approved, the Labs team can add it permanently to the
list of available Log Source Types, MPE Rules, and perhaps create some additional Sub-rules.
The purpose of this exercise is to review the information presented in this chapter.
The purpose of this exercise is to introduce you to the Rule Library in LogRhythm.
3. Click to select any one Log Message Source Type from the Rule Browser list.
5. Double-click to open any one of the Rules listed on the right-side of the window. The Rule's name,
Common Event, and Base-rule Regular Expression will be displayed in the MPE Rule Builder.
Risk Rating: 0
The Base-rule should match logs with any of the following Event IDs:
0013
0014
0015
0016
Vendor Message ID
Impacted Host
Process Name
Create a new Sub-rule for each of the EVIDs listed in the table above. Repeat these steps for all EVIDs
listed in the table above.
Create a new Sub-rule for each of the EVIDs listed in the table above. Repeat these steps for all EVIDs
listed in the table above.
Vendor Message ID
Protocol
Host (Origin)
TCP/UDP Port (Origin)
Host (Impacted)
TCP/UDP Port (Impacted)
KBytes Received <bytesin>
KBytes Sent <bytesout>
Packets Received
Packets Sent
1. Large Bytes In
Your new Custom MPE Rule should look like this when completed:
Risk Rating: 0
Vendor Message ID
Host (Impacted)
User (Origin)
User (Impacted)
Amount
Criteria:
The purpose of this exercise is to practice configuring more complex MPE Sub-rules with less instruction.
Classification: Information
Risk Rating: 0
Vendor Message ID
Sender
Recipient
Subject
The purpose of this exercise is to practice enabling all the new Custom MPE Rules you created.
Part One: Change the Status of your new MPE Rules from Development to
Production
Follow the instructions below to change the status of each of your new MPE Rules.
Important!
Because this is a Training environment, time and data is limited; therefore, we will not be putting
our Rules into to Test status. Today you will move these Rules directly from Development to
Production status. LogRhythm recommends you Test new MPE Rules in your organization's
environment before moving them into Production status.
1. To find and edit your MPE Rules, click the icon to open the Rule Library (also known as the Rule
Browser)
2. The Rule Browser window will open, but may not display your new Custom MPE Rules. Click the
View menu to change the settings to Show Development Rules and Show Custom Rules.
10. Change the Sort Order of your new Custom MPE Rules to ensure they are processed before the
System MPE Rules.
a. Click to open the Edit menu and select Edit Base-rule Sorting.
b. You might see a message about Rule Validation; if so, click OK.
c. Your Custom MPE Rules are probably at the bottom of the list; you'll want to move them to
the top of the Sort Order. Scroll down to locate your rules.
d. Click to place a checkmark in the box under the Sort Above System column for one of your
rules.
e. Click the top arrow button to move it all the way to the top of the Rule Sorter window.
f. Repeat steps d and e until all of your new Custom MPE Rules have been moved.
It’s important to remember that the Rule Builder Test Results are only one aspect of MPE performance.
There are a lot of other factors along the processing chain that impact performance. LogRhythm's best
advice is to make your Rules process as fast as possible. A Rule Average of 4500 is generally considered
the floor for performance. This is not a great number, but provides some baseline as you are creating
rules.
As you become more experienced with regex, you may want to tune rules for improved processing
performance. Here are some tips you can use when you become more advanced in your regex skills.
Using more explicit Literal characters has better performance than using the Matching characters.
Use Character Sets [ ] when possible.
When testing log messages in the Rule Builder tool, LogRhythm recommends importing a large
volume of logs as well as logs of different formats. Testing logs of different formats gives a better
idea of how the regex will perform once put into Production. Do these logs of different formats
match the regex (they should not)? Is the performance of the rule still good when processing
against non-matching logs?
For non-Capturing Groups you can use ?: at the beginning to instruct the regex engine not to store
the data found in the group in memory. The information will be matched, but not captured; therefore
improving performance. The regex would look like this: (?:item1|item2|item3) or (?:stuff)
Session IDs are almost always hexadecimal numbers. \x is a hexadecimal digit regular expression
character, but using it can cause poor performance. LogRhythm recommends using wildcard
characters .*? to skip over the information instead of using the hexidecimal regex character.
This section highlights some resources for verifying or investigating issues with MPE performance. Mitig-
ation of performance issues is an advanced subject and requires knowledge of building, testing, and
adjusting rules in the MPE Rule Builder, as learned in this class, and a fairly robust knowledge of regular
expressions.
The LPS Detail report contains a header and a section for each Log Processing Policy that is active. The
header contains information identifying the report, the date and time it was created, and the ID number of
the license being used to run the Mediator Server service. Each Log Processing Policy section contains
the data field (column) headers, the Log Source Type of the policy, the name of the policy, and then one
line for each Base-rule in the policy.
This report has four columns that are valuable for analyzing the performance of MPE Rule processing:
If you have a high number of Attempts and a low % Match rate then that rule is not efficient.
The number of logs inserted per second into the Indexer by the scmedsvr service.
The number of logs processed by the MPE per second.
The number of logs currently in the MPE Log Processing queue.
The percentage full of the Log Processing queue (logs not yet processed).
And much more.
In LogRhythm v7.2.2 a new feature was released that causes poor performing rules to timeout and lets
the logs fall to Catch-all rules. This option can be used to identify poor performing rules and capture log
samples to send to the Support team. You can verify this option is turned on by looking for the following
line in the scmedsvr.ini file:
"[Optional] MPERuleTimoutEnabled=True"
If this option is not enabled, contact LogRhythm’s Support team to discuss the pros and cons of this
feature before turning it on. If it is enabled, you can run an Investigation for logs with a Common Event of
LogRhythm MPE Rule Performing Poorly; the results will show all the offending rules and their associated
log messages. Look for repeat offenders; a few timeouts doesn't necessarily equal a poor rule or bad logs.
Save a sample of logs in an LLX file and open a Support ticket so the engineers can propose the
necessary improvements.
If you see repeat offending logs locking threads or timing out then there is likely something wrong with the
logs (format changes, extremely large log size, or excessive noise), or an issue with an MPE Rule (poor
performing regex, improper sort ordering of rules, or the regex just needs an update).
The regex engine reviews an input string of data from left to right. When a match is found, it continues to
move through the data looking for additional matches. If the regex does not find another match, it
Backtracks in the string of data to look for another pattern match.
Index: The Index is what allows the regex engine to keep track of it's position in the string of data.
When the regex engine begins to read at the start of the string, it is at index 0. When it is 50
characters into the string, it is at index 49 (remember it starts at 0).
Backtrack: Using .*? creates multiple paths through a regular expression. The regex engine keeps
track of its location and if one path fails to yield a match, the regex engine will backtrack and try
another path.
While .*? is a powerful tool, it can negatively impact performance. If you have a reliable Literal characters
in a log message, tailoring the regex to that structure is preferable.
Example
A comma delimited log parser could use this type of regex ,[^,]*, and would perform far better than
,.*?, as it doesn't depend on back references.
Example
Effectively, the regexes .*? and [^*]+ get the same results; they will both non-greedily match the
same data. The difference between the two is their efficiency, due to backtracking, as shown in the
results below.
Character sets are really powerful for log messages with predictable delimiters. If you have a comma
separated log message, using a negative character set in between delimiters dramatically improves
performance. Character sets are inherently non-greedy.
Example
,[^,]*,
or
\|[^\|]*\|
Works well combined with quantifiers
The following table, which can be found in the MPE Rule Builder Guide, highlights some recommended
practices for regex development in LogRhythm. Utilizing these regex characters could help you improve
the performance of an MPE Rule. If you notice processing issues, review the regex for your Base-rule and
modify, if possible.
4. Change the Rule Status, of your new Base-rule and its associated Sub-rules, to Test
5. Assign a Log Processing Policy
a. Review the list of existing Log Processing Policies in the Deployment Manager
b. Select the appropriate Log Source Type
c. Create a new Log Processing Policy if one is not already created
i. Give it a name and select the appropriate Log Source Type
6. Enable the new MPE Rule
a. Edit the properties of the Log Processing Policy
b. Select the Enable option and set the Risk Based Priority value
7. Verify it was tested successfully by the MPE
a. If not, make changes to the rule for improved efficiency
i. Enable to Test again
This section will be a challenge. You'll apply all you've learned in this training session to collect logs from
a new Log Source. Review the details provided about this scenario and then follow the steps to add this
new device into your LogRhythm deployment.
Scenario Details
Your IT department has purchased and installed a new IDS (Intrusion Detection System) device in your
infrastructure. Your manager has tasked you with bringing logs from this device into LogRhythm.
Important!
Here is a sample log from this device:
06/28/2017 02:41:06 PM alert action: 1-28255 Win.Trojan.Kuluoz
Detected sHost:150.94.138.231 dHost:195.190.211.155 email:-
frederick@cert.logrhythm.com
You've done some research about this new IDS device and your LogRhythm platform. The information
listed here is what you know:
The System Monitor responsible for gathering logs from this new Log Source: LRVM-XM
c. Type 1 and press Enter to execute the script which will generate IDS logs
a. Scroll over to review the MPE Rule Name used to parse the logs
i. Notice it is a Catch All rule
b. Scroll over and review the metadata that was parsed from the logs
i. Classification
ii. Common Event
iii. MPE Rule Name
iv. Direction
v. Zone
vi. Entity
vii. Host (Origin) and Host (Impacted)
c. Notice the data that was NOT parsed from the logs
i. VMID
ii. Correct Host (Origin)
iii. Correct Host (Impacted)
iv. Recipient
d. Based on these results, the desired metadata is not being parsed correctly from your new
Log Source, IDS001
i. Since data is not being parsed correctly with the currently configured Log Source Type
and it's associated MPE Rules, you'll need to create a new custom Log Source Type
with associated MPE Rules
5. Create one new Base-rule that parses the following data from the all of the IDS logs
a. VMID
b. Host (Origin)
c. Host (Impacted)
d. Email Recipient (optional)
Hint
All of the Sub-rules in this exercise will use a Common Event under the Classification of
Security : Attack. You may need to do some research (on the internet ) to learn more about the
message so you can assign an appropriate Common Event. See Example below.
The Sub-Rule for this VMID should be assigned an existing Common Event that describes this type
of event, such as Buffer Overflow/Underflow.
These tend to be subjective. Use your best judgment when creating Names and assigning Common
Events to your new Custom MPE Rules. The new Sub-rules might look something like this:
1. Change the Rule Status to Production for your Base-rule and all Sub-rules and Save your new
MPE Rule
a. Use Synchronize Rule Status to easily change Status for all the Sub-rules
i. To change the status of the associated Sub-rules, right-click in the list of Sub-Rules
and select Synchronize With Base-rule
2. Open the Deployment Manager and click on the Log Processing Policies tab
3. Right-click inside the list of Log Processing Polices and select New
4. Locate and select the new Custom Log Source Type you created earlier in this exercise: Custom
IDS
a. In the MPE Policy Editor window, enter the following Name: Custom IDS
b. Place a checkmark in the boxes next to all of the Rules you created for this Log Source Type
5. Right-click and select Properties
a. Place a checkmark in the box next to Enabled
b. Leave the other settings at their default
c. Click OK, you should now see all the Rules listed in the MPE Policy Editor window have a
checkmark in the Enabled column
6. Click OK again
7. You should now see eight Enabled Rules associated with the Custom IDS Log Source Type
8. Click OK to close the MPE Policy Editor window
9. You need to assign this new Log Processing Policy, and the new Log Source Type you created
earlier, to your IDS001 device
a. Navigate to the Log Sources tab
b. Locate the Log Source Name: IDS001
c. Double-click to open the Log Message Source Properties window
i. Assign the Custom IDS Log Message Source Type
ii. Select the Custom IDS Log Message Processing Engine (MPE) Policy
iii. Click OK
C
Alarm Suppression
A setting to suppress identical alarms Case Card
based on the Events triggering the alarm
The most basic element of a case in the
within a given time span.
Web Console Cases tab; provides basic
case information.
Application
A web application or a protocol; a record Case Management
that defines an application and its ports
A forensic tool for tracking and
and protocols so that the MPE rules can
documenting suspicious logs and alarms
identify a log origin. Applications are
that are believed to be related to the same
managed via the Application Manager
threat.
accessed from the Knowledge Tools
menu within Deployment Manager.
CBDM
ARM Classification Based Data Management.
Available in the Global Data Management
Alarming, Reporting, and Response
Settings found in the Platform Manager
Manager. A Windows service installed on
tab in the Client Console.
the Platform Manager, which is
responsible for processing Reports and
Alarm rules and taking the appropriate Classification
response.
A second-tier group used to categorize all
identifiable logs and Events. There is one
B or more Classifications associated with a
Classification Type. Classification Types
include: Audit, Operations, and Security.
Base-Rule
A Classification can have one or more
Part of the MPE Rule that contains a Common Events, which are associated
tagged regular expression (regex) used to with an MPE Rule.
identify the pattern of a log and isolate
interesting pieces of metadata. Using a
tagging system, these metadata strings Classification Type
can be directed to special fields used by A first tier group used to categorize logs
LogRhythm to better interpret a log or and Events. There are three types: Audit,
specifically identify it. In general, base- Security, and Operations. Classifications
DNS FIM
File Integrity Monitoring. An Endpoint
Domain Name Server.
Monitoring tool that monitors files and
directories for modifications. There are
E two modes: Standard and Realtime.
EMDB Flow
Event Manager Database. A database on A collection of activity by a single user on
the Platform Manager that contains the a single application.
LogRhythm configuration information.
G
Engine
NetMon's packet processing component Global Data Management Settings
that classifies data during Deep Packet
Administrators can enable global options
Inspection.
that override settings at the Data
Processor, Log Source, and MPE Policy
Entity levels. Global settings are applicable in
both Classification Based and Standard
A record that represents a logical Data Management configurations. Data
grouping. It organizes the deployment in Management profiles simplify config-
host records, network records, and the uration based on the deployment’s data
LogRhythm components. Small management model. Data Management
deployments may contain one Entity, settings have been pre-packaged into
while large deployments that span many configurations which support various
deployment models and uses of the
product: Collection Optimized, Search
LogRhythm Platform
MPE
The fully integrated Security Information
and Event Management (SIEM) solution, Message Processing Engine. As part of
which includes the collection of the Data Processor's Mediator service,
LogRhythm components that work the Message Processing Engine is
together to bring log management, responsible for log identification and
advanced log analysis, Event classification, Event processing, and
management, monitoring, and reporting metadata processing.
into one integrated solution.
MPE Policy
Lucene search A collection of MPE Rules designed for a
An open source text retrieval library specific Log Source Type such as Cisco
released under the Apache Software PIX or Windows 2005 Security Event
License. Log. Only Logs that are generated from
Log Sources that have an assigned MPE
Policy are processed by the MPE. There
M can be multiple policies for a single Log
Source Type to allow for flexibility in
assigning the policy to various Log
MAC Address
Sources.
A Media Access Control address (MAC
address), which is a unique identifier
assigned to network interfaces for MPE Rule
communications on the physical network A record associated with a specific Log
segment. Message Source Type that includes a
Common Event, Base-rule regular
expression, Sub-rules, and other
Mediator service
processing and policy settings used for
A service running on the Data Processor processing logs.
responsible for log identification and
classification.
P
Report Center
Packet An analysis tool in the Client Console that
provides users the ability to manage
A unit of data carried by a packet-
report templates, reports, and report
switched network.
packages.
PCAP File S
An industry-standard format for containing
packet capture data.
SIEM
Security Information and Event
Platform Manager (PM) Management. See also "LogRhythm
The central hub of Event and incident SIEM."
management, reporting, analysis, and
configuration across the entire
SMTP
LogRhythm SIEM deployment. The
Platform Manager includes the Alarming, Simple Mail Transfer Protocol.
Reporting, and Response Manager
(ARM), which is a Windows service
responsible for processing Alarm rules SNMP
and taking the appropriate response. The Simple Network Management Protocol.
LogRhythm SIEM includes only one
Platform Manager per deployment, which
is installed on its own appliance. SSL
Secure Sockets Layer.
TCP Widget
Transmission Control Protocol. A mini-application, such as a chart or
graph, that provides content for
Dashboards. Widgets can be re-sized and
U
repositioned in page Layouts to modify
existing Dashboards or create new ones.
UDP
User Datagram Protocol. Windows Host Wizard
A tool that allows users to configure
Unidentified Log LogRhythm to collect Windows Event
Logs. It has the ability to scan domains
A log that has been sent through the
and allows users to import computers. It
Message Processing Engine (MPE) that
is accessed via the Tools - Administration
was not identified against any of the MPE
menu within Deployment Manager.
Rules.
XM Appliance
An all-in-one LogRhythm appliance that
includes the Platform Manager, Data
Processor, and Data Indexer. In small
deployments the AI Engine and Web
Console might also be installed on the
XM.
Zone
Used in an Entity Host Record or
Network Record to indicate whether it is
located Internal, External, or in the DMZ.