获取安全配置统计数据
功能介绍
根据任务ID获取安全配置统计数据
调用方法
请参见如何调用API。
URI
GET /v1/{project_id}/sbc/task/summary/secconfig
|
参数 |
是否必选 |
参数类型 |
描述 |
|---|---|---|---|
|
project_id |
是 |
String |
用户项目ID,获取方式请参见获取项目ID。 |
|
参数 |
是否必选 |
参数类型 |
描述 |
|---|---|---|---|
|
id |
是 |
String |
任务ID,创建任务时返回的ID |
请求参数
|
参数 |
是否必选 |
参数类型 |
描述 |
|---|---|---|---|
|
X-Auth-Token |
是 |
String |
认证Token |
|
Content-Type |
是 |
String |
请求类型 |
响应参数
状态码:200
|
参数 |
参数类型 |
描述 |
|---|---|---|
|
data |
Object |
响应信息 |
状态码:400
|
参数 |
参数类型 |
描述 |
|---|---|---|
|
error_code |
String |
错误码 |
|
error_msg |
String |
错误描述 |
状态码:401
|
参数 |
参数类型 |
描述 |
|---|---|---|
|
error_code |
String |
错误码 |
|
error_msg |
String |
错误描述 |
状态码:429
|
参数 |
参数类型 |
描述 |
|---|---|---|
|
error_code |
String |
错误码 |
|
error_msg |
String |
错误描述 |
请求示例
GET https://{endpoint}/v1/{project_id}/sbc/task/summary/secconfig?id={id}
响应示例
状态码:200
获取安全配置统计数据响应对象
{
"data" : {
"version" : "v1.0",
"start_time" : "Jul 13 2023 10:25:02",
"end_time" : "Jul 13 2023 10:25:02",
"items" : [ {
"index" : "1.1",
"name" : "预置账号信息检查",
"desc" : "检查预置账号如下配置信息:是否存在未锁定的系统预置账号,是否存在相同 用户名/uid 的用户,是否存在相同密码hash的账户,是否存在弱加密算法加密的密码,root用户密码是否设置了最长使用期限",
"severity" : "high",
"result" : "NA",
"confirmation" : null
}, {
"index" : "1.2",
"name" : "sudo高风险命令检查",
"desc" : "确认sudo中配置了modprobe、insmod等高风险命令,需要排查此类命令是否允许普通用户免密直接执行。",
"severity" : "high",
"result" : "NA",
"confirmation" : null
}, {
"index" : "1.3",
"name" : "组成员信息检查",
"desc" : "是否存在非特权用户加入特权组(root,shadow),如果存在则会导致非特权用户拥有特权用户权限",
"severity" : "high",
"result" : "NA",
"confirmation" : null
}, {
"index" : "1.4",
"name" : "UID为0的非root账户检查",
"desc" : "UID为0的账户具有root权限,只允许root账户的UID为0。",
"severity" : "high",
"result" : "NA",
"confirmation" : null
}, {
"index" : "1.5",
"name" : "密码复杂度检测",
"desc" : "检查系统中是否有密码复杂度校验规则及规则是否满足要求,CIS建议值为 retry=3 minlen=14 dcredit=-1 ucredit=-1 ocredit=-1 lcredit=-1",
"severity" : "high",
"result" : "NA",
"confirmation" : null
}, {
"index" : "1.6",
"name" : "硬编码口令检查",
"desc" : "检查系统中是否存在硬编码账户密码",
"severity" : "high",
"result" : "NA",
"confirmation" : null
}, {
"index" : "1.7",
"name" : "历史口令重复使用检查",
"desc" : "限制历史口令重复使用,可有效防止密码被猜解。",
"severity" : "low",
"result" : "NA",
"confirmation" : null
}, {
"index" : "2.1",
"name" : "SSH authorized_keys文件检查",
"desc" : "如果存在authorized_keys文件,那么文件还将列出可用于远程登录计算机的SSH密钥。任何拥有该私钥的人,都可以拥有永久访问设备的权限。应当严格控制authorized_keys文件。固件镜像中若存在该文件,则表明只要拥有私钥,任何人都可以访问运行该固件镜像的所有设备。",
"severity" : "high",
"result" : "NA",
"confirmation" : null
}, {
"index" : "2.2",
"name" : "硬编码SSH主机密钥",
"desc" : "对于SSH服务器,应当保留唯一的主机密钥。SSH服务器首次初始化会生成该密钥,该密钥必须独一无二,以便确保加密的安全性。构建中主机密钥的存在表明,所有使用该固件镜像的设备都共享此密钥,这就会带来中间人攻击的风险。",
"severity" : "high",
"result" : "NA",
"confirmation" : null
}, {
"index" : "2.3",
"name" : "SSH 配置检查",
"desc" : "ssh 是Linux下常用的远程登录协议,如果配置不规范,有可能引入信息泄露风险。",
"severity" : "medium",
"result" : "NA",
"confirmation" : null
}, {
"index" : "2.4",
"name" : "硬编码SSH私钥",
"desc" : "硬编码私钥的存在表明,此密钥不是独一无二的。在这种情况下,如果恶意用户获取了私钥并通过SSH访问了网络,那么该用户便可获得对机器的完全命令行访问。",
"severity" : "high",
"result" : "NA",
"confirmation" : null
}, {
"index" : "2.5",
"name" : "开机启动服务检查",
"desc" : "检查是否有开启telnet,ftp等不安全的服务",
"severity" : "high",
"result" : "NA",
"confirmation" : null
}, {
"index" : "2.6",
"name" : "防暴力破解机制检查",
"desc" : "当尝试登录失败次数达到一定阈值时锁定用户可以有效防止暴力破解。",
"severity" : "high",
"result" : "NA",
"confirmation" : null
}, {
"index" : "2.7",
"name" : "密钥文件检查",
"desc" : "密钥必须独一无二,以便确保加密的安全性。密钥的存在表明,所有使用该固件镜像的设备都共享此密钥,这就会带来中间人攻击的风险。",
"severity" : "high",
"result" : "pass",
"confirmation" : null
}, {
"index" : "2.8",
"name" : "证书文件检查",
"desc" : "产品不要包含预置证书。",
"severity" : "high",
"result" : "pass",
"confirmation" : null
}, {
"index" : "2.9",
"name" : "调试工具检查",
"desc" : "检查二进制包中是否残留开发/编译/调试/网络嗅探类工具。",
"severity" : "high",
"result" : "pass",
"confirmation" : null
}, {
"index" : "2.10",
"name" : "冗余文件检查",
"desc" : "请关注二进制包中扫出来的自研代码,编译中间文件,冗余配置文件,请分析是否业务需要打包在二进制包中,如果不是请删除。",
"severity" : "info",
"result" : "pass",
"confirmation" : null
} ]
}
}
状态码
|
状态码 |
描述 |
|---|---|
|
200 |
获取安全配置统计数据响应对象 |
|
400 |
错误响应体 |
|
401 |
错误响应体 |
|
429 |
错误响应体 |
错误码
请参见错误码。