Estos contenidos se han traducido de forma automática para su comodidad, pero Huawei Cloud no garantiza la exactitud de estos. Para consultar los contenidos originales, acceda a la versión en inglés.
Centro de ayuda/ Host Security Service/ Referencia de la API/ Descripción de la API/ Gestión de vulnerabilidades/ Consulta de los servidores afectados por una vulnerabilidad
Actualización más reciente 2025-04-08 GMT+08:00

Consulta de los servidores afectados por una vulnerabilidad

Función

Esta API se utiliza para consultar los servidores afectados por una vulnerabilidad.

Método de invocación

Para obtener más información, consulte Invocación a las API.

URI

GET /v5/{project_id}/vulnerability/hosts

Tabla 1 Parámetros de ruta

Parámetro

Obligatorio

Tipo

Descripción

project_id

String

ID de proyecto

Mínimo: 1

Máximo: 256

Tabla 2 Parámetros de consulta

Parámetro

Obligatorio

Tipo

Descripción

enterprise_project_id

No

String

ID de proyecto empresarial. Para consultar todos los proyectos empresariales, establezca este parámetro en all_granted_eps.

Mínimo: 0

Máximo: 128

vul_id

String

ID de vulnerabilidad

Mínimo: 0

Máximo: 64

type

String

Tipo de vulnerabilidad

  • linux_vul: vulnerabilidad de Linux

  • windows_vul: vulnerabilidad de Windows -web_cms: vulnerabilidad de Web-CMS

  • app_vul: vulnerabilidad de la aplicación

  • urgent_vul: vulnerabilidad de emergencia

Mínimo: 0

Máximo: 64

host_name

No

String

Nombre del servidor afectado

Mínimo: 0

Máximo: 256

host_ip

No

String

Dirección IP del servidor afectado

Mínimo: 0

Máximo: 128

status

No

String

Estado de vulnerabilidad.

  • vul_status_unfix: no corregido

  • vul_status_ignored: ignorado

    • vul_status_verified: verificación en curso

    • vul_status_fixing: La corrección está en curso.

    • vul_status_fixed: La corrección se realizó correctamente.

    • vul_status_reboot: El problema está resuelto y a la espera de reiniciar.

    • vul_status_failed: No se pudo solucionar el problema.

    • vul_status_fix_after_reboot: Reinicie el servidor y vuelva a intentarlo.

Mínimo: 0

Máximo: 128

limit

No

Integer

Número de registros en cada página

Mínimo: 10

Máximo: 200

Valor predeterminado: 10

offset

No

Integer

Desfase, que especifica la posición inicial del registro que se va a devolver. El valor debe ser un número no menor que 0. El valor predeterminado es 0.

Mínimo: 0

Máximo: 2000000

Valor predeterminado: 0

asset_value

No

String

Importancia de los activos importante prueba común

Mínimo: 0

Máximo: 32

group_name

No

String

Nombre del grupo de servidores

Mínimo: 0

Máximo: 256

handle_status

No

String

descripción: |- Estado de gestión. Las opciones son las siguientes: - unhandled - handled

Mínimo: 1

Máximo: 32

severity_level

No

String

Nivel de riesgo. El valor puede ser Crítico, Alto, Medio o Bajo.

Mínimo: 0

Máximo: 32

is_affect_business

No

Boolean

Indica si los servicios se ven afectados. El valor puede ser y o n.

repair_priority

No

String

Prioridad de corrección. Las opciones son las siguientes:

  • Crítico

  • Alto

  • Intermedio

  • Bajo

Mínimo: 1

Máximo: 10

Parámetros de solicitud

Tabla 3 Parámetros de encabezado de solicitud

Parámetro

Obligatorio

Tipo

Descripción

X-Auth-Token

String

Token de usuario. Se puede obtener invocando a la API de IAM utilizada para obtener un token de usuario. El valor de X-Subject-Token en el encabezado de respuesta es un token.

Mínimo: 1

Máximo: 32768

Parámetros de respuesta

Código de estado: 200

Tabla 4 Parámetros del cuerpo de respuesta

Parámetro

Tipo

Descripción

