sonic_wall = { # SonicWall # The name of the log format log.format.format_label = "SonicWall or 3COM Firewall" log.miscellaneous.log_data_type = "syslog_required" log.miscellaneous.log_format_type = "firewall" # The log is in this format if any of the first ten lines match this regular expression log.format.autodetect_regular_expression = "id=.*sn=.*fw=" # All log field parsing will be done using the parsing filters log.format.parse_only_with_filters = "true" statistics.miscellaneous.entry_name = "events" # Log fields log.fields = { id = { label = "$lang_stats.field_labels.id" type = "flat" index = 0 subindex = 0 } # id sn = { label = "$lang_stats.field_labels.sn" type = "flat" index = 0 subindex = 0 } # sn fw = { label = "$lang_stats.field_labels.fw" type = "flat" index = 0 subindex = 0 } # fw pri = { label = "$lang_stats.field_labels.pri" type = "flat" index = 0 subindex = 0 } # pri c = { label = "$lang_stats.field_labels.c" type = "flat" index = 0 subindex = 0 } # c m = { label = "$lang_stats.field_labels.m" type = "flat" index = 0 subindex = 0 } # m n = { label = "$lang_stats.field_labels.n" type = "flat" index = 0 subindex = 0 } # n src = { label = "$lang_stats.field_labels.src" type = "host" index = 0 subindex = 0 hierarchy_dividers = "." left_to_right = false leading_divider = "false" } # src src_host = { label = "$lang_stats.field_labels.src_host" type = "flat" index = 0 subindex = 0 } # src_host src_port = { label = "$lang_stats.field_labels.src_port" type = "flat" index = 0 subindex = 0 } # src_port src_network = { label = "$lang_stats.field_labels.src_network" type = "flat" index = 0 subindex = 0 } # src_network dst = { label = "$lang_stats.field_labels.dst" type = "flat" index = 0 subindex = 0 } # dst dstname = { label = "$lang_stats.field_labels.dstname" type = "flat" index = 0 subindex = 0 } # dstname dst_host = { label = "$lang_stats.field_labels.dst_host" type = "flat" index = 0 subindex = 0 } # dst_host dst_port = { label = "$lang_stats.field_labels.dst_port" type = "flat" index = 0 subindex = 0 } # dst_port dst_network = { label = "$lang_stats.field_labels.dst_network" type = "flat" index = 0 subindex = 0 } # dst_network proto = { label = "$lang_stats.field_labels.proto" type = "flat" index = 0 subindex = 0 } # proto msg = { label = "$lang_stats.field_labels.msg" type = "flat" index = 0 subindex = 0 } # msg code = { label = "$lang_stats.field_labels.code" type = "flat" index = 0 subindex = 0 } # code sent = { label = "$lang_stats.field_labels.sent" type = "size" index = 0 subindex = 0 hierarchy_dividers = "" left_to_right = false leading_divider = "false" } # sent rcvd = { label = "$lang_stats.field_labels.rcvd" type = "size" index = 0 subindex = 0 hierarchy_dividers = "" left_to_right = false leading_divider = "false" } # rcvd url = { label = "$lang_stats.field_labels.url" type = "page" index = 0 subindex = 0 hierarchy_dividers = "" left_to_right = false leading_divider = "false" } # url devicetime = "" } # log.fields # # Log Parsing Filters log.parsing_filters = { # Parse out the space-separated, =-divided variables 1 = { label = "1" comment = "" value = " collect_listed_fields_using_regexp('()(id=.*)$', ' ', '=', 'time=devicetime'); if (matches_regular_expression(current_log_line(), '^ *$')) then ( set_collected_field('', 'date', ''); set_collected_field('', 'time', ''); ); else if (matches_regular_expression(get_collected_field('', 'devicetime'), '^([0-9-]+) ([0-9:]+)')) then ( set_collected_field('', 'date', $1); set_collected_field('', 'time', $2); ); " } # 1 # Parse out src, src host, src port, src network 2 = { label = "2" comment = "" value = "collect_fields_using_regexp('() src=([0-9.]*) \\\\(([A-Za-z0-9.]*)\\\\) :([0-9]*):([A-Za-z0-9]*)', '*KEY*,src,src_host,src_port,src_network')" } # 2 # Parse out src, src port, src network 3 = { label = "3" comment = "" value = "collect_fields_using_regexp('() src=([^:]*):([0-9]*):([A-Za-z0-9]*)', '*KEY*,src,src_port,src_network')" } # 3 # Parse out dst, dst port, dst network 4 = { label = "4" comment = "" value = "collect_fields_using_regexp('() dst=([^:]*):([0-9]*):([A-Za-z0-9]*)', '*KEY*,dst,dst_port,dst_network')" } # 4 # Parse out dst, dst host, dst port, dst network 5 = { label = "5" comment = "" value = "collect_fields_using_regexp('() dst=([^:]*) \\\\(([A-Za-z0-9.]*)\\\\) :([0-9]*):([A-Za-z0-9]*)', '*KEY*,dst,dst_host,dst_port,dst_network')" } # 5 # Accept the collected field 6 = { label = "6" comment = "" value = "accept_collected_entry_using_regexp('()', false)" } # 6 } # log.parsing_filters # Database fields database.fields = { src = { label = "$lang_stats.field_labels.src" log_field = "src" type = "string" suppress_top = 0 suppress_bottom = 2 } # src src_host = { label = "$lang_stats.field_labels.src_host" log_field = "src_host" type = "string" suppress_top = 0 suppress_bottom = 2 } # src_host src_port = { label = "$lang_stats.field_labels.src_port" log_field = "src_port" type = "string" suppress_top = 0 suppress_bottom = 2 } # src_port src_network = { label = "$lang_stats.field_labels.src_network" log_field = "src_network" type = "string" suppress_top = 0 suppress_bottom = 2 } # src_network dst = { label = "$lang_stats.field_labels.dst" log_field = "dst" type = "string" suppress_top = 0 suppress_bottom = 2 } # dst dstname = { label = "$lang_stats.field_labels.dstname" log_field = "dstname" type = "string" suppress_top = 0 suppress_bottom = 2 } # dstname dst_host = { label = "$lang_stats.field_labels.dst_host" log_field = "dst_host" type = "string" suppress_top = 0 suppress_bottom = 2 } # dst_host dst_port = { label = "$lang_stats.field_labels.dst_port" log_field = "dst_port" type = "string" suppress_top = 0 suppress_bottom = 2 } # dst_port dst_network = { label = "$lang_stats.field_labels.dst_network" log_field = "dst_network" type = "string" suppress_top = 0 suppress_bottom = 2 } # dst_network url = { label = "$lang_stats.field_labels.url" log_field = "url" type = "string" suppress_top = 0 suppress_bottom = 2 } # url id = { label = "$lang_stats.field_labels.id" log_field = "id" type = "string" suppress_top = 0 suppress_bottom = 2 } # id sn = { label = "$lang_stats.field_labels.sn" log_field = "sn" type = "string" suppress_top = 0 suppress_bottom = 2 } # sn fw = { label = "$lang_stats.field_labels.fw" log_field = "fw" type = "string" suppress_top = 0 suppress_bottom = 2 } # fw c = { label = "$lang_stats.field_labels.c" log_field = "c" type = "string" suppress_top = 0 suppress_bottom = 2 } # c m = { label = "$lang_stats.field_labels.m" log_field = "m" type = "string" suppress_top = 0 suppress_bottom = 2 } # m n = { label = "$lang_stats.field_labels.n" log_field = "n" type = "string" suppress_top = 0 suppress_bottom = 2 } # n proto = { label = "$lang_stats.field_labels.proto" log_field = "proto" type = "string" suppress_top = 0 suppress_bottom = 2 } # proto msg = { label = "$lang_stats.field_labels.msg" log_field = "msg" type = "string" suppress_top = 0 suppress_bottom = 2 } # msg code = { label = "$lang_stats.field_labels.code" log_field = "code" type = "string" suppress_top = 0 suppress_bottom = 2 } # code } # database.fields # Log Filters log.filters = { # This filter builds the URL field from the proto, dstname, and arg fields 1 = { label = "1" comment = "" value = "url = proto;" } # 1 2 = { label = "2" comment = "" value = "url = replace_all(url, 'tcp/', '');" } # 2 3 = { label = "3" comment = "" value = "url = '' . url . '://' . dstname;" } # 3 5 = { label = "5" comment = "" value = "if (ends_with(url, '(empty)')) then url = '';" } # 5 simplify_url = { label = "$lang_admin.log_filters.simplify_url_label" comment = "$lang_admin.log_filters.simplify_url_comment" value = "if (matches_regular_expression(url, '^([^:]+://[^/]+/)')) then url = $1 . '(omitted)'" } # simplify_url set_page_for_worm = { label = "$lang_admin.log_filters.set_page_for_worm_label" comment = "$lang_admin.log_filters.set_page_for_worm_comment" value = "if (starts_with(worm, '(')) then '' else url = '(worm)';" } # set_page_for_worm remove_query = { label = "$lang_admin.log_filters.remove_query_label" comment = "$lang_admin.log_filters.remove_query_comment" value = "if (contains(url, '?')) then url = substr(url, 0, index(url, '?') + 1) . '(parameters)';" } # remove_query detect_page_views = { label = '$lang_admin.log_filters.detect_page_views_label' comment = '$lang_admin.log_filters.detect_page_views_comment' value = "if ((file_type eq 'JPEG') or (file_type eq 'JPG') or (file_type eq 'GIF') or (file_type eq 'ICO') or (file_type eq 'PNG') or (file_type eq 'CSS') or (file_type eq 'SWF') or (file_type eq 'JS')) then page_views = 0; else page_views = 1;" } # detect_page_views strip_non_page_views = { label = '$lang_admin.log_filters.strip_non_page_views_label' comment = '$lang_admin.log_filters.strip_non_page_views_comment' value = "if (page_views == 0) then url = substr(url, 0, last_index(url, '/') + 1) . '(nonpage)';" } # strip_non_page_views 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 log.field_options = { sessions_page_field = "url" sessions_visitor_id_field = "src" sessions_event_field = "page_views" } # log.field_options database.numerical_fields = { events = { label = "$lang_stats.field_labels.events" default = false requires_log_field = false type = "int" display_format_type = "integer" entries_field = true } # events page_views = { label = "$lang_stats.field_labels.page_views" default = true requires_log_field = false type = "int" display_format_type = "integer" } # page_views visitors = { label = "$lang_stats.field_labels.visitors" default = false requires_log_field = true log_field = "src" type = "unique" display_format_type = "integer" } # visitors sent = { label = "$lang_stats.field_labels.sent" default = false requires_log_field = true log_field = "sent" type = "float" display_format_type = "bandwidth" } # sent rcvd = { label = "$lang_stats.field_labels.rcvd" default = false requires_log_field = true log_field = "rcvd" type = "float" display_format_type = "bandwidth" } # rcvd } # database.numerical_fields create_profile_wizard_options = { host_tracking = true # How the reports should be grouped in the report menu report_groups = { date_time_group = "" source_group = { src = true src_host = true src_port = true src_network = true } destination_group = { dst = true dstname = true dst_host = true dst_port = true dst_network = true url = true } other_group = { logging_device = true syslog_priority = true id = true sn = true fw = true c = true m = true n = true proto = true msg = true code = true } } # report_groups } # create_profile_wizard_options not_supported = { } # not_supported } # sonic_wall