Esempio n. 1
0
function test_agents()
{
    require "conf/_conf.php";
    $res = true;
    if (file_exists($agent_conf)) {
        if (file_exists("/var/ossec/bin/verify-agent-conf")) {
            exec("sudo /var/ossec/bin/verify-agent-conf > /tmp/ossec-agent-conf 2>&1", $result, $res);
            $result = file('/tmp/ossec-agent-conf', FILE_IGNORE_NEW_LINES);
            if (!is_array($result)) {
                $res = _("Error to read {$agent_conf}");
            } else {
                if (is_array($result) && count($result) > 0) {
                    $res = implode("<br/><br/>", $result);
                } else {
                    $res = true;
                }
            }
            @unlink('/tmp/ossec-agent-conf');
        } else {
            $agent_file = @file_get_contents($agent_conf);
            if (!empty($agent_file)) {
                $xml_obj = new xml("_level_key");
                $xml_obj->load_file($agent_conf);
                if ($xml_obj->errors['status'] == false) {
                    $res = implode("", $xml_obj->errors['msg']);
                }
            }
        }
    }
    return $res;
}
Esempio n. 2
0
    $result = test_conf();
    if ($result !== true) {
        $error = true;
        $link_txt = _("Configuration error in file") . " " . basename($ossec_conf) . " " . _("and/or") . " " . $editable_files[0];
        $info_conf = "<span style='font-weight: bold;'>{$link_txt}<a onclick=\"\$('#msg_errors').toggle();\"> [" . _("View errors") . "]</a><br/></span>";
        $info_conf .= "<div id='msg_errors'>{$result}</div>";
        $error_conf = "<div id='parse_errors' class='oss_error'>{$info_conf}</div>";
    } else {
        $file_xml = @file_get_contents($filename, false);
        if ($file_xml === false) {
            $error = true;
        } else {
            $_level_key_name = set_key_name($_level_key_name, $file_xml);
            $_SESSION['_level_key_name'] = $_level_key_name;
            $xml_obj = new xml($_level_key_name);
            $xml_obj->load_file($filename);
            $array_xml = $xml_obj->xml2array();
            $tree_json = array2json($array_xml, $filename);
            $_SESSION['_tree_json'] = $tree_json;
            $_SESSION['_tree'] = $array_xml;
            $file_xml = clean_string($file_xml);
        }
    }
} else {
    $error = true;
}
if ($error == true) {
    $file_xml = '';
    $tree_json = "{title:'<span>" . $filename . "</span>', icon:'../../pixmaps/theme/any.png', addClass:'size12', isFolder:'true', key:'1', children:[{title: '<span>" . _("No Valid XML File") . "</span>', icon:'../../pixmaps/theme/ltError.gif', addClass:'bold_red', key:'load_error'}]}";
    $_SESSION['_tree_json'] = $tree_json;
    $_SESSION['_tree'] = array();
Esempio n. 3
0
$error = false;
if (@copy($path, $path_tmp) == false) {
    echo "2###" . _("Failure to update XML File") . " (1)";
    exit;
}
$result = test_conf();
if ($result !== true) {
    echo "4###" . $result;
    exit;
}
$file_to_text = file_get_contents($path, false);
$_level_key_name = set_key_name($_level_key_name, $file_to_text);
$new_rule['rule'] = $child['tree'];
//Tree local_rules.xml
$xml_obj = new xml($_level_key_name);
$xml_obj->load_file($path);
$tree_lr = $xml_obj->xml2array();
foreach ($tree_lr as $k => $v) {
    if (isset($tree_lr[$k]['group'])) {
        $__level_key = $tree_lr[$k]['group']['@attributes']['__level_key'];
        $child = getChild($tree_lr, $__level_key);
        $keys = array_keys($child['tree']);
        if (is_numeric($keys[count($keys) - 1])) {
            $aux_key = $keys[count($keys) - 1] + 1;
            $new_key = !in_array($aux_key, $keys) ? $aux_key : uniqid(mt_rand("1", mt_getrandmax()));
        } else {
            $new_key = uniqid(mt_rand("1", mt_getrandmax()));
        }
        break;
    }
}
Esempio n. 4
0
    echo "<tr>";
    echo "<td style='padding: 3px 0px 20px 0px;'><form name='cnf_form_rules' id='cnf_form_rules' method='POST'><select id='rules_added' class='multiselect' multiple='multiple' name='rules_added[]'>";
    foreach ($rules_enabled as $k => $v) {
        echo "<option value='{$v}' selected='selected'>{$v}</option>";
    }
    foreach ($no_added_rules as $k => $v) {
        echo "<option value='{$v}' >{$v}</option>";
    }
    echo "</select></form></td>";
    echo "</tr>";
    echo "<tr><td style='padding-bottom:10px;'><input type='button' class='button' id='send' value='" . _('Update') . "' onclick=\"save_config_tab();\"/></td></tr>";
    echo "</table></div>";
} else {
    if ($tab == '#tab2') {
        $xml_obj = new xml("key");
        $xml_obj->load_file($ossec_conf);
        $array_oss_cnf = $xml_obj->xml2array();
        $syscheck = get_nodes($array_oss_cnf, 'syscheck');
        $directories = get_nodes($syscheck, 'directories');
        $wentries = get_nodes($syscheck, 'windows_registry');
        $reg_ignores = get_nodes($syscheck, 'registry_ignore');
        $ignores = get_nodes($syscheck, 'ignore');
        $frequency = get_nodes($syscheck, 'frequency');
        $frequency = $frequency[0][0];
        $scan_day = get_nodes($syscheck, 'scan_day');
        $scan_day = $scan_day[0][0];
        $scan_time = get_nodes($syscheck, 'scan_time');
        $scan_time = $scan_time[0][0];
        $st = !empty($scan_time) ? explode(":", $scan_time) : array();
        $auto_ignore = get_nodes($syscheck, 'auto_ignore');
        $auto_ignore = empty($auto_ignore[0][0]) ? "no" : $auto_ignore[0][0];