文档首页/ 企业主机安全 HSS/ API参考/ API说明/ 勒索防护/ 查询勒索防护服务器列表
更新时间:2024-07-04 GMT+08:00

查询勒索防护服务器列表

功能介绍

查询勒索防护服务器列表,与云备份服务配合使用。因此使用勒索相关接口之前确保该局点有云备份服务

调用方法

请参见如何调用API

URI

GET /v5/{project_id}/ransomware/server

表1 路径参数

参数

是否必选

参数类型

描述

project_id

String

项目ID

最小长度:1

最大长度:256

表2 Query参数

参数

是否必选

参数类型

描述

enterprise_project_id

String

企业项目ID,查询所有企业项目时填写:all_granted_eps

缺省值:0

最小长度:1

最大长度:256

offset

Integer

偏移量:指定返回记录的开始位置

最小值:0

最大值:2000000

缺省值:0

limit

Integer

每页显示个数

最小值:10

最大值:200

缺省值:10

host_name

String

服务器名称

os_type

String

操作系统类型,包含如下2种。

  • Linux :Linux。

  • Windows :Windows。

最小长度:0

最大长度:64

host_ip

String

服务器IP地址

最小长度:0

最大长度:256

host_status

String

主机状态,包含如下3种。

  • 不传参默认为全部。

  • ACTIVE :正在运行。

  • SHUTOFF :关机。

最小长度:1

最大长度:32

last_days

Integer

查询时间范围天数,最近7天为last_days=7,若不填,则默认查询一天内的防护事件和已有备份数

最小值:1

最大值:30

请求参数

表3 请求Header参数

参数

是否必选

参数类型

描述

X-Auth-Token

String

用户Token。 通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)

最小长度:1

最大长度:32768

region

String

Region ID

最小长度:0

最大长度:128

响应参数

状态码: 200

表4 响应Body参数

参数

参数类型

描述

total_num

Integer

总数

最小值:0

最大值:2097152

data_list

Array of ProtectionServerInfo objects

查询勒索防护服务器列表

数组长度:0 - 10241

表5 ProtectionServerInfo

参数

参数类型

描述

host_id

String

服务器ID

最小长度:0

最大长度:128

agent_id

String

Agent ID

最小长度:0

最大长度:128

host_name

String

服务器名称

最小长度:0

最大长度:128

host_ip

String

弹性公网IP地址

最小长度:0

最大长度:128

private_ip

String

私有IP地址

最小长度:0

最大长度:128

os_type

String

操作系统类型,包含如下2种。

  • Linux :Linux。

  • Windows :Windows。

最小长度:0

最大长度:128

os_name

String

系统名称

最小长度:0

最大长度:128

host_status

String

服务器状态,包含如下2种。

  • ACTIVE :运行中。

  • SHUTOFF :关机。

最小长度:1

最大长度:32

ransom_protection_status

String

勒索防护状态,包含如下4种。

  • closed :关闭。

  • opened :开启。

  • opening :开启中。

  • closing :关闭中。

最小长度:0

最大长度:128

agent_version

String

agent版本

最小长度:1

最大长度:128

protect_status

String

防护状态,包含如下2种。

  • closed :未防护。

  • opened :防护中。

最小长度:1

最大长度:32

group_id

String

服务器组ID

最小长度:1

最大长度:128

group_name

String

服务器组名称

最小长度:1

最大长度:128

protect_policy_id

String

防护策略ID

最小长度:1

最大长度:128

protect_policy_name

String

防护策略名称

最小长度:1

最大长度:128

backup_error

backup_error object

备份错误信息

backup_protection_status

String

是否开启备份,包含如下3种。

  • failed_to_turn_on_backup: 无法开启备份

  • closed :关闭。

  • opened :开启。

最小长度:0

最大长度:128

count_protect_event

Integer

防护事件数

最小值:0

最大值:2097152

count_backuped

Integer

已有备份数

最小值:0

最大值:2097152

agent_status

String

Agent状态

最小长度:1

最大长度:128

version

String

主机开通的版本,包含如下7种输入。

  • hss.version.null :无。

  • hss.version.basic :基础版。

  • hss.version.advanced :专业版。

  • hss.version.enterprise :企业版。

  • hss.version.premium :旗舰版。

  • hss.version.wtp :网页防篡改版。

  • hss.version.container.enterprise :容器版。

最小长度:1

最大长度:32

host_source

String

服务器类型,包含如下3种输入。

  • ecs :ecs。

  • outside :线下主机。

  • workspace :云桌面。

最小长度:1

最大长度:32

vault_id

String

存储库ID

最小长度:0

最大长度:128

vault_name

String

存储库名称

最小长度:0

最大长度:128

vault_size

Integer

总容量,单位GB

最小值:0

最大值:2097152

vault_used

Integer

已使用容量,单位MB

最小值:0

最大值:2097152

