$home_net = implode(",", $home_net_list); $home_net = trim($home_net); $external_net = ""; if (!empty($suricatacfg['externallistname']) && $suricatacfg['externallistname'] != 'default') { $external_net_list = suricata_build_list($suricatacfg, $suricatacfg['externallistname'], false, true); $external_net = implode(",", $external_net_list); $external_net = "[" . trim($external_net) . "]"; } else { $external_net = "["; foreach ($home_net_list as $ip) { $external_net .= "!{$ip},"; } $external_net = trim($external_net, ', ') . "]"; } // Set the PASS LIST and write its contents to disk $plist = suricata_build_list($suricatacfg, $suricatacfg['passlistname'], true); @file_put_contents("{$suricatacfgdir}/passlist", implode("\n", $plist)); $suri_passlist = "{$suricatacfgdir}/passlist"; // Set default and user-defined variables for SERVER_VARS and PORT_VARS $suricata_servers = array("dns_servers" => "\$HOME_NET", "smtp_servers" => "\$HOME_NET", "http_servers" => "\$HOME_NET", "sql_servers" => "\$HOME_NET", "telnet_servers" => "\$HOME_NET", "dnp3_server" => "\$HOME_NET", "dnp3_client" => "\$HOME_NET", "modbus_server" => "\$HOME_NET", "modbus_client" => "\$HOME_NET", "enip_server" => "\$HOME_NET", "enip_client" => "\$HOME_NET", "ftp_servers" => "\$HOME_NET", "ssh_servers" => "\$HOME_NET", "aim_servers" => "64.12.24.0/23,64.12.28.0/23,64.12.161.0/24,64.12.163.0/24,64.12.200.0/24,205.188.3.0/24,205.188.5.0/24,205.188.7.0/24,205.188.9.0/24,205.188.153.0/24,205.188.179.0/24,205.188.248.0/24"); $addr_vars = ""; foreach ($suricata_servers as $alias => $avalue) { if (!empty($suricatacfg["def_{$alias}"]) && is_alias($suricatacfg["def_{$alias}"])) { $avalue = trim(filter_expand_alias($suricatacfg["def_{$alias}"])); $avalue = preg_replace('/\\s+/', ',', trim($avalue)); } $addr_vars .= " " . strtoupper($alias) . ": \"{$avalue}\"\n"; } $addr_vars = trim($addr_vars); if (is_array($config['system']['ssh']) && isset($config['system']['ssh']['port'])) { $ssh_port = $config['system']['ssh']['port'];
$contents = implode("\n", $list); $title = "Pass List"; } elseif ($type == "suppress") { $list = suricata_find_list($wlist, $type); $contents = str_replace("\r", "", base64_decode($list['suppresspassthru'])); $title = "Suppress List"; } elseif ($type == "externalnet") { if ($wlist == "default") { $list = suricata_build_list($a_rule, $a_rule['homelistname']); $contents = ""; foreach ($list as $ip) { $contents .= "!{$ip}\n"; } $contents = trim($contents, "\n"); } else { $list = suricata_build_list($a_rule, $wlist, false, true); $contents = implode("\n", $list); } $title = "EXTERNAL_NET"; } else { $contents = gettext("\n\nERROR -- Requested List Type entity is not valid!"); } } else { $contents = gettext("\n\nERROR -- Supplied interface or List entity is not valid!"); } $pgtitle = array(gettext("Suricata"), gettext($title . " Viewer")); ?> <?php include "head.inc"; ?>