Lucene search

K
openvasCopyright (C) 2020 Greenbone AGOPENVAS:1361412562310150466
HistoryNov 20, 2020 - 12:00 a.m.

GaussDB Kernel: Enabling the Separation of Duties

2020-11-2000:00:00
Copyright (C) 2020 Greenbone AG
plugins.openvas.org
1

7.2 High

AI Score

Confidence

Low

If the parameter enableSeparationOfDuty is set to on, the separation of duties is
enabled to control system administrator permissions. In this mode, system
administrators cannot create or modify user configurations or access data in
private users

# SPDX-FileCopyrightText: 2020 Greenbone AG
# Some text descriptions might be excerpted from (a) referenced
# source(s), and are Copyright (C) by the respective right holder(s).
#
# SPDX-License-Identifier: GPL-2.0-only

if(description)
{
  script_oid("1.3.6.1.4.1.25623.1.0.150466");
  script_version("2024-06-28T05:05:33+0000");
  script_tag(name:"last_modification", value:"2024-06-28 05:05:33 +0000 (Fri, 28 Jun 2024)");
  script_tag(name:"creation_date", value:"2020-11-20 10:52:10 +0000 (Fri, 20 Nov 2020)");
  script_tag(name:"cvss_base", value:"0.0");
  script_tag(name:"cvss_base_vector", value:"AV:L/AC:H/Au:S/C:N/I:N/A:N");
  script_tag(name:"qod", value:"97");

  script_name("GaussDB Kernel: Enabling the Separation of Duties");

  script_category(ACT_GATHER_INFO);
  script_copyright("Copyright (C) 2020 Greenbone AG");
  script_family("Policy");
  script_dependencies("compliance_tests.nasl", "gb_huawei_gaussdb_kernel_ssh_login_detect.nasl", "gaussdbkernel_authentication_information.nasl");
  script_mandatory_keys("huawei/gaussdb_kernel/detected", "Compliance/Launch");

  script_tag(name:"summary", value:"If the parameter enableSeparationOfDuty is set to on, the separation of duties is
enabled to control system administrator permissions. In this mode, system
administrators cannot create or modify user configurations or access data in
private users' schemas. In this way, system administrators' access to private data is
controlled. You are advised to disable the GUC parameter
enable_copy_server_files to control the COPY permission of the system
administrator, preventing the system administrator from reading or modifying the
user configuration file using the copy command.
For details about the separation of duties, see the Administrator Guide.");

  exit(0);
}

include( "policy_functions.inc" );
include( "ssh_func.inc" );

cmd = "SELECT name,setting FROM pg_settings WHERE name = 'enableSeparationOfDuty';";
title = "Enabling the Separation of Duties";
solution = "Change the value of enableSeparationOfDuty to on and restart the database.";
default = "on";
test_type = "SQL_Query";

if( ! get_kb_item( "login/SSH/success" ) || ! sock = ssh_login_or_reuse_connection() ) {
  compliant = "incomplete";
  value = "error";
  comment = "No SSH connection to host";
}else if ( ! value = policy_gsql_cmd( socket:sock, query:cmd, db_type:"gaussdbkernel" ) ) {
  compliant = "incomplete";
  value = "error";
  comment = "SQL command did not return anything";
}else if ( value =~ "failed to connect" ) {
  compliant = "incomplete";
  value = "error";
  comment = "No connection to database";
}else{
  value = ereg_replace( string:chomp( value ), pattern:"^\s+", replace:"" );
  setting = eregmatch( string:value, pattern:"enableSeparationOfDuty\s+\|\s+(.+)" );
  if( ! setting[1] ){
    compliant = "incomplete";
    comment = "Can not determine setting.";
  }else{
    compliant = policy_setting_exact_match( value:setting[1], set_point:default );
  }
}

policy_reporting( result:value, default:default, compliant:compliant, fixtext:solution,
  type:test_type, test:cmd, info:comment );

policy_set_kbs( type:test_type, cmd:cmd, default:default, solution:solution, title:title,
  value:value, compliant:compliant );

exit( 0 );

7.2 High

AI Score

Confidence

Low