# Copyright (c) 2011 Flowerfire, Inc. All Rights Reserved. imperva_waf = { plugin_version = "1.0" # 2011-06-10 - 1.0 - GMF - Initial creation info.1.manufacturer = "Imperva" info.1.device = "WAF" info.1.version.1 = "" # The name of the log format log.format.format_label = "Imperva WAF" log.miscellaneous.log_data_type = "syslog_required" log.miscellaneous.log_format_type = "network_device" # 2011-05-11 16:53:12 local0.info 12.34.56.78 May 11 16:53:12 CEF:0|Imperva Inc.|SecureSphere|7.0|Profile|Unauthorized Host|Medium|act=None dst=23.45.67.89 dpt=1526 duser=someone src=98.76.54.32 spt=54143 proto=TCP rt=May 11 2011 13:33:29 cat=Alert cs1=SQL Profile Policy cs1Label=Policy cs2=團體預約&會員制 cs2Label=ServerGroup cs3=會員制 cs3Label=ServiceName cs4=Default Oracle Application cs4Label=ApplicationName cs5=Unauthorized Host workgroup\abc-123 by bob from 12.34.56.78 cs5Label=Description log.format.autodetect_regular_expression = "Imperva Inc" # All log field parsing will be done using the parsing filters log.format.parse_only_with_filters = "true" # Log fields log.fields = { type = "" priority = "" act = "" dst = "" dpt = "" duser = "" src.type = "host" spt = "" proto = "" rt = "" cat = "" cs1 = "" cs1label = "" cs2 = "" cs2label = "" cs3 = "" cs3label = "" cs4 = "" cs4label = "" cs5 = "" cs5label = "" entries = "" } # log.fields # # Log Parsing Filters log.parsing_filters.parse = ` if (matches_regular_expression(v.syslog_message, '^[A-Z][a-z][a-z] [0-9][0-9] [0-9][0-9]:[0-9][0-9]:[0-9][0-9] +[^|]+[|]([^|]+)[|]([^|]+)[|]([^|]+)[|]([^|]+)[|]([^|]+)[|]([^|]+)[|]([^|]+)')) then ( #if (matches_regular_expression(v.syslog_message, '^[A-Z][a-z][a-z] [0-9][0-9] [0-9][0-9]:[0-9][0-9]:[0-9][0-9] [^|]+[|]')) then ( set_collected_field('', 'priority', $6); v.fields = $7; collect_listed_fields('', v.fields, ' ', '=', ''); accept_collected_entry('', false); ); ` # log.parsing_filters # Database fields database.fields = { type = "" priority = "" act = "" dst = "" dpt = "" duser = "" src = "" spt = "" proto = "" rt = "" cat = "" cs1 = "" cs1label = "" cs2 = "" cs2label = "" cs3 = "" cs3label = "" cs4 = "" cs4label = "" cs5 = "" cs5label = "" } # database.fields # Log Filters log.filters = { mark_entry = { label = '$lang_admin.log_filters.mark_entry_label' comment = '$lang_admin.log_filters.mark_entry_comment' value = 'events = 1;' } # mark_entry } # log.filters database.numerical_fields = { events = { default = true requires_log_field = false entries_field = true } # events } # database.numerical_fields create_profile_wizard_options = { # How the reports should be grouped in the report menu report_groups = { date_time_group = "" } # report_groups } # create_profile_wizard_options } # imperva_waf