total_num

Integer

Cantidad de servidores afectados

Mínimo: 0

Máximo: 10000

data_list

Array of VulHostInfo objects

Lista de ECS afectados

Longitud de matriz: 1 - 10000

Tabla 5 VulHostInfo

Parámetro

Tipo

Descripción

host_id

String

ID del servidor afectado por la vulnerabilidad

Mínimo: 1

Máximo: 128

severity_level

String

Nivel de riesgo.

  • Crítico: La puntuación CVSS de la vulnerabilidad es mayor o igual a 9, correspondiente al nivel de riesgo alto en la consola.

  • Alto: La puntuación CVSS de la vulnerabilidad es mayor o igual a 7 y menor a 9, correspondiente al nivel de riesgo medio de la consola.

  • Medio: La puntuación CVSS de la vulnerabilidad es mayor o igual a 4 y menor a 7, correspondiente al nivel de riesgo medio de la consola.

  • Bajo: La puntuación CVSS de la vulnerabilidad es menor que 4, correspondiente al nivel de riesgo bajo en la consola.

Mínimo: 1

Máximo: 128

host_name

String

Nombre del servidor afectado

Mínimo: 1

Máximo: 256

host_ip

String

Dirección IP del servidor afectado

Mínimo: 1

Máximo: 256

agent_id

String

ID del agente correspondiente al servidor

Mínimo: 1

Máximo: 128

version

String

La versión de cuota vinculada al servidor

Mínimo: 1

Máximo: 128

cve_num

Integer

Vulnerabilidad CVE

Mínimo: 0

Máximo: 10000

cve_id_list

Array of strings

La lista de ID de CVE correspondiente a la vulnerabilidad

Mínimo: 1

Máximo: 64

Longitud de matriz: 1 - 10000

status

String

Estado de vulnerabilidad.

  • vul_status_unfix: no corregido

  • vul_status_ignored: ignorado

  • vul_status_verified: verificación en curso

  • vul_status_fixing: La corrección está en curso.

  • vul_status_fixed: La corrección se realizó correctamente.

  • vul_status_reboot: El problema está resuelto y a la espera de reiniciar.

  • vul_status_failed: No se pudo solucionar el problema.

  • vul_status_fix_after_reboot: Reinicie el servidor y vuelva a intentarlo.

Mínimo: 1

Máximo: 128

repair_cmd

String

Línea de comandos que se ejecutará para corregir la vulnerabilidad (Este campo está disponible solo para vulnerabilidades de Linux).

Mínimo: 1

Máximo: 256

app_path

String

Ruta del software de la aplicación (Este campo solo está disponible para las vulnerabilidades de la aplicación).

Mínimo: 1

Máximo: 512

region_name

String

Región

Mínimo: 0

Máximo: 128

public_ip

String

Dirección IP pública del servidor

Mínimo: 0

Máximo: 128

private_ip

String

Dirección IP privada del servidor

Mínimo: 0

Máximo: 128

group_id

String

ID de grupo de servidores

Mínimo: 0

Máximo: 128

group_name

String

Nombre del grupo de servidores

Mínimo: 0

Máximo: 256

os_type

String

Sistema operativo (OS)

Mínimo: 0

Máximo: 32

asset_value

String

Importancia del activo. Las opciones son las siguientes:

  • Importante

  • Común

  • Prueba

Mínimo: 0

Máximo: 32

is_affect_business

Boolean

Si los servicios se ven afectados

first_scan_time

Long

Fecha y hora de primer análisis

Mínimo: 0

Máximo: 9223372036854775807

scan_time

Long

Tiempo de escaneo, en ms.

Mínimo: 0

Máximo: 9223372036854775807

support_restore

Boolean

Indica si los datos se pueden revertir a la copia de respaldo creada cuando se corrigió la vulnerabilidad.

disabled_operate_types

Array of disabled_operate_types objects

Lista de tipos de operación de vulnerabilidades que no se pueden realizar en el servidor actual.

Longitud de matriz: 1 - 10000

repair_priority

String

Prioridad de corrección. Las opciones son las siguientes:

  • Crítico

  • Alto

  • Intermedio

  • Bajo