vault_allocated

Integer

已分配容量,单位GB,指绑定的服务器大小

最小值:0

最大值:2097152

vault_charging_mode

String

存储库创建模式,按需:post_paid,包周期:pre_paid

最小长度:0

最大长度:128

vault_status

String

存储库状态。

  • available :可用。

  • lock :被锁定。

  • frozen:冻结。

  • deleting:删除中。

  • error:错误。

最小长度:0

最大长度:128

backup_policy_id

String

备份策略ID,若为空,则为未绑定状态,若不为空,通过backup_policy_enabled字段判断策略是否启用

最小长度:1

最大长度:128

backup_policy_name

String

备份策略名称

最小长度:1

最大长度:128

backup_policy_enabled

Boolean

策略是否启用

resources_num

Integer

已绑定服务器(个)

最小值:0

最大值:2097152

表6 backup_error

参数

参数类型

描述

error_code

Integer

错误编码,包含如下2种。

  • 0 :无错误信息。

  • 1 :已綁定至其它存储库,无法开启备份。

  • 2 :备份库已超过最大限额。

  • 3 :CBR接口调用异常。

最小值:0

最大值:128

error_description

String

错误描述

最小长度:1

最大长度:128

请求示例

查询勒索防护服务器列表,不传limit默认返回10条。

GET https://{endpoint}/v5/{project_id}/ransomware/server

响应示例

状态码: 200

勒索病毒防护服务器列表

{
  "total_num" : 1,
  "data_list" : [ {
    "agent_id" : "2758d2a61598fd9144cfa6b201049e7c0af8c3f1280cd24e3ec95a2f0811a2a2",
    "agent_status" : "online",
    "backup_error" : {
      "error_code" : 1,
      "error_description" : "已綁定至其它存储库,无法开启备份"
    },
    "ransom_protection_status" : "opened",
    "backup_protection_status" : "failed_to_turn_on_backup",
    "count_backuped" : 0,
    "count_protect_event" : 0,
    "group_id" : "7c659ea3-006f-4687-9f1c-6d975d955f37",
    "group_name" : "333",
    "host_id" : "caa958ad-a481-4d46-b51e-6861b8864515",
    "host_ip" : "100.85.119.68",
    "host_name" : "Euler",
    "host_status" : "ACTIVE",
    "os_name" : "EulerOS",
    "os_type" : "Linux",
    "private_ip" : "100.85.123.9",
    "protect_policy_id" : "0253edfd-30e7-439d-8f3f-17c54c99706",
    "protect_policy_name" : "tst",
    "protect_status" : "opened"
  } ]
}

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
48
49
50
51
52
53
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 ListProtectionServerSolution {

    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();
        ListProtectionServerRequest request = new ListProtectionServerRequest();
        request.withEnterpriseProjectId("<enterprise_project_id>");
        request.withOffset(<offset>);
        request.withLimit(<limit>);
        request.withHostName("<host_name>");
        request.withOsType("<os_type>");
        request.withHostIp("<host_ip>");
        request.withHostStatus("<host_status>");
        request.withLastDays(<last_days>);
        try {
            ListProtectionServerResponse response = client.listProtectionServer(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
32
33
34
35
36
37
38
# 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"]

    credentials = BasicCredentials(ak, sk)

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

    try:
        request = ListProtectionServerRequest()
        request.enterprise_project_id = "<enterprise_project_id>"
        request.offset = <offset>
        request.limit = <limit>
        request.host_name = "<host_name>"
        request.os_type = "<os_type>"
        request.host_ip = "<host_ip>"
        request.host_status = "<host_status>"
        request.last_days = <last_days>
        response = client.list_protection_server(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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
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.ListProtectionServerRequest{}
	enterpriseProjectIdRequest:= "<enterprise_project_id>"
	request.EnterpriseProjectId = &enterpriseProjectIdRequest
	offsetRequest:= int32(<offset>)
	request.Offset = &offsetRequest
	limitRequest:= int32(<limit>)
	request.Limit = &limitRequest
	hostNameRequest:= "<host_name>"
	request.HostName = &hostNameRequest
	osTypeRequest:= "<os_type>"
	request.OsType = &osTypeRequest
	hostIpRequest:= "<host_ip>"
	request.HostIp = &hostIpRequest
	hostStatusRequest:= "<host_status>"
	request.HostStatus = &hostStatusRequest
	lastDaysRequest:= int32(<last_days>)
	request.LastDays = &lastDaysRequest
	response, err := client.ListProtectionServer(request)
	if err == nil {
        fmt.Printf("%+v\n", response)
    } else {
        fmt.Println(err)
    }
}

更多编程语言的SDK代码示例,请参见API Explorer的代码示例页签,可生成自动对应的SDK代码示例。

状态码

状态码

描述

200

勒索病毒防护服务器列表

错误码

请参见错误码