云服务器内容精选

  • 修订记录 发布日期 修改说明 2024-06-06 第五次正式发布。 新增使用CodeArts Inspector服务对内网主机进行扫描。 2023-09-07 第四次正式发布。 资产列表页面优化。 “漏洞扫描服务 VSS”更名为“漏洞管理服务 CodeArts Inspector”。 2021-07-13 第三次正式发布。 删除通过VSS扫描内网网站。 2020-05-21 第二次正式发布。 新增通过VSS扫描内网网站。 2019-11-07 第一次正式发布。
  • 场景说明 如果您的网站“www.example.com”除了需要账号密码登录,还有其他的访问机制(例如,需要输入动态验证码),请您设置“cookie登录”方式进行网站漏洞扫描,以便CodeArts Inspector能为您发现更多安全问题。 在添加域名并完成域名认证后,请您参照本文档对具有复杂访问机制的网站(“www.example.com”)进行漏洞扫描,操作流程如下: ①获取网站的cookie值 → ②设置网站“cookie登录”方式 → ③创建扫描任务 → ④查看扫描结果并下载扫描报告
  • 步骤3:创建扫描任务 创建扫描任务时,请您保持网站的登录状态,以免cookie失效。 在该域名所在行的“操作”列,单击“扫描”。 在“创建任务”界面,根据扫描需求,设置扫描参数,如图5所示。 关于扫描项的详细介绍,请参见创建扫描任务。 图5 创建扫描任务 设置完成后,单击“确认”,进入扫描任务页面。 创建扫描任务后,会先进入“排队中”状态,满足运行条件后任务状态变为“进行中”。 当网站列表中有“扫描状态”为“排队中”或“进行中”的任务时,可以单击网站列表上方的“批量取消”,在弹出的窗口中勾选需要取消扫描操作的网站进行批量取消。
  • 步骤2:设置网站“cookie登录”方式 请参照以下操作步骤设置“cookie登录”方式。 登录管理控制台。 进入网站登录设置入口,如图3所示。 图3 进入网站登录设置入口 在弹出的“编辑”对话框中,将图2中网站的cookie值完整复制到“cookie值”文本框中,如图4所示。 图4 设置cookie登录方式 在“验证登录网址”文本框中输入用于验证登录的网址。 输入登录成功后才能访问的网址,便于漏洞管理服务快速判断您的登录信息是否有效。 单击“确认”,完成网站登录设置。
  • 步骤4:查看扫描结果并下载扫描报告 扫描任务执行成功后,您可以查看扫描结果并下载扫描报告。 在目标网站所在行的“安全等级”列,单击“查看报告”,进入扫描任务详情页面,如图6所示。 图6 查看扫描任务详情 单击“生成报告”,弹出“生成报告配置”窗口。 扫描报告仅支持专业版及以上版本扫描任务下载,请升级到专业版及以上版本体验。 图7 生成扫描报告 生成的扫描报告会在24小时后过期。过期后,若需要下载扫描报告,请再次单击“生成报告”,重新生成扫描报告。 (可选)修改“报告名称”。 单击“确定”,弹出前往报告中心下载报告的提示框。 单击“确定”,进入“报告中心”页面。 单击生成报告所在行的“下载”,可将报告下载到本地。
  • 调用API获取项目ID 项目ID可以通过调用查询指定条件下的项目信息API获取。 获取项目ID的接口为“GET https://{Endpoint}/v3/projects”,其中{Endpoint}为IAM的终端节点,可以从管理员处地区和终端节点获取。接口的认证鉴权请参见认证鉴权。 响应示例如下,其中projects下的“id”即为项目ID。 { "projects": [ { "domain_id": "65382450e8f64ac0870cd180d14e684b", "is_domain": false, "parent_id": "65382450e8f64ac0870cd180d14e684b", "name": "xxxxxxxx", "description": "", "links": { "next": null, "previous": null, "self": "https://www.example.com/v3/projects/a4a5d4098fb4474fa22cd05f897d6b99" }, "id": "a4a5d4098fb4474fa22cd05f897d6b99", "enabled": true } ], "links": { "next": null, "previous": null, "self": "https://www.example.com/v3/projects" } }
  • API概览 通过使用漏洞管理服务提供的接口,您可以完整的使用漏洞管理服务的所有功能。 类型 说明 网站域名管理 网站域名相关接口,包含创建域名、获取域名、删除域名,以及更新或获取域名配置。 网站任务管理 网站任务相关接口,包含创建扫描任务并启动、获取扫描任务详情、取消或重启扫描任务和获取域名的历史扫描任务。 网站报告管理 网站报告相关接口,包含获取扫描结果、业务风险扫描结果,以及更新漏洞的误报状态。 主机管理 主机相关接口,包含创建主机,获取主机,删除主机。 主机任务管理 主机任务相关接口,包含启动或停止扫描任务。 主机报告管理 主机报告相关接口,包含主机扫描结果获取。 主机组管理 主机组相关接口,包含主机组创建,获取,删除。
  • Token认证 Token的有效期为24小时,需要使用一个Token鉴权时,可以先缓存起来,避免频繁调用。 Token在计算机系统中代表令牌(临时)的意思,拥有Token就代表拥有某种权限。Token认证就是在调用API的时候将Token加到请求消息头,从而通过身份认证,获得操作API的权限。 Token可通过调用获取用户Token接口获取,调用本服务API需要project级别的Token,即调用获取用户Token接口时,请求body中auth.scope的取值需要选择project,如下所示。 { "auth": { "identity": { "methods": [ "password" ], "password": { "user": { "name": "username", "password": "********", "domain": { "name": "domainname" } } } }, "scope": { "project": { "name": "xxxxxxxx" } } } } 获取Token后,再调用其他接口时,您需要在请求消息头中添加“X-Auth-Token”,其值即为Token。例如Token值为“ABCDEFJ....”,则调用接口时将“X-Auth-Token: ABCDEFJ....”加到请求消息头即可,如下所示。 Content-Type: application/json X-Auth-Token: ABCDEFJ....
  • AK/SK认证 AK/SK签名认证方式仅支持消息体大小12MB以内,12MB以上的请求请使用Token认证。 AK/SK认证就是使用AK/SK对请求进行签名,在请求时将签名信息添加到消息头,从而通过身份认证。 AK(Access Key ID):访问密钥ID。与私有访问密钥关联的唯一标识符;访问密钥ID和私有访问密钥一起使用,对请求进行加密签名。 SK(Secret Access Key):与访问密钥ID结合使用的密钥,对请求进行加密签名,可标识发送方,并防止请求被修改。 使用AK/SK认证时,您可以基于签名算法使用AK/SK对请求进行签名,也可以使用专门的签名SDK对请求进行签名。详细的签名方法和SDK使用方法请参见API签名指南。 签名SDK只提供签名功能,与服务提供的SDK不同,使用时请注意。
  • 从控制台获取项目ID 在调用接口的时候,部分URL中需要填入项目编号,所以需要获取到项目编号。项目编号获取步骤如下: 登录管理控制台。 单击用户名,在下拉列表中单击“基本信息”。 在基本信息页面单击“管理我的凭证”。 在“API凭证”“我的凭证”页面的项目列表中查看项目ID。 单击用户名,在下拉列表中单击“我的凭证”“My Credential”。 在“我的凭证”“My Credential”页面的项目列表中查看项目ID。 图1 查看项目ID 图2 查看项目ID 图3 查看项目ID 图4 查看项目ID
  • 响应示例 状态码: 200 OK { "total" : 1, "data" : [ { "risk_id" : "fff18e42a6deeffb83f9e37f741e687ed2a3dd1a", "risk_url" : "https://127.0.0.1:8080/links/index.php1", "risk_type" : "dead_link", "risk_content" : "http://evilllllllllll.com/code.txt700", "risk_status" : "repairing", "find_time" : "2021-09-18 16:26:24" } ] }
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 total Integer 业务风险总数 最小值:0 最大值:100000 data Array of BusinessRiskItem objects 业务风险列表 数组长度:0 - 100000 表5 BusinessRiskItem 参数 参数类型 描述 risk_id String 业务风险ID 最小长度:40 最大长度:40 risk_url String 有风险的URL 最小长度:1 最大长度:256 risk_type String 业务风险类型: text - 不合规文字 image - 不合规图片 dead_link - 不合规链接(死链) dark_link - 不合规链接(暗链) business_risk - 业务风险 枚举值: text image dead_link dark_link business_risk find_time String 业务风险发现时间 最小长度:0 最大长度:19 risk_content String 业务风险内容 最小长度:0 最大长度:100000 risk_status String 漏洞状态: repairing - 未修复 repaired - 已修复 false_report - 误报,已忽略 枚举值: repairing repaired false_report 状态码: 400 表6 响应Body参数 参数 参数类型 描述 error_code String 错误码 最小长度:0 最大长度:50 error_msg String 错误描述 最小长度:0 最大长度:256 状态码: 401 表7 响应Body参数 参数 参数类型 描述 error_code String 错误码 最小长度:0 最大长度:50 error_msg String 错误描述 最小长度:0 最大长度:256 状态码: 418 表8 响应Body参数 参数 参数类型 描述 error_code String 错误码 最小长度:0 最大长度:50 error_msg String 错误描述 最小长度:0 最大长度:256
  • URI GET /v3/{project_id}/webscan/results/business-risk 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 用户的project_id,获取方法请参见获取项目ID。 最小长度:32 最大长度:32 表2 Query参数 参数 是否必选 参数类型 描述 task_id 是 String 任务ID 最小长度:32 最大长度:50 offset 否 Integer 分页查询,偏移量,表示从此偏移量开始查询 最小值:0 最大值:10000 缺省值:0 limit 否 Integer 分页查询,每页显示的条目数量 最小值:1 最大值:10000 缺省值:5
  • URI GET /v3/{project_id}/hostscan/groups 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String project_id 最小长度:32 最大长度:32 表2 Query参数 参数 是否必选 参数类型 描述 offset 否 Integer 分页查询,偏移量,表示从此偏移量开始查询 最小值:0 最大值:200 缺省值:0 limit 否 Integer 分页查询,每页显示的条目数量 最小值:1 最大值:100 缺省值:5
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 total Integer 群组总数 最小值:0 最大值:1000 items Array of Group objects 群组列表 数组长度:0 - 1000 表5 Group 参数 参数类型 描述 id String 群组ID 最小长度:1 最大长度:64 name String 群组名称 最小长度:1 最大长度:24 状态码: 400 表6 响应Body参数 参数 参数类型 描述 error_code String 错误码 最小长度:0 最大长度:50 error_msg String 错误描述 最小长度:0 最大长度:256 状态码: 401 表7 响应Body参数 参数 参数类型 描述 error_code String 错误码 最小长度:0 最大长度:50 error_msg String 错误描述 最小长度:0 最大长度:256 状态码: 418 表8 响应Body参数 参数 参数类型 描述 error_code String 错误码 最小长度:0 最大长度:50 error_msg String 错误描述 最小长度:0 最大长度:256