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.
Computação
Elastic Cloud Server
Bare Metal Server
Auto Scaling
Image Management Service
Dedicated Host
FunctionGraph
Cloud Phone Host
Huawei Cloud EulerOS
Redes
Virtual Private Cloud
Elastic IP
Elastic Load Balance
NAT Gateway
Direct Connect
Virtual Private Network
VPC Endpoint
Cloud Connect
Enterprise Router
Enterprise Switch
Global Accelerator
Gerenciamento e governança
Cloud Eye
Identity and Access Management
Cloud Trace Service
Resource Formation Service
Tag Management Service
Log Tank Service
Config
Resource Access Manager
Simple Message Notification
Application Performance Management
Application Operations Management
Organizations
Optimization Advisor
Cloud Operations Center
Resource Governance Center
Migração
Server Migration Service
Object Storage Migration Service
Cloud Data Migration
Migration Center
Cloud Ecosystem
KooGallery
Partner Center
User Support
My Account
Billing Center
Cost Center
Resource Center
Enterprise Management
Service Tickets
HUAWEI CLOUD (International) FAQs
ICP Filing
Support Plans
My Credentials
Customer Operation Capabilities
Partner Support Plans
Professional Services
Análises
MapReduce Service
Data Lake Insight
CloudTable Service
Cloud Search Service
Data Lake Visualization
Data Ingestion Service
GaussDB(DWS)
DataArts Studio
IoT
IoT Device Access
Outros
Product Pricing Details
System Permissions
Console Quick Start
Common FAQs
Instructions for Associating with a HUAWEI CLOUD Partner
Message Center
Segurança e conformidade
Security Technologies and Applications
Web Application Firewall
Host Security Service
Cloud Firewall
SecMaster
Anti-DDoS Service
Data Encryption Workshop
Database Security Service
Cloud Bastion Host
Data Security Center
Cloud Certificate Manager
Situation Awareness
Managed Threat Detection
Blockchain
Blockchain Service
Serviços de mídia
Media Processing Center
Video On Demand
Live
SparkRTC
Armazenamento
Object Storage Service
Elastic Volume Service
Cloud Backup and Recovery
Cloud Server Backup Service
Storage Disaster Recovery Service
Scalable File Service
Volume Backup Service
Data Express Service
Dedicated Distributed Storage Service
Containers
Cloud Container Engine
SoftWare Repository for Container
Application Service Mesh
Ubiquitous Cloud Native Service
Cloud Container Instance
Bancos de dados
Relational Database Service
Document Database Service
Data Admin Service
Data Replication Service
GeminiDB
GaussDB
Distributed Database Middleware
Database and Application Migration UGO
TaurusDB
Middleware
Distributed Cache Service
API Gateway
Distributed Message Service for Kafka
Distributed Message Service for RabbitMQ
Distributed Message Service for RocketMQ
Cloud Service Engine
EventGrid
Dedicated Cloud
Dedicated Computing Cluster
Aplicações de negócios
ROMA Connect
Message & SMS
Domain Name Service
Edge Data Center Management
Meeting
AI
Face Recognition Service
Graph Engine Service
Content Moderation
Image Recognition
Data Lake Factory
Optical Character Recognition
ModelArts
ImageSearch
Conversational Bot Service
Speech Interaction Service
Huawei HiLens
Developer Tools
SDK Developer Guide
API Request Signing Guide
Terraform
Koo Command Line Interface
Distribuição de conteúdo e computação de borda
Content Delivery Network
Intelligent EdgeFabric
CloudPond
Soluções
SAP Cloud
High Performance Computing
Serviços para desenvolvedore
ServiceStage
CodeArts
CodeArts PerfTest
CodeArts Req
CodeArts Pipeline
CodeArts Build
CodeArts Deploy
CodeArts Artifact
CodeArts TestPlan
CodeArts Check
Cloud Application Engine
MacroVerse aPaaS
KooPhone
KooDrive

Manipulação de eventos de alarme

Atualizado em 2024-09-14 GMT+08:00

Função

Essa API é usada para manipular eventos de alarme.

Método de chamada

Para obter detalhes, consulte Chamada de APIs.

URI

POST /v5/{project_id}/event/operate

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

container_name

Não

String

Nome da instância do container

container_id

Não

String

ID do container

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

Tabela 4 Parâmetros do corpo da solicitação

Parâmetro

Obrigatório

Tipo

Descrição

operate_type

Sim

String

