# Copyright (c) 2010 Flowerfire, Inc. All Rights Reserved. abocom_vpn_firewall = { plugin_version = "1.0.1" info.1.manfacturer = "Abocom Systems" info.1.device = "VPN Firewall FW550" info.1.version.1 = "" # 2007-02-27 - 1.0beta - KBB - initial creation # 2007-09-11 - 1.0 - KBB - renumbered per new beta policy # 2010-10-07 - 1.0.1 - MSG - Edited info lines. # The name of the log format log.format.format_label = "AboCom VPN Firewall FW550" log.miscellaneous.log_data_type = "syslog_required" log.miscellaneous.log_format_type = "firewall" info.1.manfacturer = "AboCom Systems, Inc." info.1.device = "VPN Firewall" info.1.version.1 = "FW550" # The log is in this format if any of the first ten lines match this regular expression #2007-02-01\t10:31:21\tDaemon.Notice\t191.3.3.23\tlogd: '050830120452 ACCEPT LOG ' SRC=10.10.10.10 DST=191.44.14.3 PROTO=TCP SPT=80 DPT=1363 LEN=1500 DIR=in MARK=13143144b64 count=74451854 (Feb 1 10:31:32 2007) log.format.autodetect_regular_expression = "logd: '[0-9]+ [A-Z]+ *[^']*' SRC=[0-9.]+ DST=[0-9.]+ PROTO=[A-Z]+ SPT=[0-9]+ DPT=[0-9]+ LEN=[0-9]+ DIR=[a-z]+ MARK=[^ ]+ count=[0-9]+ \\([A-Za-z]{3} [0-9 ]?[0-9] [0-9]{2}:[0-9]{2}:[0-9]{2} [0-9]{4}\\)" # All log field parsing will be done using the parsing filters log.format.parse_only_with_filters = "true" # Log fields log.fields = { action = "" src_ip.type = "host" location = "" dst_ip = "" src_port = "" dst_port = "" length = "" direction = "" protocol = "" mark = "" } # log.fields # Log Parsing Filters log.parsing_filters.parse = ` if (matches_regular_expression(v.syslog_message, "logd: '[0-9]+ ([A-Z]+) *[^']*' SRC=([0-9.]+) DST=([0-9.]+) PROTO=([A-Z]+) SPT=([0-9]+) DPT=([0-9]+) LEN=([0-9]+) DIR=([a-z]+) MARK=([^ ]+) count=[0-9]+ \\\\(([A-Za-z]{3}) ([0-9 ]?[0-9]) ([0-9]{2}:[0-9]{2}:[0-9]{2}) ([0-9]{4})\\\\)")) then ( set_collected_field('', 'action', $1); set_collected_field('', 'src_ip', $2); set_collected_field('', 'dst_ip', $3); set_collected_field('', 'protocol', $4); set_collected_field('', 'src_port', $5); set_collected_field('', 'dst_port', $6); set_collected_field('', 'length', $7); set_collected_field('', 'direction', $8); set_collected_field('', 'mark', $9); set_collected_field('', 'date', $13 . "/" . $10 . "/" . $11); set_collected_field('', 'time', $12); accept_collected_entry('', false); ); ` # Database fields database.fields = { action = "" src_ip = "" location = "" dst_ip = "" src_port = "" dst_port = "" length = "" direction = "" protocol = "" mark = "" } # 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 = 'accesses = 1;' } # mark_entry } # log.filters database.numerical_fields = { accesses = { requires_log_field = false default = true entries_field = true } # accesses unique_source_ips = { log_field = "src_ip" type = "unique" } # unique_source_ips } # 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 } # abocom_vpn_firewall