Este conteúdo foi traduzido por máquina para sua conveniência e a Huawei Cloud não pode garantir que o conteúdo foi traduzido com precisão. Para exibir o conteúdo original, use o link no canto superior direito para mudar para a página em inglês.
Atualizado em 2024-09-14 GMT+08:00

Consulta da lista branca de alarmes

Função

Essa API é usada para consultar a lista branca de alarmes.

Método de chamada

Para obter detalhes, consulte Chamada de APIs.

URI

GET /v5/{project_id}/event/white-list/alarm

Tabela 1 Parâmetros de caminho

Parâmetro

Obrigatório

Tipo

Descrição

project_id

Sim

String

ID do projeto

Mínimo: 20

Máximo: 64

Tabela 2 Parâmetros de consulta

Parâmetro

Obrigatório

Tipo

Descrição

enterprise_project_id

Não

String

ID do projeto empresarial. Para consultar todos os projetos empresariais, defina este parâmetro como all_granted_eps.

Mínimo: 0

Máximo: 64

hash

Não

String

Valor de hash da descrição da lista branca de eventos (algoritmo SHA256)

Mínimo: 64

Máximo: 64

event_type

Não

Integer

Tipo de evento. Seu valor pode ser:

  • 1001: malware comum

  • 1002: vírus

  • 1003: worm

  • 1004: cavalo de Troia

  • 1005: rede de bots

  • 1006: backdoor

  • 1010: Rootkit

  • 1011: ransomware

  • 1012: ferramenta de hacker

  • 1015: web shell

  • 1016: mineração

  • 1017: shell reverso

  • 2001: exploração de vulnerabilidade comum

  • 2012: execução remota de código

  • 2047: exploração da vulnerabilidade do Redis

  • 2048: exploração da vulnerabilidade de Hadoop

  • 2049: exploração da vulnerabilidade de MySQL

  • 3002: escalonamento de privilégios de arquivo

  • 3003: escalonamento de privilégio de processo

  • 3004: alteração crítica de arquivo

  • 3005: alteração de arquivo/diretório

  • 3007: comportamento anormal do processo

  • 3015: execução de comandos de alto risco

  • 3018: shell anormal

  • 3027: tarefa crontab suspeita

  • 3029: proteção do sistema desativada

  • 3030: exclusão de backup

  • 3031: operações de registro suspeitas

  • 4002: ataque de força bruta

  • 4004: logon anormal

  • 4006: conta do sistema inválida

  • 4014: conta adicionada

  • 4020: roubo de senha

  • 6003: verificação do servidor

Mínimo: 1000

Máximo: 30000

offset

Não

Integer

Deslocamento, que especifica a posição inicial do registro a ser retornado. O valor deve ser um número.

Mínimo: 0

Máximo: 2000000

Padrão: 0

limit

Não

Integer

Número de registros exibidos em cada página.

Mínimo: 10

Máximo: 1000

Padrão: 10

Parâmetros de solicitação

Tabela 3 Parâmetros de cabeçalho de solicitação

Parâmetro

Obrigatório

Tipo

Descrição

X-Auth-Token

Sim

String

Token do usuário. Ele pode ser obtido chamando a API do IAM usada para obter um token de usuário. O valor de X-Subject-Token no cabeçalho da resposta é um token.

Mínimo: 1

Máximo: 32768

region

Sim

String

ID da região

Mínimo: 0

Máximo: 128

Parâmetros de resposta

Código de status: 200

Tabela 4 Parâmetros do corpo de resposta

Parâmetro

Tipo

Descrição

total_num

Integer

Número total

event_type_list

Array of integers

Tipos de eventos que podem ser filtrados

Mínimo: 0

Máximo: 2147483647

Comprimento da matriz: 0–30000

data_list

Array of AlarmWhiteListResponseInfo objects

Detalhes da lista branca do alarme

Comprimento da matriz: 0–100

Tabela 5 AlarmWhiteListResponseInfo

Parâmetro

Tipo

Descrição

enterprise_project_name

String

Nome do projeto empresarial

hash

String

Valor de hash da descrição da lista branca de eventos (algoritmo SHA256)

description

String

Descrição

event_type

Integer