Método de manipulação. Seu valor pode ser:

  • mark_as_handled

  • ignore

  • add_to_alarm_whitelist

  • add_to_login_whitelist

  • isolate_and_kill

  • unhandle

  • do_not_ignore

  • remove_from_alarm_whitelist

  • remove_from_login_whitelist

  • do_not_isolate_or_kill

handler

Não

String

Observações. Esta API está disponível apenas para alarmes manipulados.

operate_event_list

Sim

Array of OperateEventRequestInfo objects

Lista de eventos operados

Comprimento da matriz: 0–100

event_white_rule_list

Não

Array of EventWhiteRuleListRequestInfo objects

Lista branca de alarme definida pelo usuário

Comprimento da matriz: 0–100

Tabela 5 OperateEventRequestInfo

Parâmetro

Obrigatório

Tipo

Descrição

event_class_id

Sim

String

Categoria do evento. Seu valor pode ser:

  • container_1001: namespace do container

  • container_1002: porta aberta do container

  • container_1003: opção de segurança de container

  • container_1004: diretório de montagem do container

  • containerescape_0001: chamada de sistema de alto risco

  • containerescape_0002: ataque de Shocker

  • containerescape_0003: ataque de Dirty Cow

  • containerescape_0004: escape do arquivo do container

  • dockerfile_001: modificação do arquivo de container protegido definido pelo usuário

  • dockerfile_002: modificação de arquivos executáveis no sistema de arquivos de container

  • dockerproc_001: processo de container anormal

  • fileprotect_0001: escalonamento de privilégio de arquivo

  • fileprotect_0002: alteração do arquivo de chave

  • fileprotect_0003: alteração do caminho do AuthorizedKeysFile

  • fileprotect_0004: alteração do diretório de arquivos

  • login_0001: tentativa de ataque com força bruta

  • login_0002: ataque de força bruta foi bem-sucedido

  • login_1001: logon bem-sucedido

  • login_1002: logon remoto

  • login_1003: senha fraca

  • malware_0001: mudança de shell

  • malware_0002: shell reverso

  • malware_1001: programa malicioso

  • procdet_0001: comportamento anormal do processo

  • procdet_0002: escalonamento de privilégio do processo

  • procreport_0001: comando de alto risco

  • user_1001: alteração de conta

  • user_1002: conta insegura

  • vmescape_0001: comando sensível executado na VM

  • vmescape_0002: arquivo sensível acessado pelo processo de virtualização

  • vmescape_0003: acesso anormal à porta de VM

  • webshell_0001: web shell

  • network_1001: mineração

  • network_1002: ataques DDoS

  • network_1003: verificação maliciosa

  • network_1004: ataque em áreas sensíveis

  • ransomware_0001: ataque de ransomware

  • ransomware_0002: ataque de ransomware

  • ransomware_0003: ataque de ransomware

  • fileless_0001: injeção de processo

  • fileless_0002: injeção de biblioteca dinâmica

  • fileless_0003: alteração na configuração da chave

  • fileless_0004: alteração na variável de ambiente

  • fileless_0005: processo de arquivo de memória

  • fileless_0006: sequestro de VDSO

  • crontab_1001: tarefa crontab suspeita

  • vul_exploit_0001: exploração da vulnerabilidade do Redis

  • vul_exploit_0002: exploração da vulnerabilidade de Hadoop

  • vul_exploit_0003: exploração da vulnerabilidade de MySQL

  • rootkit_0001: arquivo de rootkit suspeito

  • rootkit_0002: módulo de kernel suspeito

  • RASP_0004: upload de web shell

  • RASP_0018: web shell sem arquivo

  • blockexec_001: ataque de ransomware conhecido

  • hips_0001: Windows Defender desativado

  • hips_0002: ferramenta de hacker suspeita

  • hips_0003: comportamento suspeito de criptografia de ransomware

  • hips_0004: criação de conta oculta

  • hips_0005: senha do usuário e leitura de credenciais

  • hips_0006: exportação suspeita de arquivos SAM

  • hips_0007: exclusão suspeita de cópia de sombra

  • hips_0008: exclusão de arquivo de backup

  • hips_0009: registro de ransomware suspeito

  • hips_0010: processo anormal suspeito

  • hips_0011: verificação suspeita

  • hips_0012: script de ransomware suspeito em execução

  • hips_0013: execução suspeita do comando de mineração

  • hips_0014: desativação suspeita da central de segurança do Windows

  • hips_0015: comportamento suspeito de desativar o serviço de firewall

  • hips_0016: desativação suspeita de recuperação automática do sistema

  • hips_0017: execução de arquivo executável em Office

  • hips_0018: criação de arquivo anormal com macros em Office

  • hips_0019: operação de registro suspeita

  • hips_0020: execução remota de código do Confluence

  • hips_0021: execução remota de código de MSDT

  • portscan_0001: verificação de porta comum

  • portscan_0002: verificação de porta secreta

  • k8s_1001: exclusão de eventos do Kubernetes

  • k8s_1002: criações de pods privilegiados

  • k8s_1003: shell interativo usado no pod

  • k8s_1004: pod criado com diretório sensível

  • k8s_1005: pod criado com a rede do servidor

  • k8s_1006: pod criado com espaço de PID do host

  • k8s_1007: falha de autenticação quando pods comuns acessam o servidor da API

  • k8s_1008: acesso ao servidor de API do pod comum usando cURL

  • k8s_1009: exec no espaço de gerenciamento do sistema

  • k8s_1010: pod criado no espaço de gerenciamento

  • k8s_1011: criação de pod estático

  • k8s_1012: criação de DaemonSet

  • k8s_1013: criação de tarefa de cluster agendada

  • k8s_1014: operação em segredos

  • k8s_1015: enumeração de operação permitida

  • k8s_1016: RoleBinding ou ClusterRoleBinding de alto privilégio

  • k8s_1017: criação de ServiceAccount

  • k8s_1018: criação de Cronjob

  • k8s_1019: shell interativo usado para exec em pods

  • k8s_1020: acesso não autorizado ao servidor da API

  • k8s_1021: acesso ao servidor de API com curl

  • k8s_1022: vulnerabilidade de entrada

  • k8s_1023: ataque man-in-the-middle (MITM)

  • k8s_1024: worm, mineração ou cavalo de Troia

  • k8s_1025: exclusão de evento de K8s

  • k8s_1026: SelfSubjectRulesReview

  • imgblock_0001: bloqueio de imagem com base na lista branca

  • imgblock_0002: bloqueio de imagem com base na lista negra

  • imgblock_0003: bloqueio de tag de imagem com base na lista branca

  • imgblock_0004: bloqueio de tag de imagem com base na lista negra

  • imgblock_0005: criação de container bloqueada com base na lista branca

  • imgblock_0006: criação de container bloqueada com base na lista negra

  • imgblock_0007: bloqueio de container mount proc

  • imgblock_0008: bloqueio de container seccomp unconfined

  • imgblock_0009: bloqueio de privilégios de container

  • imgblock_0010: bloqueio de recursos do container

