查入侵事件列表
功能介绍
查入侵事件列表
调用方法
请参见如何调用API。
URI
GET /v5/{project_id}/event/events
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
project_id |
是 |
String |
项目ID |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
category |
是 |
String |
事件类别,包含如下:
|
enterprise_project_id |
否 |
String |
企业项目ID,查询所有企业项目时填写:all_granted_eps |
last_days |
否 |
Integer |
查询时间范围天数,与自定义查询时间begin_time,end_time互斥 |
host_name |
否 |
String |
服务器名称 |
host_id |
否 |
String |
主机ID |
private_ip |
否 |
String |
服务器私有IP |
public_ip |
否 |
String |
服务器公网IP |
container_name |
否 |
String |
容器实例名称 |
offset |
否 |
Integer |
偏移量:指定返回记录的开始位置 |
limit |
否 |
Integer |
每页显示个数 |
event_types |
否 |
Array of integers |
事件类型,包含如下:
|
handle_status |
否 |
String |
处置状态,包含如下:
|
severity |
否 |
String |
威胁等级,包含如下:
|
begin_time |
否 |
String |
自定义查询时间,与查询时间范围天数互斥,查询时间段的起始时间,毫秒级时间戳,end_time减去begin_time小于等于2天,与查询时间范围天数互斥 |
end_time |
否 |
String |
自定义时间,查询时间段的终止时间,毫秒级时间戳,end_time减去begin_time小于等于2天,与查询时间范围天数互斥 |
event_class_ids |
否 |
Array of strings |
事件标识,包含如下:
|
severity_list |
否 |
Array of strings |
威胁等级,包含如下:
|
attack_tag |
否 |
String |
攻击标识,包含如下:
|
asset_value |
否 |
String |
资产重要性,包含如下3种
|
tag_list |
否 |
Array of strings |
事件标签列表,例如:["热点事件"] |
att_ck |
否 |
String |
ATT&CK攻击阶,包含如下:
|
event_name |
否 |
String |
告警名称 |
请求参数
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
X-Auth-Token |
是 |
String |
用户Token。 通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值) |
region |
是 |
String |
Region ID |
响应参数
状态码: 200
参数 |
参数类型 |
描述 |
---|---|---|
total_num |
Integer |
告警事件总数 |
data_list |
Array of EventManagementResponseInfo objects |
事件列表详情 |
参数 |
参数类型 |
描述 |
---|---|---|
event_id |
String |
事件编号 |
event_class_id |
String |
事件分类,包含如下:
|
event_type |
Integer |
事件类型,包含如下:
|
event_name |
String |
事件名称 |
severity |
String |
威胁等级,包含如下:
|
container_name |
String |
容器实例名称,只有容器类型的告警有 |
image_name |
String |
镜像名称,只有容器类型的告警有 |
host_name |
String |
服务器名称 |
host_id |
String |
主机ID |
private_ip |
String |
服务器私有IP |
public_ip |
String |
弹性公网IP地址 |
os_type |
String |
操作系统类型,包含如下2种。
|
host_status |
String |
服务器状态,包含如下4种。
|
agent_status |
String |
Agent状态,包含如下5种。
|
protect_status |
String |
防护状态,包含如下2种。
|
asset_value |
String |
资产重要性,包含如下4种
|
attack_phase |
String |
攻击阶段,包含如下:
|
attack_tag |
String |
攻击标识,包含如下:
|
occur_time |
Integer |
发生时间,毫秒 |
handle_time |
Integer |
处理时间,毫秒,已处理的告警才有 |
handle_status |
String |
处理状态,包含如下:
|
handle_method |
String |
处理方式,已处理的告警才有,包含如下:
|
handler |
String |
备注信息,已处理的告警才有 |
operate_accept_list |
Array of strings |
支持的处理操作 |
operate_detail_list |
Array of EventDetailResponseInfo objects |
操作详情信息列表(页面不展示) |
forensic_info |
Object |
取证信息,json格式 |
resource_info |
EventResourceResponseInfo object |
资源信息 |
geo_info |
Object |
地理位置信息,json格式 |
malware_info |
Object |
恶意软件信息,json格式 |
network_info |
Object |
网络信息,json格式 |
app_info |
Object |
应用信息,json格式 |
system_info |
Object |
系统信息,json格式 |
extend_info |
Object |
事件扩展信息,json格式 |
recommendation |
String |
处置建议 |
description |
String |
告警说明 |
event_abstract |
String |
告警摘要 |
process_info_list |
Array of EventProcessResponseInfo objects |
进程信息列表 |
user_info_list |
Array of EventUserResponseInfo objects |
用户信息列表 |
file_info_list |
Array of EventFileResponseInfo objects |
文件信息列表 |
event_details |
String |
事件信息的简述 |
tag_list |
Array of strings |
标签列表 |
event_count |
Integer |
事件发生次数 |
参数 |
参数类型 |
描述 |
---|---|---|
agent_id |
String |
Agent ID |
process_pid |
Integer |
进程id |
is_parent |
Boolean |
是否是父进程 |
file_hash |
String |
文件哈希 |
file_path |
String |
文件路径 |
file_attr |
String |
文件属性 |
private_ip |
String |
服务器私有IP |
login_ip |
String |
登录源IP |
login_user_name |
String |
登录用户名 |
keyword |
String |
告警事件关键字,仅用于告警白名单 |
hash |
String |
告警事件hash,仅用于告警白名单 |
参数 |
参数类型 |
描述 |
---|---|---|
domain_id |
String |
租户账号ID |
project_id |
String |
项目ID |
enterprise_project_id |
String |
企业项目ID |
region_name |
String |
Region名称 |
vpc_id |
String |
VPC ID |
cloud_id |
String |
云主机ID |
vm_name |
String |
虚拟机名称 |
vm_uuid |
String |
虚拟机UUID,即主机ID |
container_id |
String |
容器ID |
container_status |
String |
容器状态 |
pod_uid |
String |
pod uid |
pod_name |
String |
pod name |
namespace |
String |
namespace |
cluster_id |
String |
集群id |
cluster_name |
String |
集群名称 |
image_id |
String |
镜像ID |
image_name |
String |
镜像名称 |
host_attr |
String |
主机属性 |
service |
String |
业务服务 |
micro_service |
String |
微服务 |
sys_arch |
String |
系统CPU架构 |
os_bit |
String |
操作系统位数 |
os_type |
String |
操作系统类型 |
os_name |
String |
操作系统名称 |
os_version |
String |
操作系统版本 |
参数 |
参数类型 |
描述 |
---|---|---|
process_name |
String |
进程名称 |
process_path |
String |
进程文件路径 |
process_pid |
Integer |
进程id |
process_uid |
Integer |
进程用户id |
process_username |
String |
运行进程的用户名 |
process_cmdline |
String |
进程文件命令行 |
process_filename |
String |
进程文件名 |
process_start_time |
Long |
进程启动时间 |
process_gid |
Integer |
进程组ID |
process_egid |
Integer |
进程有效组ID |
process_euid |
Integer |
进程有效用户ID |
ancestor_process_path |
String |
祖父进程文件路径 |
ancestor_process_pid |
Integer |
祖父进程id |
ancestor_process_cmdline |
String |
祖父进程文件命令行 |
parent_process_name |
String |
父进程名称 |
parent_process_path |
String |
父进程文件路径 |
parent_process_pid |
Integer |
父进程id |
parent_process_uid |
Integer |
父进程用户id |
parent_process_cmdline |
String |
父进程文件命令行 |
parent_process_filename |
String |
父进程文件名 |
parent_process_start_time |
Long |
父进程启动时间 |
parent_process_gid |
Integer |
父进程组ID |
parent_process_egid |
Integer |
父进程有效组ID |
parent_process_euid |
Integer |
父进程有效用户ID |
child_process_name |
String |
子进程名称 |
child_process_path |
String |
子进程文件路径 |
child_process_pid |
Integer |
子进程id |
child_process_uid |
Integer |
子进程用户id |
child_process_cmdline |
String |
子进程文件命令行 |
child_process_filename |
String |
子进程文件名 |
child_process_start_time |
Long |
子进程启动时间 |
child_process_gid |
Integer |
子进程组ID |
child_process_egid |
Integer |
子进程有效组ID |
child_process_euid |
Integer |
子进程有效用户ID |
virt_cmd |
String |
虚拟化命令 |
virt_process_name |
String |
虚拟化进程名称 |
escape_mode |
String |
逃逸方式 |
escape_cmd |
String |
逃逸后后执行的命令 |
process_hash |
String |
进程启动文件hash |
process_file_hash |
String |
进程文件hash |
parent_process_file_hash |
String |
父进程文件hash |
block |
Integer |
是否阻断成功,1阻断成功 0阻断失败 |
参数 |
参数类型 |
描述 |
---|---|---|
user_id |
Integer |
用户uid |
user_gid |
Integer |
用户gid |
user_name |
String |
用户名称 |
user_group_name |
String |
用户组名称 |
user_home_dir |
String |
用户home目录 |
login_ip |
String |
用户登录ip |
service_type |
String |
服务类型,包含如下:
|
service_port |
Integer |
登录服务端口 |
login_mode |
Integer |
登录方式 |
login_last_time |
Long |
用户最后一次登录时间 |
login_fail_count |
Integer |
用户登录失败次数 |
pwd_hash |
String |
口令hash |
pwd_with_fuzzing |
String |
匿名化处理后的口令 |
pwd_used_days |
Integer |
密码使用的天数 |
pwd_min_days |
Integer |
口令的最短有效期限 |
pwd_max_days |
Integer |
口令的最长有效期限 |
pwd_warn_left_days |
Integer |
口令无效时提前告警天数 |
参数 |
参数类型 |
描述 |
---|---|---|
file_path |
String |
文件路径 |
file_alias |
String |
文件别名 |
file_size |
Integer |
文件大小 |
file_mtime |
Long |
文件最后一次修改时间 |
file_atime |
Long |
文件最后一次访问时间 |
file_ctime |
Long |
文件最后一次状态改变时间 |
file_hash |
String |
文件hash,当前为sha256 |
file_md5 |
String |
文件md5 |
file_sha256 |
String |
文件sha256 |
file_type |
String |
文件类型 |
file_content |
String |
文件内容 |
file_attr |
String |
文件属性 |
file_operation |
Integer |
文件操作类型 |
file_action |
String |
文件动作 |
file_change_attr |
String |
变更前后的属性 |
file_new_path |
String |
新文件路径 |
file_desc |
String |
文件描述 |
file_key_word |
String |
文件关键字 |
is_dir |
Boolean |
是否目录 |
fd_info |
String |
文件句柄信息 |
fd_count |
Integer |
文件句柄数量 |
请求示例
查询前50条企业项目为xxx下未处理的主机事件信息
GET https://{endpoint}/v5/{project_id}/event/events?offset=0&limit=50&handle_status=unhandled&category=host&enterprise_project_id=xxx
响应示例
状态码: 200
入侵事件列表
{ "total_num" : 1, "data_list" : [ { "attack_phase" : "exploit", "attack_tag" : "abnormal_behavior", "event_class_id" : "lgin_1002", "event_id" : "d8a12cf7-6a43-4cd6-92b4-aabf1e917", "event_name" : "different locations", "event_type" : 4004, "forensic_info" : { "country" : "中国", "city" : "兰州市", "ip" : "127.0.0.1", "user" : "zhangsan", "sub_division" : "甘肃省", "city_id" : 3110 }, "handle_status" : "unhandled", "host_name" : "xxx", "occur_time" : 1661593036627, "operate_accept_list" : [ "ignore" ], "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", "is_parent" : false } ], "private_ip" : "127.0.0.1", "resource_info" : { "region_name" : "", "project_id" : "", "enterprise_project_id" : "0", "os_type" : "Linux", "os_version" : "2.5", "vm_name" : "", "vm_uuid" : "71a15ecc", "cloud_id" : "", "container_id" : "", "container_status" : "running / terminated", "image_id" : "", "pod_uid" : "", "pod_name" : "", "namespace" : "", "cluster_id" : "", "cluster_name" : "" }, "severity" : "Medium", "extend_info" : "", "os_type" : "Linux", "agent_status" : "online", "asset_value" : "common", "protect_status" : "opened", "host_status" : "ACTIVE", "event_details" : "file_path:/root/test", "user_info_list" : [ { "login_ip" : "", "service_port" : 22, "service_type" : "ssh", "user_name" : "zhangsan", "login_mode" : 0, "login_last_time" : 1661593024, "login_fail_count" : 0 } ], "process_info_list" : [ { "process_path" : "/root/test", "process_name" : "test", "process_cmdline" : "/bin/bash", "process_hash" : "e8b50f0b91e3dce0885ccc5902846b139d28108a0a7976c9b8d43154c5dbc44d", "process_filename" : "test", "process_file_hash" : "e8b50f0b91e3dce0885ccc5902846b139d28108a0a7976c9b8d43154c5dbc44d", "process_username" : "root", "process_pid" : 372612, "process_uid" : 10000, "process_gid" : 10000, "process_egid" : 10000, "process_euid" : 10000, "process_start_time" : 1661593024, "block" : 0, "parent_process_path" : "/usr/bin/bash", "parent_process_name" : "test", "parent_process_cmdline" : "/bin/bash", "parent_process_filename" : "test", "parent_process_file_hash" : "e8b50f0b91e3dce0885ccc5902846b139d28108a0a7976c9b8d43154c5dbc44d", "parent_process_pid" : 372612, "parent_process_uid" : 10000, "parent_process_gid" : 10000, "parent_process_egid" : 10000, "parent_process_euid" : 10000, "parent_process_start_time" : 1661593024, "child_process_path" : "/usr/bin/bash", "child_process_name" : "test", "child_process_cmdline" : "/bin/bash", "child_process_filename" : "test", "child_process_pid" : 372612, "child_process_uid" : 10000, "child_process_gid" : 10000, "child_process_egid" : 10000, "child_process_euid" : 10000, "child_process_start_time" : 1661593024, "virt_process_name" : "test", "virt_cmd" : "/bin/bash", "escape_cmd" : "/bin/bash", "escape_mode" : "0", "ancestor_process_pid" : 372612, "ancestor_process_cmdline" : "/bin/bash", "ancestor_process_path" : "/usr/bin/bash" } ], "description" : "", "event_abstract" : "", "tag_list" : [ "热点事件" ] } ] }
SDK代码示例
SDK代码示例如下。
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 |
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 ListSecurityEventsSolution { 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"); String projectId = "{project_id}"; ICredential auth = new BasicCredentials() .withProjectId(projectId) .withAk(ak) .withSk(sk); HssClient client = HssClient.newBuilder() .withCredential(auth) .withRegion(HssRegion.valueOf("<YOUR REGION>")) .build(); ListSecurityEventsRequest request = new ListSecurityEventsRequest(); try { ListSecurityEventsResponse response = client.listSecurityEvents(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()); } } } |
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 |
# coding: utf-8 import os 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 = os.environ["CLOUD_SDK_AK"] sk = os.environ["CLOUD_SDK_SK"] projectId = "{project_id}" credentials = BasicCredentials(ak, sk, projectId) client = HssClient.new_builder() \ .with_credentials(credentials) \ .with_region(HssRegion.value_of("<YOUR REGION>")) \ .build() try: request = ListSecurityEventsRequest() response = client.list_security_events(request) print(response) except exceptions.ClientRequestException as e: print(e.status_code) print(e.request_id) print(e.error_code) print(e.error_msg) |
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 |
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") projectId := "{project_id}" auth := basic.NewCredentialsBuilder(). WithAk(ak). WithSk(sk). WithProjectId(projectId). Build() client := hss.NewHssClient( hss.HssClientBuilder(). WithRegion(region.ValueOf("<YOUR REGION>")). WithCredential(auth). Build()) request := &model.ListSecurityEventsRequest{} response, err := client.ListSecurityEvents(request) if err == nil { fmt.Printf("%+v\n", response) } else { fmt.Println(err) } } |
更多编程语言的SDK代码示例,请参见API Explorer的代码示例页签,可生成自动对应的SDK代码示例。
状态码
状态码 |
描述 |
---|---|
200 |
入侵事件列表 |
错误码
请参见错误码。