Tipo de evento. Seu valor pode ser:

  • 1001: malware comum

  • 1002: vírus

  • 1003: worm

  • 1004: cavalo de Troia

  • 1005: rede de bots

  • 1006: backdoor

  • 1010: Rootkit

  • 1011: ransomware

  • 1012: ferramenta de hacker

  • 1015: web shell

  • 1016: mineração

  • 1017: shell reverso

  • 2001: exploração de vulnerabilidade comum

  • 2012: execução remota de código

  • 2047: exploração da vulnerabilidade do Redis

  • 2048: exploração da vulnerabilidade de Hadoop

  • 2049: exploração da vulnerabilidade de MySQL

  • 3002: escalonamento de privilégios de arquivo

  • 3003: escalonamento de privilégio de processo

  • 3004: alteração crítica de arquivo

  • 3005: alteração de arquivo/diretório

  • 3007: comportamento anormal do processo

  • 3015: execução de comandos de alto risco

  • 3018: shell anormal

  • 3027: tarefa crontab suspeita

  • 3029: proteção do sistema desativada

  • 3030: exclusão de backup

  • 3031: operações de registro suspeitas

  • 3036: bloqueio de imagem de container

  • 4002: ataque de força bruta

  • 4004: logon anormal

  • 4006: contas inválidas

  • 4014: conta adicionada

  • 4020: roubo de senha

  • 6002: verificação de porta

  • 6003: verificação do servidor

  • 13001: exclusão de eventos do Kubernetes

  • 13002: comportamento anormal do pod

  • 13003: enumeração de informações do usuário

  • 13004: vinculação de função de cluster

white_field

String

Campos da lista branca. As opções são as seguintes:

  • "file/process hash" # hash de processo/arquivo

  • "file_path"

  • "process_path"

  • "login_ip" # endereço IP de logon

  • "reg_key" # chave de registro

  • "process_cmdline" # linha de comando do processo

  • "username"

Mínimo: 1

Máximo: 20

field_value

String

Valor dos campos da lista branca

Mínimo: 1

Máximo: 128

judge_type

String

Curinga. As opções são as seguintes:

  • "equal"

  • "contain"

Mínimo: 1

Máximo: 10

update_time

Long

Hora em que a lista branca de eventos é atualizada, em milissegundos.

Mínimo: 0

Máximo: 9223372036854775807

Exemplo de solicitações

Consultar as 10 primeiras listas brancas de alarmes cujo projeto empresarial é xxx.

GET https://{endpoint}/v5/{project_id}/event/white-list/alarm?limit=10&offset=0&enterprise_project_id=xxx

Exemplo de respostas

Código de status: 200

Lista branca de alarmes

{
  "data_list" : [ {
    "enterprise_project_name" : "All projects",
    "event_type" : 1001,
    "hash" : "9ab079e5398cba3a368ccffbd478f54c5ec3edadf6284ec049a73c36419f1178",
    "description" : "/opt/cloud/3rdComponent/install/jre-8u201/bin/java",
    "update_time" : 1665715677307,
    "white_field" : "process/file hash",
    "judge_type" : "contain",
    "field_value" : "abcd12345612311112212323"
  } ],
  "event_type_list" : [ 1001 ],
  "total_num" : 1
}

Código de amostra do SDK

O código de amostra do SDK é o seguinte.

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
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 ListAlarmWhiteListSolution {

    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();
        ListAlarmWhiteListRequest request = new ListAlarmWhiteListRequest();
        request.withEnterpriseProjectId("<enterprise_project_id>");
        request.withHash("<hash>");
        request.withEventType(<event_type>);
        request.withOffset(<offset>);
        request.withLimit(<limit>);
        try {
            ListAlarmWhiteListResponse response = client.listAlarmWhiteList(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
# 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 = ListAlarmWhiteListRequest()
        request.enterprise_project_id = "<enterprise_project_id>"
        request.hash = "<hash>"
        request.event_type = <event_type>
        request.offset = <offset>
        request.limit = <limit>
        response = client.list_alarm_white_list(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
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.ListAlarmWhiteListRequest{}
	enterpriseProjectIdRequest:= "<enterprise_project_id>"
	request.EnterpriseProjectId = &enterpriseProjectIdRequest
	hashRequest:= "<hash>"
	request.Hash = &hashRequest
	eventTypeRequest:= int32(<event_type>)
	request.EventType = &eventTypeRequest
	offsetRequest:= int32(<offset>)
	request.Offset = &offsetRequest
	limitRequest:= int32(<limit>)
	request.Limit = &limitRequest
	response, err := client.ListAlarmWhiteList(request)
	if err == nil {
        fmt.Printf("%+v\n", response)
    } else {
        fmt.Println(err)
    }
}

Mais

Para obter o código de amostra do SDK de mais linguagens de programação, consulte a guia Código de amostra no API Explorer. O código de amostra do SDK pode ser gerado automaticamente.

Códigos de status

Código de status

Descrição

200

Lista branca de alarmes

Códigos de erro

Consulte Códigos de erro.