event_id

Sim

String

ID do evento

event_type

Sim

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

occur_time

Sim

Integer

Tempo de ocorrência, com precisão de milissegundos.

operate_detail_list

Sim

Array of EventDetailRequestInfo objects

Lista de detalhes da operação. Se operate_type estiver definido como add_to_alarm_whitelist ou remove_from_alarm_whitelist, a palavra-chave e o hash serão obrigatórios. Se operate_type for definido como add_to_login_whitelist ou remove_from_login_whitelist, os parâmetros login_ip, private_ip e login_user_name serão obrigatórios. Se operate_type for definido como isolate_and_kill ou do_not_isolate_or_kill, os parâmetros agent_id, file_hash, file_path e process_pid serão obrigatórios. Em outros casos, os parâmetros são opcionais.

Comprimento da matriz: 0–100

Tabela 6 EventDetailRequestInfo

Parâmetro

Obrigatório

Tipo

Descrição

agent_id

Não

String

ID do agente

process_pid

Não

Integer

ID do processo

file_hash

Não

String

Hash de arquivo

file_path

Não

String

Caminho do arquivo

file_attr

Não

String

Atributo de arquivo

keyword

Não

String

Palavra-chave de evento de alarme, que é usada somente para a lista branca de alarmes.

hash

Não

String

Hash de evento de alarme, que é usado apenas para a lista branca de alarme.

private_ip

Não

String

Endereço IP privado de servidor

login_ip

Não

String

Endereço IP de origem de logon

login_user_name

Não

String

Nome de usuário de logon

container_id

Não

String

ID do container

Mínimo: 64

Máximo: 64

container_name

Não

String

Nome do container

Mínimo: 1

Máximo: 128

Tabela 7 EventWhiteRuleListRequestInfo

Parâmetro

Obrigatório

Tipo

Descrição

event_type

Sim

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

field_key

Sim

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 do registro

  • "process_cmdline": linha de comando do processo

  • "username"

Mínimo: 1

Máximo: 20

field_value