Mínimo: 1

Máximo: 10

Tabla 6 disabled_operate_types

Parámetro

Tipo

Descripción

operate_type

String

Tipo de operación.

  • ignore

  • not_ignore: unignore

  • immediate_repair: fix

  • manual_repair:

  • verify

  • add_to_whitelist:

Mínimo: 1

Máximo: 64

reason

String

Indica el motivo por el que no se puede realizar la operación.

Mínimo: 0

Máximo: 512

Solicitudes de ejemplo

Consultar los primeros 10 registros de la lista de servidores con vulnerabilidad de EulerOS-SA-2021-1894.

GET https://{endpoint}/v5/2b31ed520xxxxxxebedb6e57xxxxxxxx/vulnerability/hosts?vul_id=EulerOS-SA-2021-1894&offset=0&limit=10

Ejemplo de respuestas

Código de estado: 200

Lista de información de host Vul

{
  "total_num" : 1,
  "data_list" : [ {
    "host_id" : "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "severity_level" : "Low",
    "host_name" : "ecs",
    "host_ip" : "xxx.xxx.xxx.xxx",
    "agent_id" : "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
    "version" : "hss.version.enterprise",
    "cve_num" : 1,
    "cve_id_list" : [ "CVE-2022-1664" ],
    "status" : "vul_status_ignored",
    "repair_cmd" : "zypper update update-alternatives",
    "app_path" : "/root/apache-tomcat-8.5.15/bin/bootstrap.jar",
    "support_restore" : true,
    "disabled_operate_types" : [ {
      "operate_type" : "immediate_repair",
      "reason" : "The kernel vulnerability of CCE container node cannot be automatically fixed."
    } ],
    "repair_priority" : "Critical"
  } ]
}

Código de ejemplo del SDK

El código de ejemplo del SDK es el siguiente.

Java

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
package com.huaweicloud.sdk.test;

import com.huaweicloud.sdk.core.auth.ICredential;
import com.huaweicloud.sdk.core.auth.BasicCredentials;
import com.huaweicloud.sdk.core.exception.ConnectionException;
import com.huaweicloud.sdk.core.exception.RequestTimeoutException;
import com.huaweicloud.sdk.core.exception.ServiceResponseException;
import com.huaweicloud.sdk.hss.v5.region.HssRegion;
import com.huaweicloud.sdk.hss.v5.*;
import com.huaweicloud.sdk.hss.v5.model.*;


public class ListVulHostsSolution {

    public static void main(String[] args) {
        // The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security.
        // In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment
        String ak = System.getenv("CLOUD_SDK_AK");
        String sk = System.getenv("CLOUD_SDK_SK");

        ICredential auth = new BasicCredentials()
                .withAk(ak)
                .withSk(sk);

        HssClient client = HssClient.newBuilder()
                .withCredential(auth)
                .withRegion(HssRegion.valueOf("<YOUR REGION>"))
                .build();
        ListVulHostsRequest request = new ListVulHostsRequest();
        request.withEnterpriseProjectId("<enterprise_project_id>");
        request.withVulId("<vul_id>");
        request.withType("<type>");
        request.withHostName("<host_name>");
        request.withHostIp("<host_ip>");
        request.withStatus("<status>");
        request.withLimit(<limit>);
        request.withOffset(<offset>);
        request.withAssetValue("<asset_value>");
        request.withGroupName("<group_name>");
        request.withHandleStatus("<handle_status>");
        request.withSeverityLevel("<severity_level>");
        request.withIsAffectBusiness(<is_affect_business>);
        request.withRepairPriority("<repair_priority>");
        try {
            ListVulHostsResponse response = client.listVulHosts(request);
            System.out.println(response.toString());
        } catch (ConnectionException e) {
            e.printStackTrace();
        } catch (RequestTimeoutException e) {
            e.printStackTrace();
        } catch (ServiceResponseException e) {
            e.printStackTrace();
            System.out.println(e.getHttpStatusCode());
            System.out.println(e.getRequestId());
            System.out.println(e.getErrorCode());
            System.out.println(e.getErrorMsg());
        }
    }
}

