Example #1
0
/**
 * @param $conn
 * @param $asset_id
 *
 * @return array
 */
function get_asset_tags($conn, $asset_id)
{
    if (!Asset_host::is_allowed($conn, $asset_id)) {
        $error = _('Asset Not Allowed');
        Util::response_bad_request($error);
    }
    return get_tags($conn, $asset_id);
}
Example #2
0
function get_asset_groups($conn, $asset_id)
{
    if (!Asset_host::is_allowed($conn, $asset_id)) {
        $error = _('Asset Not Allowed');
        Util::response_bad_request($error);
    }
    try {
        $asset = Asset_host::get_object($conn, $asset_id);
        $num = $asset->get_num_group($conn);
    } catch (Exception $e) {
        $num = '-';
    }
    return $num;
}
Example #3
0
$conn = $db->connect();
$validation_errors = validate_form_fields('POST', $validate);
switch ($action) {
    case 'select_os':
        $os_windows = POST('os_windows');
        break;
    case 'deploy_agent':
        $sensor_id = POST('sensor_id');
        $ip_address = POST('ip_address');
        $user = POST('user');
        $pass = POST('pass');
        $domain = POST('domain');
        //Extra validations
        if (empty($validation_errors)) {
            //Checking Asset ID
            if (Asset_host::is_allowed($conn, $asset_id) == FALSE) {
                $validation_errors['asset_id'] = _('You do not have permission to deploy HIDS agent to this asset. Please check with your account admin for more information');
            }
            //Checking HIDS Sensor
            $cnd_1 = Ossec_utilities::is_sensor_allowed($conn, $sensor_id) == FALSE;
            $asset_sensors = Asset_host_sensors::get_sensors_by_id($conn, $asset_id);
            $cnd_2 = empty($asset_sensors[$sensor_id]);
            if ($cnd_1 || $cnd_2) {
                $validation_errors['sensor_id'] = sprintf(_("Sensor %s not allowed. Please check with your account admin for more information"), Av_sensor::get_name_by_id($conn, $sensor_id));
            }
            //Checking IP Address
            $aux_asset_ips = Asset_host_ips::get_ips_to_string($conn, $asset_id);
            if (preg_match('/' . $ip_address . '/', $aux_asset_ips) == FALSE) {
                $validation_errors['ip_address'] = _("The IP address you enter is not valid. Please check your asset and network settings and try again");
            }
        }
Example #4
0
    $inserts[] = "REPLACE INTO datawarehouse.ssi_user SELECT *,'{$user}' FROM datawarehouse.ssi \n        WHERE 1 AND (source IN ('" . implode("','", array_keys($srcs)) . "') OR destination IN ('" . implode("','", array_keys($dsts)) . "'))";
    $sql = "SELECT source, destination FROM datawarehouse.incidents_ssi WHERE 1 {$ips_filter}";
    // AND month=$month
    //echo $sql;
    // INCIDENTS_SSI
    if (!($rs =& $conn->Execute($sql))) {
        Av_exception::throw_error(Av_exception::DB_ERROR, $conn->ErrorMsg());
    }
    // test perms for source or destination ips
    while (!$rs->EOF) {
        $ip_src = $rs->fields['source'];
        $ip_dst = $rs->fields['destination'];
        if (isset($srcs[$ip_src]) || Asset_host::is_allowed($conn, $ip_src)) {
            $srcs[$ip_src]++;
        }
        if (isset($dsts[$ip_dst]) || Asset_host::is_allowed($conn, $ip_dst)) {
            $dsts[$ip_dst]++;
        }
        $rs->MoveNext();
    }
    $inserts[] = "REPLACE INTO datawarehouse.incidents_ssi_user SELECT *,'{$user}' FROM datawarehouse.incidents_ssi \n        WHERE 1 AND (source IN ('" . implode("','", array_keys($srcs)) . "') OR destination IN ('" . implode("','", array_keys($dsts)) . "'))";
} else {
    $inserts[] = "REPLACE INTO datawarehouse.ssi_user SELECT *,'{$user}' FROM datawarehouse.ssi WHERE 1 {$ips_filter}";
    $inserts[] = "REPLACE INTO datawarehouse.incidents_ssi_user SELECT *,'{$user}' FROM datawarehouse.incidents_ssi WHERE 1 {$ips_filter}";
}
// Delete first and fill only with permited data
$conn->Execute("DELETE FROM datawarehouse.ssi_user WHERE user = '******'");
$conn->Execute("DELETE FROM datawarehouse.incidents_ssi_user WHERE user = '******'");
foreach ($inserts as $insert) {
    if (!$conn->Execute($insert)) {
        Av_exception::throw_error(Av_exception::DB_ERROR, $conn->ErrorMsg());
$asset_id = GET('asset_id');
$asset_type = GET('asset_type');
$response['session_updated'] = FALSE;
$reloaded = FALSE;
ossim_valid($asset_id, OSS_HEX, 'illegal: ' . _('Asset ID'));
ossim_valid($asset_type, OSS_ALPHA, 'illegal: ' . _('Asset Type'));
if (ossim_error()) {
    echo json_encode($response);
    exit;
}
$db = new ossim_db();
$conn = $db->connect();
// Load the current asset object in session same as in index.php
// Host
if (Asset_host::is_in_db($conn, $asset_id)) {
    if (Asset_host::is_allowed($conn, $asset_id)) {
        $asset_object = Asset_host::get_object($conn, $asset_id);
        $reloaded = TRUE;
    }
} elseif (Asset_net::is_in_db($conn, $asset_id)) {
    if (Asset_net::is_allowed($conn, $asset_id)) {
        $asset_object = Asset_net::get_object($conn, $asset_id);
        $reloaded = TRUE;
    }
} elseif (Asset_group::is_in_db($conn, $asset_id)) {
    $asset_object = Asset_group::get_object($conn, $asset_id);
    $reloaded = TRUE;
}
// Save session object only if is already saved (it means the user has perms)
if (!empty($_SESSION['asset_detail'][$asset_id]) && $reloaded) {
    $_SESSION['asset_detail'][$asset_id] = serialize($asset_object);