Sim

String

Valor do campo da lista branca

Mínimo: 1

Máximo: 128

judge_type

Sim

String

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

  • "equal"

  • "contain"

Mínimo: 1

Máximo: 10

Parâmetros de resposta

Nenhum

Exemplo de solicitações

Manipular manualmente os alarmes de intrusão cujo tipo de evento de alarme é Rootkit e o ID do evento de alarme é 2a71e1e2-60f4-4d56-b314-2038fdc39de6.

POST https://{endpoint}/v5/{project_id}/event/operate?enterprise_project_id=xxx

{
  "operate_type" : "mark_as_handled",
  "handler" : "test",
  "operate_event_list" : [ {
    "event_class_id" : "rootkit_0001",
    "event_id" : "2a71e1e2-60f4-4d56-b314-2038fdc39de6",
    "occur_time" : 1672046760353,
    "event_type" : 1010,
    "operate_detail_list" : [ {
      "agent_id" : "c9bed5397db449ebdfba15e85fcfc36accee125c68954daf5cab0528bab59bd8",
      "file_hash" : "e8b50f0b91e3dce0885ccc5902846b139d28108a0a7976c9b8d43154c5dbc44d",
      "file_path" : "/usr/test",
      "process_pid" : 3123,
      "file_attr" : 33261,
      "keyword" : "file_path=/usr/test",
      "hash" : "e8b50f0b91e3dce0885ccc5902846b139d28108a0a7976c9b8d43154c5dbc44d",
      "login_ip" : "127.0.0.1",
      "private_ip" : "127.0.0.2",
      "login_user_name" : "root",
      "container_id" : "containerid",
      "container_name" : "/test"
    } ]
  } ]
}

Exemplo de respostas

Nenhum

Código de amostra do SDK

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

Java

Manipular manualmente os alarmes de intrusão cujo tipo de evento de alarme é Rootkit e o ID do evento de alarme é 2a71e1e2-60f4-4d56-b314-2038fdc39de6.

 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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
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.*;

import java.util.List;
import java.util.ArrayList;