Python

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
# coding: utf-8

from huaweicloudsdkcore.auth.credentials import BasicCredentials
from huaweicloudsdkhss.v5.region.hss_region import HssRegion
from huaweicloudsdkcore.exceptions import exceptions
from huaweicloudsdkhss.v5 import *

if __name__ == "__main__":
    # The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security.
    # In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment
    ak = __import__('os').getenv("CLOUD_SDK_AK")
    sk = __import__('os').getenv("CLOUD_SDK_SK")

    credentials = BasicCredentials(ak, sk) \

    client = HssClient.new_builder() \
        .with_credentials(credentials) \
        .with_region(HssRegion.value_of("<YOUR REGION>")) \
        .build()

    try:
        request = ListVulHostsRequest()
        request.enterprise_project_id = "<enterprise_project_id>"
        request.vul_id = "<vul_id>"
        request.type = "<type>"
        request.host_name = "<host_name>"
        request.host_ip = "<host_ip>"
        request.status = "<status>"
        request.limit = <limit>
        request.offset = <offset>
        request.asset_value = "<asset_value>"
        request.group_name = "<group_name>"
        request.handle_status = "<handle_status>"
        request.severity_level = "<severity_level>"
        request.is_affect_business = <IsAffectBusiness>
        request.repair_priority = "<repair_priority>"
        response = client.list_vul_hosts(request)
        print(response)
    except exceptions.ClientRequestException as e:
        print(e.status_code)
        print(e.request_id)
        print(e.error_code)
        print(e.error_msg)

Go

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
package main

import (
	"fmt"
	"github.com/huaweicloud/huaweicloud-sdk-go-v3/core/auth/basic"
    hss "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/hss/v5"
	"github.com/huaweicloud/huaweicloud-sdk-go-v3/services/hss/v5/model"
    region "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/hss/v5/region"
)

func main() {
    // The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security.
    // In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment
    ak := os.Getenv("CLOUD_SDK_AK")
    sk := os.Getenv("CLOUD_SDK_SK")

    auth := basic.NewCredentialsBuilder().
        WithAk(ak).
        WithSk(sk).
        Build()

    client := hss.NewHssClient(
        hss.HssClientBuilder().
            WithRegion(region.ValueOf("<YOUR REGION>")).
            WithCredential(auth).
            Build())

    request := &model.ListVulHostsRequest{}
	enterpriseProjectIdRequest:= "<enterprise_project_id>"
	request.EnterpriseProjectId = &enterpriseProjectIdRequest
	request.VulId = "<vul_id>"
	request.Type = "<type>"
	hostNameRequest:= "<host_name>"
	request.HostName = &hostNameRequest
	hostIpRequest:= "<host_ip>"
	request.HostIp = &hostIpRequest
	statusRequest:= "<status>"
	request.Status = &statusRequest
	limitRequest:= int32(<limit>)
	request.Limit = &limitRequest
	offsetRequest:= int32(<offset>)
	request.Offset = &offsetRequest
	assetValueRequest:= "<asset_value>"
	request.AssetValue = &assetValueRequest
	groupNameRequest:= "<group_name>"
	request.GroupName = &groupNameRequest
	handleStatusRequest:= "<handle_status>"
	request.HandleStatus = &handleStatusRequest
	severityLevelRequest:= "<severity_level>"
	request.SeverityLevel = &severityLevelRequest
	isAffectBusinessRequest:= <is_affect_business>
	request.IsAffectBusiness = &isAffectBusinessRequest
	repairPriorityRequest:= "<repair_priority>"
	request.RepairPriority = &repairPriorityRequest
	response, err := client.ListVulHosts(request)
	if err == nil {
        fmt.Printf("%+v\n", response)
    } else {
        fmt.Println(err)
    }
}

Más información

Para obtener un código de ejemplo del SDK de más lenguajes de programación, consulte la pestaña Código de ejemplo en API Explorer. El código de ejemplo del SDK se puede generar automáticamente.

Códigos de estado

Código de estado

Descripción

200

Lista de información de host Vul

Códigos de error

Consulte Códigos de error.