public class ChangeEventSolution {

    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();
        ChangeEventRequest request = new ChangeEventRequest();
        request.withEnterpriseProjectId("<enterprise_project_id>");
        request.withContainerName("<container_name>");
        request.withContainerId("<container_id>");
        ChangeEventRequestInfo body = new ChangeEventRequestInfo();
        List<EventDetailRequestInfo> listOperateEventListOperateDetailList = new ArrayList<>();
        listOperateEventListOperateDetailList.add(
            new EventDetailRequestInfo()
                .withAgentId("c9bed5397db449ebdfba15e85fcfc36accee125c68954daf5cab0528bab59bd8")
                .withProcessPid(3123)
                .withFileHash("e8b50f0b91e3dce0885ccc5902846b139d28108a0a7976c9b8d43154c5dbc44d")
                .withFilePath("/usr/test")
                .withFileAttr("33261")
                .withKeyword("file_path=/usr/test")
                .withHash("e8b50f0b91e3dce0885ccc5902846b139d28108a0a7976c9b8d43154c5dbc44d")
                .withPrivateIp("127.0.0.2")
                .withLoginIp("127.0.0.1")
                .withLoginUserName("root")
                .withContainerId("containerid")
                .withContainerName("/test")
        );
        List<OperateEventRequestInfo> listbodyOperateEventList = new ArrayList<>();
        listbodyOperateEventList.add(
            new OperateEventRequestInfo()
                .withEventClassId("rootkit_0001")
                .withEventId("2a71e1e2-60f4-4d56-b314-2038fdc39de6")
                .withEventType(1010)
                .withOccurTime(1672046760353L)
                .withOperateDetailList(listOperateEventListOperateDetailList)
        );
        body.withOperateEventList(listbodyOperateEventList);
        body.withHandler("test");
        body.withOperateType("mark_as_handled");
        request.withBody(body);
        try {
            ChangeEventResponse response = client.changeEvent(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

Manipular manualmente os alarmes de intrusão cujo tipo de evento de alarme é Rootkit e o ID do evento de alarme é 2a71e1e2-60f4-4d56-b314-2038fdc39de6.

 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
62
# 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 = ChangeEventRequest()
        request.enterprise_project_id = "<enterprise_project_id>"
        request.container_name = "<container_name>"
        request.container_id = "<container_id>"
        listOperateDetailListOperateEventList = [
            EventDetailRequestInfo(
                agent_id="c9bed5397db449ebdfba15e85fcfc36accee125c68954daf5cab0528bab59bd8",
                process_pid=3123,
                file_hash="e8b50f0b91e3dce0885ccc5902846b139d28108a0a7976c9b8d43154c5dbc44d",
                file_path="/usr/test",
                file_attr="33261",
                keyword="file_path=/usr/test",
                hash="e8b50f0b91e3dce0885ccc5902846b139d28108a0a7976c9b8d43154c5dbc44d",
                private_ip="127.0.0.2",
                login_ip="127.0.0.1",
                login_user_name="root",
                container_id="containerid",
                container_name="/test"
            )
        ]
        listOperateEventListbody = [
            OperateEventRequestInfo(
                event_class_id="rootkit_0001",
                event_id="2a71e1e2-60f4-4d56-b314-2038fdc39de6",
                event_type=1010,
                occur_time=1672046760353,
                operate_detail_list=listOperateDetailListOperateEventList
            )
        ]
        request.body = ChangeEventRequestInfo(
            operate_event_list=listOperateEventListbody,
            handler="test",
            operate_type="mark_as_handled"
        )
        response = client.change_event(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

Manipular manualmente os alarmes de intrusão cujo tipo de evento de alarme é Rootkit e o ID do evento de alarme é 2a71e1e2-60f4-4d56-b314-2038fdc39de6.

 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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
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.ChangeEventRequest{}
	enterpriseProjectIdRequest:= "<enterprise_project_id>"
	request.EnterpriseProjectId = &enterpriseProjectIdRequest
	containerNameRequest:= "<container_name>"
	request.ContainerName = &containerNameRequest
	containerIdRequest:= "<container_id>"
	request.ContainerId = &containerIdRequest
	agentIdOperateDetailList:= "c9bed5397db449ebdfba15e85fcfc36accee125c68954daf5cab0528bab59bd8"
	processPidOperateDetailList:= int32(3123)
	fileHashOperateDetailList:= "e8b50f0b91e3dce0885ccc5902846b139d28108a0a7976c9b8d43154c5dbc44d"
	filePathOperateDetailList:= "/usr/test"
	fileAttrOperateDetailList:= "33261"
	keywordOperateDetailList:= "file_path=/usr/test"
	hashOperateDetailList:= "e8b50f0b91e3dce0885ccc5902846b139d28108a0a7976c9b8d43154c5dbc44d"
	privateIpOperateDetailList:= "127.0.0.2"
	loginIpOperateDetailList:= "127.0.0.1"
	loginUserNameOperateDetailList:= "root"
	containerIdOperateDetailList:= "containerid"
	containerNameOperateDetailList:= "/test"
	var listOperateDetailListOperateEventList = []model.EventDetailRequestInfo{
        {
            AgentId: &agentIdOperateDetailList,
            ProcessPid: &processPidOperateDetailList,
            FileHash: &fileHashOperateDetailList,
            FilePath: &filePathOperateDetailList,
            FileAttr: &fileAttrOperateDetailList,
            Keyword: &keywordOperateDetailList,
            Hash: &hashOperateDetailList,
            PrivateIp: &privateIpOperateDetailList,
            LoginIp: &loginIpOperateDetailList,
            LoginUserName: &loginUserNameOperateDetailList,
            ContainerId: &containerIdOperateDetailList,
            ContainerName: &containerNameOperateDetailList,
        },
    }
	var listOperateEventListbody = []model.OperateEventRequestInfo{
        {
            EventClassId: "rootkit_0001",
            EventId: "2a71e1e2-60f4-4d56-b314-2038fdc39de6",
            EventType: int32(1010),
            OccurTime: int64(1672046760353),
            OperateDetailList: listOperateDetailListOperateEventList,
        },
    }
	handlerChangeEventRequestInfo:= "test"
	request.Body = &model.ChangeEventRequestInfo{
		OperateEventList: listOperateEventListbody,
		Handler: &handlerChangeEventRequestInfo,
		OperateType: "mark_as_handled",
	}
	response, err := client.ChangeEvent(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

Bem-sucedido

400

Parâmetro inválido.

401

Falha na autenticação.

403

Permissão insuficiente.

404

Recurso não encontrado.

500

Erro de sistema.

Códigos de erro

Consulte Códigos de erro.

Usamos cookies para aprimorar nosso site e sua experiência. Ao continuar a navegar em nosso site, você aceita nossa política de cookies. Saiba mais

Feedback

Feedback

Feedback

0/500

Conteúdo selecionado

Envie o conteúdo selecionado com o feedback