华为云用户手册

  • 基线检查通过率 呈现基线检查通过率、基线自动检查不通过资源统计情况、基线检查不通过类型及其数量、基线检查总数等。 表5 基线检查通过率 参数名称 统计周期 更新频率 说明 基线检查通过率 实时 每小时 基线检查通过率 = ( 基线检查合格项 / 总检查项 ) * 100%。 基线自动检查不通过资源统计 实时 每小时 基线检查不合格项,按照严重程度统计其影响的资源数。 基线检查 实时 每小时 基线检查合格、不合格、失败数量统计。
  • 脆弱性大屏总览 展示脆弱性资产、漏洞、不合格基线、未防护资产的总数。 脆弱性资产表示当前时间存在未处理的漏洞、不合格的基线或未防护的资产。 表1 脆弱性大屏总览 参数名称 统计周期 更新频率 说明 脆弱性资产总数 实时 每小时 存在漏洞、基线检查问题的资产数量统计 漏洞 实时 每小时 漏洞管理中的漏洞统计数据 不合格基线数 实时 每小时 安全云脑 基线检查中的数据 未防护资产 实时 每小时 用户没有开启安全防护的资产数量,例如没有开启 企业主机安全 的E CS ,没有开启DDoS的弹性公网IP等。
  • 模板周报展示内容 表2 模板周报展示内容 参数模块 参数说明 统计周期 周报默认统计周期为上周一00:00:00到上周日23:59:59。 安全评分 根据您的安全云脑的 威胁检测 能力,评估上周最后一天最新的整体资产安全健康得分,可以快速了解资产的整体安全状况。 基线检查 展示上周最后一次基线检查的统计情况,包含以下信息: 当前基线检查项目总数量 最后一次基线检查不合规检查项数量 安全漏洞 展示接入云服务上周日最新的漏洞统计情况,包含以下信息: 漏洞总数量 未修复漏洞数量 策略覆盖 展示上周最后一天最新的安全产品覆盖情况,包含以下信息: 受安全产品保护的实例数量(=受保护ECS数量+受保护WAF实例数量) 主机安全覆盖率(=受保护ECS数量/全部ECS数量) 当前受保护云主机数量 当前受保护网站数量 资产安全 展示上周最后一天最新的资产安全情况,包含以下信息: 资产总数量 存在风险的资产数量 安全分析 展示安全分析统计情况,包含以下信息: 上周一整周安全日志总流量 上周最后一天的安全日志模型数量 安全响应(总览) 展示上周一整周安全响应情况,包含以下信息: 上周一整周已处置的安全告警数量 上周一整周确认的入侵事件数量 运行的自动化响应剧本数量 自动化剧本闭环率 MTTR平均时间 确认高风险入侵事件数量 资产风险 展示上周最后一天最新的资产安全状况,包含以下信息: 受攻击资产数量以及较月报统计月的上周的变化 未防护资产数以及较月报统计月的上周的变化 脆弱性资产数以及较月报统计月的上周的变化 上周的资产变化趋势 资产类型防护率 威胁态势 展示上周最后一天最新的资产的威胁态势情况,包含以下信息: DDoS攻击次数 网络攻击次数 应用攻击次数 主机攻击次数 DDoS巡检情况 网络/主机攻击趋势变化 WAF巡检情况 TOP5网络告警类型统计情况 TOP5应用告警类型统计情况 TOP5主机告警类型统计情况 TOP5应用告警来源分布情况 TOP5应用告警目的分布情况 TOP5网络告警来源分布情况 TOP5主机告警目的分布情况 主机安全巡检情况 日志分析 展示上周一整周日志分析的情况,包含以下信息: 日志源数量 日志索引数量 日志接收总数 日志存储总量 日志存储量变化趋势 TOP5日志源接入量统计情况 TOP10模型检测告警统计数量 安全响应(详细信息) 展示上周一整周安全响应的情况,包含以下信息: 已处理告警数量 已处理事件数量 已处理漏洞数量 已处理基线数量 威胁告警分布情况及数量 TOP5入侵事件分布情况及数量 TOP5应急响应统计情况 TOP20威胁告警处理情况 外部安全热点 展示外部安全热点的情况。
  • 模板月报展示内容 表3 模板月报展示内容 参数模块 参数说明 统计周期 月报默认统计周期为上一个月整月。 安全评分 根据您的安全云脑的威胁检测能力,评估上一个月最后一天最新的整体资产安全健康得分,可以快速了解资产的整体安全状况。 基线检查 展示上一个月最后一次基线检查的统计情况,包含以下信息: 当前基线检查项目总数量 最后一次基线检查不合规检查项数量 安全漏洞 展示接入云服务上一个月最后一天最新的漏洞统计情况,包含以下信息: 漏洞总数量 未修复漏洞数量 策略覆盖 展示上一个月最后一天最新的安全产品覆盖情况,包含以下信息: 受安全产品保护的实例数量(=受保护ECS数量+受保护WAF实例数量) 主机安全覆盖率(=受保护ECS数量/全部ECS数量) 当前受保护云主机数量 当前受保护网站数量 资产安全 展示上一个月最后一天最新的资产安全情况,包含以下信息: 资产总数量 存在风险的资产数量 安全分析 展示安全分析统计情况,包含以下信息: 上一个月整月安全日志总流量 上一个月最后一天的安全日志模型数量 安全响应(总览) 展示上一个月整月安全响应情况,包含以下信息: 上一个月整月已处置的安全告警数量 上一个月整月确认的入侵事件数量 运行的自动化响应剧本数量 自动化剧本闭环率 MTTR平均时间 确认高风险入侵事件数量 资产风险 展示上一个月最后一天最新的资产安全状况,包含以下信息: 受攻击资产数量以及较月报统计月的上一月的变化 未防护资产数以及较月报统计月的上一月的变化 脆弱性资产数以及较月报统计月的上一月的变化 上一个月的资产变化趋势 资产类型防护率 威胁态势 展示上一个月最后一天最新的资产的威胁态势情况,包含以下信息: DDoS攻击次数 网络攻击次数 应用攻击次数 主机攻击次数 DDoS巡检情况 网络/主机攻击趋势变化 WAF巡检情况 TOP5网络告警类型统计情况 TOP5应用告警类型统计情况 TOP5主机告警类型统计情况 TOP5应用告警来源分布情况 TOP5应用告警目的分布情况 TOP5网络告警来源分布情况 TOP5主机告警目的分布情况 主机安全巡检情况 日志分析 展示上一个月整月日志分析的情况,包含以下信息: 日志源数量 日志索引数量 日志接收总数 日志存储总量 日志存储量变化趋势 TOP5日志源接入量统计情况 TOP10模型检测告警统计数量 安全响应(详细信息) 展示上一个月整月安全响应的情况,包含以下信息: 已处理告警数量 已处理事件数量 已处理漏洞数量 已处理基线数量 威胁告警分布情况及数量 TOP5入侵事件分布情况及数量 TOP5应急响应统计情况 TOP20威胁告警处理情况 外部安全热点 展示外部安全热点的情况。
  • 模板日报展示内容 表1 模板日报展示内容 参数模块 参数说明 统计周期 日报默认统计周期为前一天00:00:00~23:59:59。 安全评分 根据您的安全云脑的威胁检测能力,评估前一天00:00:00~23:59:59整体资产安全健康得分,可以快速了解资产的整体安全状况。 基线检查 展示最近一次基线检查的统计情况,包含以下信息: 当前基线检查项目总数量 最近一次基线检查不合规检查项目数量 安全漏洞 展示接入云服务前一天的漏洞统计情况,包含以下信息: 漏洞总数量 未修复漏洞数量 策略覆盖 展示当前安全产品覆盖情况,包含以下信息: 受安全产品保护的实例数量(=受保护ECS数量+受保护WAF实例数量) 主机安全覆盖率(=受保护ECS数量/全部ECS数量) 当前受保护云主机数量 当前受保护网站数量 资产安全 展示当前资产安全情况,包含以下信息: 当前资产总数量 当前存在风险的资产数量 安全分析 展示前一天安全分析统计情况,包含以下信息: 前一天安全日志总流量 安全日志模型数量 安全响应(总览) 展示前一天安全响应情况,包含以下信息: 前一天处置的安全告警数量 前一天确认的入侵事件数量 前一天运行的自动化响应剧本数量 前一天自动化剧本闭环率 前一天的MTTR平均时间 前一天确认高风险入侵事件数量 资产风险 展示前一天资产安全状况,包含以下信息: 前一天受攻击资产数量 前一天未防护资产数 前一天脆弱性资产数 截止昨天为止的近7天的资产变化趋势 前一天资产类型防护率 威胁态势 展示前一天资产的威胁态势情况,包含以下信息: 前一天DDoS攻击次数 前一天网络攻击次数 前一天应用攻击次数 前一天主机攻击次数 前一天DDoS巡检情况 前一天网络/主机攻击趋势变化 前一天WAF巡检情况 前一天TOP5网络告警类型统计情况 前一天TOP5应用告警类型统计情况 前一天TOP5主机告警类型统计情况 前一天TOP5应用告警来源分布情况 前一天TOP5应用告警目的分布情况 前一天TOP5网络告警来源分布情况 前一天TOP5主机告警目的分布情况 前一天主机安全巡检情况 日志分析 展示前一天日志分析的情况,包含以下信息: 前一天日志源数量 前一天日志索引数量 前一天日志接收总数 前一天日志存储总量 截至昨天为止的近7天的日志存储量变化趋势 截至昨天为止的近7天的TOP5日志源接入流量统计情况 前一天TOP10模型检测告警统计数量 安全响应(详细信息) 展示前一天安全响应的情况,包含以下信息: 前一天已处理告警数量 前一天已处理事件数量 前一天已处理漏洞数量 前一天已处理基线数量 前一天威胁告警分布情况及数量 前一天TOP5入侵事件分布情况及数量 前一天TOP5应急响应统计情况 前一天TOP20威胁告警处理情况 外部安全热点 展示前一天外部安全热点的情况。
  • 什么是安全治理? 安全治理是安全云脑中的一个自动化合规评估和安全治理功能,以华为内部“云服务网络 安全与合规 标准”(Cloud Service Cybersecurity & Compliance Standard,3CS)为基座,将华为积累的全球安全合规经验服务化,开放PCI DSS、ISO27701、ISO27001等安全治理模板,将合规语言IT化,实现自动化扫描,可视化呈现合规状态,一键生成合规遵从性报告,帮助用户快速实现云上业务的安全遵从,提升租户获得法规及行业标准认证的效率。 使用安全治理功能前,需先提交工单申请开通使用权限。
  • 功能特性 安全治理为您提供安全治理模板与合规策略扫描服务,将安全遵从包内的法规标准条款转化成检查项。 提供安全遵从包 华为开放的安全治理模板,包含法规标准条款原文、扫描策略、自评估检查项以及华为专家的改进建议,覆盖PCI DSS、ISO27701、ISO27001、隐私等法规标准。用户可以订阅、取消订阅安全遵从包,查看合规评估与治理结果。 合规策略扫描 Policy as Code,将安全遵从包内的法规标准条款代码化,周期性、自动化扫描云上资产的合规情况,可视化看板呈现风险,提供华为专家改进建议。 自评估检查项 将安全遵从包内的法规标准条款转化成检查项,租户可根据检查项完成自身业务的合规评估,查看历史评估结果,进行证据上传和下载,根据华为专家改进建议进行治理。 合规结果可视 可视化呈现合规评估结果与安全治理情况,包括租户订阅的法规、标准条款遵从概况,各安全遵从包状态,各策略扫描概况。
  • 使用流程 安全治理功能的使用流程如表1所示。 图1 安全治理功能的使用流程 表1 使用流程步骤说明 子流程 说明 授权云服务资源访问权限 使用安全治理功能前,需要获取访问云服务资源的权限,授权后,才能通过策略扫描帮您快速识别云上资产的安全遵从情况。 订阅或取消订阅安全遵从包 安全云脑提供有不同的安全遵从包,您可以选择所需的安全遵从包。 用户自评估 订阅安全遵从包后,您可以遵从包的条款进行自评估,以便识别业务遵从情况。 查看结果 策略扫描或自评估后,您可以查看安全治理情况: 查看安全合规总览:查看法规、标准条款遵从概况、各安全遵从包状态、策略扫描概况。 查看治理结果:查看各个安全遵从包整体遵从情况和各条款的详细信息。 查看策略扫描结果:查看策略扫描结果及其详细信息。 下载安全合规报表 安全治理提供安全合规报表的功能,支持下载当前资源的合规情况。
  • 功能优势 全球合规治理经验服务化 安全治理以华为内部“云服务网络安全与合规标准”(Cloud Service Cybersecurity & Compliance Standard,3CS)为基座,将华为积累的全球安全合规经验服务化,开放华为 云安全 治理模板,将法规条款、标准要求转化为业务语言、IT语言,帮助客户识别自身合规状态。 提升获得法规及行业标准认证的效率 安全治理开放PCI DSS、ISO27701、ISO27001等安全治理模板,内含合规策略和自评估检查项;合规策略将自动化、持续性扫描租户云上资产的合规状态,自评估检查项将帮助租户快速梳理业务情况;并且安全治理提供证据链管理功能,支持一键导出报表,可极大提升租户获得法规及行业标准认证的效率。 高效实施安全治理动作 安全治理通过数据看板将所有的合规情况集中展示,向用户显示当前的安全性与合规性状态。租户可以轻松发现识别潜在问题,并根据华为专家建议采取必要的安全治理动作。
  • 操作场景 应急策略作为告警一键阻断的止血手段,可根据告警来源选择相应的类型对攻击者进行阻断。表1中为推荐设置,除此之外,您也可以结合对多条告警的综合调查结果,对单个攻击源采用多种类型进行阻断。 表1 推荐阻断策略 告警类型 对应防线 推荐阻断策略 HSS告警 主机防线 建议优先采用VPC策略阻断 WAF告警 应用防线 建议优先采用WAF策略阻断 CFW告警 网络防线 建议优先采用CFW策略阻断 IAM 告警 身份防线 建议优先采用IAM策略阻断 OBS/DBSS告警 数据防线 当前可根据实际攻击场景和调查结果考虑使用VPC策略阻断/CFW策略阻断,隔绝防护资产和攻击源的网络通信等 本章节介绍如何执行一键阻断和一键解封操作。
  • 安全大屏概述 在现场讲解汇报、实时监控等场景下,为了获得更好的演示效果,通常需要将安全云脑服务的分析结果展示在大型屏幕上。如果只是单纯将控制台界面放大显示,视觉效果并不是很理想。此时可以利用安全大屏,展示专为大型屏幕设计的服务界面,获得更清晰的态势信息和更好的视觉效果。安全云脑默认提供如下安全大屏: 综合 态势感知 大屏:可以还原攻击历史,感知攻击现状,预测攻击态势,为用户提供强大的事前、事中、事后安全管理能力,实现一屏全面感知。 值班响应大屏:可以查看未处理告警、事件、漏洞、基线的总览情况,实现一屏全面感知。 资产大屏:可以查看资产总数、受攻击资产数、未防护资产数等总览情况,实现一屏全面感知。 威胁态势大屏:可以查看网络攻击次数、应用拦截次数、主机层拦截次数等总览情况,实现一屏全面感知。 脆弱性大屏:可以查看脆弱性资产、漏洞、基线、未防护资产等总览情况,实现一屏全面感知。 此外,安全云脑联动Astro大屏应用(Astro Canvas,简称AstroCanvas),支持指标自定义接入,页面零代码开发,数据分钟级接入。AstroCanvas以数据可视技术为核心,以屏幕轻松编排,多屏适配可视为基础,帮助非专业开发者通过图形化界面轻松搭建专业水准的 数据可视化 大屏应用,满足项目运营管理、业务监控、风险预警等多种业务场景下的一站式数据实时可视化大屏展示需求,更多AstroCanvas详细介绍请参见什么是Astro大屏应用。 安全云脑支持升级为自定义大屏,以及新增自定义大屏。 (可选)升级为自定义大屏:如果需要使用AstroCanvas大屏,且购买安全云脑时未进行购买,请参考此章节进行处理。 新增自定义大屏:购买AstroCanvas大屏后,可以根据需要新增自定义展示大屏。 父主题: 查看安全大屏
  • 约束与限制 应急策略目前仅支持CFW/WAF/VPC安全组/IAM的黑名单策略。 单用户单工作空间内容最多新增300条支持阻断老化的应急策略,全量最多新增1300条应急策略。同时,单次下发策略阻断对象数量限制如下: 当需要下发策略至CFW时,单用户单次最多可新增50个IP作为阻断对象。 当需要下发策略至WAF时,单用户单次最多可新增50个IP作为阻断对象。 当需要下发策略至VPC时,单用户单次1分钟内最多可新增20个IP作为阻断对象。 当需要下发策略至IAM时,单用户单次最多可新增50个IAM用户作为阻断对象。 将IP或IP地址段或IAM用户配置为黑名单后,来自该IP或IP地址段或用户的访问,CFW/WAF/VPC/IAM将不会做任何检测,直接拦截。
  • 操作场景 安全云脑功能对其他云服务资源有依赖,需要您将相关云服务的操作权限委托给安全云脑,让安全云脑以您的身份使用这些云服务,代替您进行一些任务调度、资源运维等工作。 当您首次使用安全云脑时,需要先进行委托授权操作,才能正常访问和使用安全云脑。具体待委托权限如下所示: 表1 委托权限 权限 权限描述 授权主体 权限用途 ECS FullAccess 弹性云服务器所有权限 SecMaster_Agency 用于首次购买安全云脑场景,获取账号中的ECS主机资产信息。 用于资产管理场景同步ECS资产信息。 用于涉及到ECS相关的剧本流程执行,例如主机一键解封、主机一键隔离等。 WAF FullAccess Web应用防火墙 管理员 SecMaster_Agency 用于涉及到WAF相关的剧本流程执行,比如WAF阻断、WAF地址组关联策略配置等。 用于剧本流程中执行基线检查功能获取WAF网站防护信息。 SecMaster FullAccess 安全云脑管理员 SecMaster_Agency 用于执行告警处置等操作 HSS FullAccess 企业主机安全的所有权限 SecMaster_Agency 用于资产管理场景同步资产信息时获取HSS资产信息。 用于涉及到HSS相关的剧本流程执行,例如漏洞管理、主机隔离等。 用于剧本流程中执行基线检查功能获取HSS安全状态。 用于修复主机安全漏洞场景执行漏洞修复流程。 EPS ReadOnlyAccess 企业项目管理服务只读权限 SecMaster_Agency 用于资产管理场景补全资产对应的企业项目名称等信息,获取企业项目列表和详情。 用于WAF相关剧本流程的执行,例如内置流程“WAF删除空防护策略”执行时获取企业项目ID和企业项目名称信息。 Anti-DDoS ReadOnlyAccess Anti-DDoS流量清洗服务只读权限 SecMaster_Agency 用于资产管理场景查询DDoS信息。 用于剧本流程中执行基线检查功能获取DDoS的信息。 IAM ReadOnlyAccess 统一身份认证 服务的只读权限 SecMaster_Agency 用于剧本流程执行时,针对IAM用户进行批量阻断或批量取消阻断场景获取IAM用户名信息。 WAF Administrator Web应用防火墙服务(WAF)管理员,拥有该服务下的所有权限 SecMaster_Agency 用于资产管理场景同步资产信息时获取WAF的网站信息。 用于涉及到WAF相关的剧本流程执行,比如WAF阻断、WAF地址组关联策略配置等。 用于剧本流程中基线检查功能获取WAF网站防护信息。 SMN FullAccess 拥有 消息通知 服务的所有权限 SecMaster_Agency 用于通知类剧本流程的执行,比如高危告警自动通知等。 RDS ReadOnlyAccess 关系型数据库服务资源只读权限 SecMaster_Agency 用于资产管理场景同步资产信息时获取RDS信息。 用于剧本流程中执行基线检查功能获取RDS的数据库实例列表和详情信息。 EIP ReadOnlyAccess EIP服务只读权限 SecMaster_Agency 用于资产管理场景获取EIP列表和详情信息。 用于剧本流程中执行基线检查功能获取EIP列表和详情信息。 Tenant Guest 全部云服务只读权限(除IAM权限) SecMaster_Agency 用于基线检查场景查询用户的除IAM外其他云服务的资源信息。 NAT ReadOnlyAccess NAT网关服务只读权限 SecMaster_Agency 资产管理场景同步资产信息时获取NAT信息。 VPC FullAccess 虚拟私有云所有权限 SecMaster_Agency 用于资产管理场景同步资产信息时获取VPC信息。 用于涉及VPC相关的剧本流程执行,例如安全组阻断、安全组取消阻断等。 用于剧本流程中执行基线检查功能获取租户安全组信息。 OBS OperateAccess 具有 对象存储服务 (OBS)查看桶列表、获取桶元数据、列举桶内对象、查询桶位置、上传对象、获取对象、删除对象、获取对象ACL等对象基本操作权限 SecMaster_Agency 用于使用OBS插件场景,查询、上传、下载对象。 ELB ReadOnlyAccess 弹性负载均衡服务只读权限 SecMaster_Agency 用于同步ELB信息,补全告警受影响资产信息的场景使用。 用于剧本流程中执行基线检查功能获取租户ELB资产信息。 CFW FullAccess 云防火墙 所有权限 SecMaster_Agency 用于资产管理场景同步资产信息时获取CFW防火墙信息。 用于涉及CFW相关的剧本流程执行,比如CFW阻断、CFW一键解封等。
  • 约束限制 企业主机安全各版本支持的漏洞处理操作请参见支持扫描和修复的漏洞类型。 操作系统CentOS 7,CentOS 8,Debian 9、10,Windows 2012 R2和Ubuntu 14.04及以下,官方已停止维护,由于官方不出补丁所以无法修复,建议使用正在维护的操作系统。 操作系统Ubuntu 16.04~Ubuntu 22.04,官方已不支持免费补丁更新,需要订阅Ubuntu Pro才能安装升级包,未配置Ubuntu Pro会导致漏洞修复失败。 由于贸然修复内核漏洞,可能会导致主机功能不可用,因此针对CCE、 MRS 、BMS的主机内核漏洞,HSS不支持自动修复,HSS在执行批量自动修复漏洞任务时也会自动过滤不修复这些类型的漏洞。 处理漏洞时需保证目标服务器的“服务器状态”为“运行中”、“Agent状态”为“在线”、“防护状态”为“防护中”。
  • 手动修复系统软件漏洞 对于Web-CMS漏洞、应用漏洞,不支持一键自动修复,您可以参考漏洞详情页面的修复建议,登录服务器手动修复。 漏洞修复命令 进入到漏洞的基本信息页,可根据修复建议修复已经被识别出的漏洞,漏洞修复命令可参见表1。 “Windows系统漏洞”和“Linux系统Kernel类的漏洞”修复完成后需要手动重启,否则系统仍可能为您推送漏洞消息。 不同的漏洞请根据修复建议依次进行修复。 如果同一主机上的多个软件包存在同一漏洞,您只需修复一次即可。 表1 漏洞修复命令 操作系统 修复命令 CentOS/Fedora /Euler/Redhat/Oracle yum update 软件名称 Debian/Ubuntu apt-get update && apt-get install 软件名称 --only-upgrade Gentoo 请参见漏洞修复建议。 漏洞修复方案 漏洞修复有可能影响业务的稳定性,为了防止在修复漏洞过程影响当前业务,建议参考以下两种方案,选择其中一种执行漏洞修复: 方案一:创建新的虚拟机执行漏洞修复 为需要修复漏洞的ECS主机创建镜像,详细操作请参见通过云服务器创建整机镜像。 使用该镜像创建新的ECS主机,详细操作请参见通过镜像创建云服务器。 在新启动的主机上执行漏洞修复并验证修复结果。 确认修复完成之后将业务切换到新主机。 确定切换完成并且业务运行稳定无故障后,可以释放旧的主机。如果业务切换后出现问题且无法修复,可以将业务立即切换回原来的主机以恢复功能。 方案二:在当前主机执行修复 为需要修复漏洞的ECS主机创建备份,详细操作请参见创建云服务器备份。 在当前主机上直接进行漏洞修复。 如果漏洞修复后出现业务功能问题且无法及时修复,立即使用备份恢复功能将主机恢复到修复前的状态,详细操作请参见使用备份恢复服务器。 方案一适用于第一次对主机漏洞执行修复,且不确定漏洞修复的影响。新创建的ECS主机建议采用按需计费的方式创建,待业务切换完成后可以根据需要转换为包周期计费模式。如果漏洞修复不成功可以随时释放以节省开销。 方案二适用于已经有同类主机执行过修复,漏洞修复方案已经比较成熟可靠的场景。
  • 操作风险 执行主机漏洞修复可能存在漏洞修复失败导致业务中断,或者中间件及上层应用出现不兼容等风险,并且无法进行回滚。为了防止出现不可预料的严重后果,建议您通过云备份(CBR)为ECS创建备份,详细操作请参见创建云服务器备份。然后,使用空闲主机搭建环境充分测试,确认不影响业务正常运行后,再对主机执行漏洞修复。 在线修复主机漏洞时,需要连接Internet,通过外部镜像源提供漏洞修复服务。 Linux系统:如果主机无法访问Internet,或者外部镜像源提供的服务不稳定时,可以使用华为云提供的镜像源进行漏洞修复。为了保证漏洞修复成功,请在执行在线升级漏洞前,确认主机中已配置华为云提供的对应操作系统的镜像源,详细的配置操作请参见配置镜像源。 Windows系统:如果主机无法访问Internet,请确保拥有自建的补丁服务器。
  • 修复验证 漏洞修复后,建议您立即进行验证。 表2 修复验证 验证方式 操作方法 手动验证 通过漏洞详情页面的“验证”,进行一键验证。 执行以下命令查看软件升级结果,确保软件已升级为最新版本。 CentOS/Fedora /Euler/Redhat/Oracle操作系统:rpm -qa | grep 软件名称 Debian/Ubuntu操作系统:dpkg -l | grep 软件名称 Gentoo操作系统:emerge --search 软件名称 在HSS中进行手动执行漏洞检测,查看漏洞修复结果。 自动验证 如果您未进行手动验证,HSS每日凌晨进行全量检测,您修复后需要等到次日凌晨检测后才能查看修复效果。
  • GROUP WINDOW 语法说明 Group Window定义在GROUP BY里,每个分组只输出一条记录,包括以下几种: 分组函数 表1 分组函数表 分组窗口函数 说明 TUMBLE(time_attr, interval) 定义一个滚动窗口。滚动窗口把行分配到有固定持续时间( interval )的不重叠的连续窗口。比如,5 分钟的滚动窗口以 5 分钟为间隔对行进行分组。滚动窗口可以定义在事件时间(批处理、流处理)或处理时间(流处理)上。 HOP(time_attr, interval, interval) 定义一个跳跃的时间窗口(在 Table API 中称为滑动窗口)。滑动窗口有一个固定的持续时间( 第二个 interval 参数 )以及一个滑动的间隔(第一个 interval 参数 )。若滑动间隔小于窗口的持续时间,滑动窗口则会出现重叠;因此,行将会被分配到多个窗口中。比如,一个大小为 15 分组的滑动窗口,其滑动间隔为 5 分钟,将会把每一行数据分配到 3 个 15 分钟的窗口中。滑动窗口可以定义在事件时间(批处理、流处理)或处理时间(流处理)上。 SESSION(time_attr, interval) 定义一个会话时间窗口。会话时间窗口没有一个固定的持续时间,但是它们的边界会根据 interval 所定义的不活跃时间所确定;即一个会话时间窗口在定义的间隔时间内没有时间出现,该窗口会被关闭。例如时间窗口的间隔时间是 30 分钟,当其不活跃的时间达到30分钟后,若观测到新的记录,则会启动一个新的会话时间窗口(否则该行数据会被添加到当前的窗口),且若在 30 分钟内没有观测到新纪录,这个窗口将会被关闭。会话时间窗口可以使用事件时间(批处理、流处理)或处理时间(流处理)。 在流处理表中的 SQL 查询中,分组窗口函数的 time_attr 参数必须引用一个合法的时间属性,且该属性需要指定行的处理时间或事件时间。 time_attr设置为event-time时参数类型为timestamp(3)类型。 time_attr设置为processing-time时无需指定类型。 对于批处理的 SQL 查询,分组窗口函数的 time_attr 参数必须是一个timestamp类型的属性。 窗口辅助函数 可以使用以下辅助函数选择组窗口的开始和结束时间戳以及时间属性。 表2 窗口辅助函数表 辅助函数 说明 TUMBLE_START(time_attr, interval) HOP_START(time_attr, interval, interval) SESSION_START(time_attr, interval) 返回相对应的滚动、滑动和会话窗口范围内的下界时间戳。 TUMBLE_END(time_attr, interval) HOP_END(time_attr, interval, interval) SESSION_END(time_attr, interval) 返回相对应的滚动、滑动和会话窗口范围以外的上界时间戳。 注意: 范围以外的上界时间戳不可以 在随后基于时间的操作中,作为行时间属性使用,比如基于时间窗口的join以及分组窗口或分组窗口上的聚合。 TUMBLE_ROWTIME(time_attr, interval) HOP_ROWTIME(time_attr, interval, interval) SESSION_ROWTIME(time_attr, interval) 返回的是一个可用于后续需要基于时间的操作的时间属性(rowtime attribute),比如基于时间窗口的join以及 分组窗口或分组窗口上的聚合。 TUMBLE_PROCTIME(time_attr, interval) HOP_PROCTIME(time_attr, interval, interval) SESSION_PROCTIME(time_attr, interval) 返回一个可用于后续需要基于时间的操作的 处理时间参数,比如基于时间窗口的join以及分组窗口或分组窗口上的聚合. 辅助函数必须使用与GROUP BY 子句中的分组窗口函数完全相同的参数来调用。 示例 1 2 3 4 5 6 7 8 91011121314151617181920212223242526 // 每天计算SUM(金额)(事件时间)。SELECT name, TUMBLE_START(ts, INTERVAL '1' DAY) as wStart, SUM(amount) FROM Orders GROUP BY TUMBLE(ts, INTERVAL '1' DAY), name;// 每天计算SUM(金额)(处理时间)。SELECT name, SUM(amount) FROM Orders GROUP BY TUMBLE(proctime, INTERVAL '1' DAY), name;// 每个小时计算事件时间中最近24小时的SUM(数量)。SELECT product, SUM(amount) FROM Orders GROUP BY HOP(ts, INTERVAL '1' HOUR, INTERVAL '1' DAY), product;// 计算每个会话的SUM(数量),间隔12小时的不活动间隙(事件时间)。SELECT name, SESSION_START(ts, INTERVAL '12' HOUR) AS sStart, SESSION_END(ts, INTERVAL '12' HOUR) AS sEnd, SUM(amount) FROM Orders GROUP BY SESSION(ts, INTERVAL '12' HOUR), name;
  • OVER WINDOW Over Window与Group Window区别在于Over window每一行都会输出一条记录。 语法格式 1 2 3 4 5 6 7 8 91011 SELECT agg1(attr1) OVER ( [PARTITION BY partition_name] ORDER BY proctime|rowtime ROWS BETWEEN (UNBOUNDED|rowCOUNT) PRECEDING AND CURRENT ROW FROM TABLENAMESELECT agg1(attr1) OVER ( [PARTITION BY partition_name] ORDER BY proctime|rowtime RANGE BETWEEN (UNBOUNDED|timeInterval) PRECEDING AND CURRENT ROW FROM TABLENAME 语法说明 表5 参数说明 参数 参数说明 PARTITION BY 指定分组的主键,每个分组各自进行计算。 ORDER BY 指定数据按processing time或event time作为时间戳。 ROWS 个数窗口。 RANGE 时间窗口。 注意事项 所有的聚合必须定义到同一个窗口中,即相同的分区、排序和区间。 当前仅支持 PRECEDING (无界或有界) 到 CURRENT ROW 范围内的窗口、FOLLOWING 所描述的区间并未支持。 ORDER BY 必须指定于单个的时间属性。 示例 1 2 3 4 5 6 7 8 91011121314151617 // 计算从规则启动到目前为止的计数及总和(in proctime)SELECT name, count(amount) OVER (PARTITION BY name ORDER BY proctime RANGE UNBOUNDED preceding) as cnt1, sum(amount) OVER (PARTITION BY name ORDER BY proctime RANGE UNBOUNDED preceding) as cnt2 FROM Orders; // 计算最近四条记录的计数及总和(in proctime)SELECT name, count(amount) OVER (PARTITION BY name ORDER BY proctime ROWS BETWEEN 4 PRECEDING AND CURRENT ROW) as cnt1, sum(amount) OVER (PARTITION BY name ORDER BY proctime ROWS BETWEEN 4 PRECEDING AND CURRENT ROW) as cnt2 FROM Orders;// 计算最近60s的计数及总和(in eventtime),基于事件时间处理,事件时间为Orders中的timeattr字段。SELECT name, count(amount) OVER (PARTITION BY name ORDER BY timeattr RANGE BETWEEN INTERVAL '60' SECOND PRECEDING AND CURRENT ROW) as cnt1, sum(amount) OVER (PARTITION BY name ORDER BY timeattr RANGE BETWEEN INTERVAL '60' SECOND PRECEDING AND CURRENT ROW) as cnt2 FROM Orders;
  • 示例 根据order_id对数据进行去重,其中proctime为事件时间属性列。 123456 SELECT order_id, user, product, number FROM ( SELECT *, ROW_NUMBER() OVER (PARTITION BY order_id ORDER BY proctime ASC) as row_num FROM Orders) WHERE row_num = 1;
  • 语法说明 ROW_NUMBER(): 从第一行开始,依次为每一行分配一个唯一且连续的号码。 PARTITION BY col1[, col2...]: 指定分区的列,例如去重的键。 ORDER BY time_attr [asc|desc]: 指定排序的列。所指定的列必须为时间属性。目前仅支持proctime。升序( ASC )排列指只保留第一行,而降序排列( DESC )则只保留最后一行。 WHERE rownum = 1: Flink 需要 rownum = 1 以确定该查询是否为去重查询。
  • 响应方案 攻击者攻击 域名 成功之后会对后端服务器进行攻击,因此针对此链路攻击的路径,安全云脑提供了攻击链路分析告警通知剧本。当攻击者通过层层攻击到主机之后,进行告警,通知运营人员进行处置。 “攻击链路分析告警通知”剧本已匹配“攻击链路分析告警通知”流程,该流程需要使用消息通知服务(Simple Message Notification,SMN)来创建安全云脑告警通知主题,并完成订阅即可接收到告警通知。 “攻击链路分析告警通知”流程是通过资产关联,查询对应HSS告警影响资产所关联的网站资产列表,流程预置默认查询最多3条网站资产。 如果有关联网站资产,则每条网站资产查询3小时前到现在这个时间段内对应的WAF告警数据(告警类型为XSS、SQL注入、命令注入、本地文件包含、远程文件包含、Webshell、漏洞攻击),同样的,最多查询3条告警数据。 如果有对应WAF告警,则将WAF告警数据与本条HSS告警数据进行关联,并通过SMN通知到邮箱。 图1 攻击链路分析告警通知
  • 背景说明 恶意软件攻击是指通过电子邮件、远程下载、恶意广告等多种手段,向用户传播恶意软件(如病毒、蠕虫、木马、勒索软件等),并在目标主机上执行恶意程序,从而实现对远程主机的控制、攻击网络系统、窃取敏感信息或进行其他恶意行为。这类攻击对计算机系统、网络和个人设备的安全构成了严重威胁,可能导致数据泄露、系统崩溃、个人隐私泄露、金融损失以及其他安全风险。 针对以上问题,通过程序特征、行为检测,结合AI图像指纹算法以及云查杀,能有效识别后门、木马、挖矿软件、蠕虫和病毒等恶意程序,检测出主机中未知的恶意程序和病毒变种,也可检测来自网页、软件、邮件、存储介质等介质捆绑、植入的勒索软件。因此,当有此类攻击发生的时候如何预防降低风险就至关重要。 本文档就恶意软件和勒索软件隔离查杀进行详细介绍。
  • 响应方案 针对以上背景,安全云脑提供的HSS文件隔离查杀剧本,自动隔离查杀恶意软件。 “HSS文件隔离查杀”剧本已匹配“HSS文件隔离查杀”流程,当有恶意软件和勒索软件告警生成时,通过判断受攻击资产HSS防护版本,版本为专业版或者高于专业版但未开启自动隔离查杀的就满足隔离查杀条件,人工审批进行隔离查杀,就会通过HSS文件隔离查杀进行告警处置,隔离软件成功,关闭告警。隔离失败,添加手动处理的评论,提示需要进行手动操作。 图1 HSS文件隔离查杀
  • 事件响应 获取、保护、记录证据。 根据您华为云环境的配置,通过企业主机安全配置可通过AV检测和HIPS检测帮助您发现资产中的安全威胁,检测到恶意软件和勒索软件。 可通过SSH等方法访问云服务器,查看实例状态和监控等信息,查看是否有异常。或者通过其他方式收到攻击信息或勒索信息请求发现潜在威胁。 一旦确认攻击是事件,需要评估受影响范围、受攻击机器和受影响业务及数据信息。 通过安全云脑“转事件”能力,持续跟踪对应事件,记录所有涉及事件信息。详细操作请参见告警转事件。 同时可通过日志信息溯源,通过“安全分析”能力审核所有相关日志信息,在“事件管理”中记录存档,便于后续跟踪运营。 控制事件。 通过告警和日志信息,确定攻击类型、影响主机和业务进程信息。 通过HSS文件隔离查杀脚本对涉及进程软件进行进程查杀、软件隔离操作。降低后续影响。 排查感染范围,有感染风险都需要进行排查,一旦有沦陷及时处理控制。 同时也可使用其他剧本流程进行风险控制,比如“主机隔离”,通过安全组策略,从访问控制方面隔离受感染机器,隔离网络传播风险。 消除事件。 评估受影响机器是否需要加固恢复。如果已经沦陷,需要通过溯源结果加固恢复机器。如安全凭证泄露造成的攻击,则删除任何未经授权的IAM用户、角色和策略,并吊销凭据等操作进行主机加固。 对受感染机器可以进行风险排查,排查是否有漏洞、过时的软件、未修补的漏洞等,这些都可能会造成后续机器的持续沦陷,可以通过“漏洞管理”排查和修复处理对应机器漏洞;排查是否有风险配置,可以通过“基线检查”排查机器配置,针对有风险配置进行及时处理修复。 评估影响范围,如果已经有其他机器沦陷,需要同步处理所有影响主机。 从事故中恢复。 确定从备份执行的所有还原操作的还原点。 查看备份策略,以确定是否可以恢复所有对象和文件,这取决于在资源上应用的生命周期策略。 使用取证方法确认数据在恢复之前是安全的,然后从备份中恢复数据,或者恢复到ECS实例的早期快照。 如果您已成功使用任何开源解密工具恢复数据,请从实例中删除该数据,并执行必要的分析以确认数据是安全的。然后,恢复实例,终止或隔离实例并创建新的实例,并将数据还原至新实例中。 如果从备份恢复或解密数据都不可行,请评估在新环境中重新开始的可能性。 事故后活动。 通过整个告警处理流程中分析告警发生详细信息,持续运营优化模型,提升模型告警准确率。如判断是业务相关的,无风险的告警可以直接通过模型进行筛选。 通过溯源告警发生,更好的了解事件的整个流程,持续优化资产防护策略,降低资源风险,收缩攻击面。 通过告警事件处理,结合自己业务实际场景,优化自动化处理剧本流程,例如,通过分析之后告警准确率提升可替换人工审核策略,以全自动化替代,提升处理效率,更快速的对风险进行处理。 风险分析可结合所有同类恶意软件和勒索软件攻击点,进行风险前置,在未发生事件之前进行风险控制处理。
  • 背景说明 攻击链路在网络安全领域中是一个重要的概念,它主要指的是攻击者为了达成攻击目的,在目标网络或系统中采取的一系列攻击步骤和路径。这些步骤和路径构成了攻击链路,通过它们,攻击者能够逐步深入目标系统,最终实现其攻击目标。 攻击链路对目标网络或系统的危害是巨大的。一旦攻击者成功构建了攻击链路,并突破了目标系统的防御措施,就可以对目标系统进行任意操作,包括窃取敏感信息、破坏系统数据、瘫痪系统服务等。这些危害不仅会导致经济损失,还可能对国家安全和社会稳定造成严重影响。
  • 事件响应 获取、保护、记录证据。 根据您华为云环境的配置,通过企业主机安全(HSS)以及Web应用防火墙(WAF)来源检测相关类型的告警。 可通过SSH等方法访问云服务器,查看实例状态和监控等信息,查看是否有异常。或者通过其他方式收到的告警信息。 一旦确认攻击是事件,需要评估受影响范围、攻击机器和受影响业务及数据信息。 通过安全云脑“转事件”能力,持续跟踪对应事件,记录所有涉及事件信息。详细操作请参见告警转事件。 同时可通过日志信息溯源,通过“安全分析”能力审核所有相关日志信息,在“事件管理”中记录存档,便于后续跟踪运营。 控制事件。 通过告警和日志信息,确定攻击类型、影响主机和业务进程信息。 通过隔离查杀,策略阻断等脚本对涉及进程软件进行进程查杀、软件隔离等操作,降低后续影响。 排查感染范围,有感染风险都需要进行排查,一旦有沦陷及时处理控制。 同时也可使用其他剧本流程进行风险控制,比如“主机隔离”,通过安全组策略,从访问控制方面隔离受感染机器,隔离网络传播风险。 消除事件。 评估受影响机器是否需要加固恢复。如果已经沦陷,需要通过溯源结果加固恢复机器。如安全凭证泄露造成的攻击,则删除任何未经授权的IAM用户、角色和策略,并吊销凭据等操作进行主机加固。 对受感染机器可以进行风险排查,排查是否有漏洞、过时的软件、未修补的漏洞等,这些都可能会造成后续机器的持续沦陷,可通过“漏洞管理”排查和修复处理对应机器漏洞;排查是否有风险配置,可以通过“基线检查”排查机器配置,针对有风险配置进行及时处理修复。 评估影响范围,如果已经有其他机器沦陷,需要同步处理所有影响主机。 从事故中恢复。 确定从备份执行的所有还原操作的还原点。 查看备份策略,以确定是否可以恢复所有对象和文件,这取决于在资源上应用的生命周期策略。 使用取证方法确认数据在恢复之前是安全的,然后从备份中恢复数据,或者恢复到ECS实例的早期快照。 如果您已成功使用任何开源解密工具恢复数据,请从实例中删除该数据,并执行必要的分析以确认数据是安全的。然后,恢复实例,终止或隔离实例并创建新的实例,并将数据还原至新实例中。 如果从备份恢复或解密数据都不可行,请评估在新环境中重新开始的可能性。 事故后活动。 通过整个告警处理流程中分析告警发生详细信息,持续运营优化模型,提升模型告警准确率。如判断是业务相关的,无风险的告警可以直接通过模型进行筛选。 通过溯源告警发生,更好的了解事件的整个流程,持续优化资产防护策略,降低资源风险,收缩攻击面。 通过告警事件处理,结合自己业务实际场景,优化自动化处理剧本流程,例如,通过分析之后告警准确率提升可替换人工审核策略,以全自动化替代,提升处理效率,更快速的对风险进行处理。 通过风险分析,结合攻击链路告警分析,进行风险前置,在未发生事件之前进行风险控制处理。
  • 剧本说明 安全云脑提供的高危漏洞自动通知剧本,当新增主机漏洞,且等级为高危时,自动通知运营人员。 “高危漏洞自动通知”剧本已匹配“高危漏洞自动通知”流程,该流程需要使用消息通知服务(Simple Message Notification,SMN)来创建安全云脑告警通知主题,并完成订阅即可接收到告警通知。 当新增HSS的高危漏洞时,会通过SMN服务对运营人员发送漏洞通知。 图1 高危漏洞自动通知流程
  • 保留关键字 目前,由于SecMaster SQL特性功能还在不断更新完善中,其中有一些字符串的组合已被预留为关键字在后续功能特性中使用,因此,如果您需要使用这些字符串作为字段名,请使用反引号将字段名进行包装,例如,`value`, `count`。 具体保留关键字如下: 表1 保留关键字 首字母 安全云脑保留关键字 A A, ABS, ABSOLUTE, ACTION, ADA, ADD, ADMIN, AFTER, ALL, ALLOCATE, ALLOW, ALTER, ALWAYS, AND, ANALYZE, ANY, ARE, ARRAY, AS, ASC, ASENSITIVE, ASSERTION, ASSIGNMENT, ASYMMETRIC, AT, ATOMIC, ATTRIBUTE, ATTRIBUTES, AUTHORIZATION, AVG B BEFORE, BEGIN, BERNOULLI, BETWEEN, BIGINT, BINARY, BIT, BLOB, BOOLEAN, BOTH, BREADTH, BY, BYTES C C, CALL, CALLED, CARDINALITY, CASCADE, CASCADED, CASE, CAST, CATA LOG , CATALOG_NAME, CEIL, CEILING, CENTURY, CHAIN, CHAR, CHARACTER, CHARACTERIS TICS , CHARACTERS, CHARACTER_LENGTH, CHARACTER_SET_CATALOG, CHARACTER_SET_NAME, CHARACTER_SET_SCHEMA, CHAR_LENGTH, CHECK, CLASS_ORIGIN, CLOB, CLOSE, COALESCE, COBOL, COLLATE, COLLATION, COLLATION_CATALOG, COLLATION_NAME, COLLATION_SCHEMA, COLLECT, COLUMN, COLUMNS, COLUMN_NAME, COMMAND_FUNCTION, COMMAND_FUNCTION_CODE, COMMIT, COMMITTED, CONDITION, CONDITION_NUMBER, CONNECT, CONNECTION, CONNECTION_NAME, CONSTRAINT, CONSTRAINTS, CONSTRAINT_CATALOG, CONSTRAINT_NAME, CONSTRAINT_SCHEMA, CONSTRUCTOR, CONTAINS, CONTINUE, CONVERT, CORR, CORRESPONDING, COUNT, COVAR_POP, COVAR_SAMP, CREATE, CROSS, CUBE, CUME_DIST, CURRENT, CURRENT_CATALOG, CURRENT_DATE, CURRENT_DEFAULT_TRANSFORM_GROUP, CURRENT_PATH, CURRENT_ROLE, CURRENT_SCHEMA, CURRENT_TIME, CURRENT_TIMESTAMP, CURRENT_TRANSFORM_GROUP_FOR_TYPE, CURRENT_USER, CURSOR, CURSOR_NAME, CYCLE D DATA, DATABASE, DATE, DATETIME_INTERVAL_CODE, DATETIME_INTERVAL_PRECISION, DAY, DEALLOCATE, DEC, DECADE, DECIMAL, DECLARE, DEFAULT, DEFAULTS, DEFERRABLE, DEFERRED, DEFINED, DEFINER, DEGREE, DELETE, DENSE_RANK, DEPTH, DEREF, DERIVED, DESC, DESCRIBE, DESCRIPTION, DESCRIPTOR, DETERMINISTIC, DIAGNOSTICS, DISALLOW, DISCONNECT, DISPATCH, DISTINCT, DOMAIN, DOUBLE, DOW, DOY, DROP, DYNAMIC, DYNAMIC_FUNCTION, DYNAMIC_FUNCTION_CODE E EACH, ELEMENT, ELSE, END, END-EXEC, EPOCH, EQUALS, ESCAPE, EVERY,EXCEPT, EXCEPTION, EXCLUDE, EXCLUDING, EXEC, EXECUTE, EXISTS, EXP, EXPLAIN, EXTEND, EXTERNAL, EXTRACT F FALSE, FETCH, FILTER, FINAL, FIRST, FIRST_VALUE, FLOAT, FLOOR, FOLLOWING, FOR, FOREIGN, FORTRAN, FOUND, FRAC_SECOND, FREE, FROM, FULL, FUNCTION, FUSION G G, GENERAL, GENERATED, GET, GLOBAL, GO, GOTO, GRANT, GRANTED, GROUP, GROUPING H HAVING, HIERARCHY, HOLD, HOUR I IDENTITY, IMMEDIATE, IMPLEMENTATION, IMPORT, IN, INCLUDING, INCREMENT, INDICATOR, INITIALLY, INNER, INOUT, INPUT, INSENSITIVE, INSERT, INSTANCE, INSTANTIABLE, INT, INTEGER, INTERSECT, INTERSECTION, INTERVAL, INTO, INVOKER, IS, ISOLATION J JAVA, JOIN K K, KEY, KEY_MEMBER, KEY_TYPE L LABEL, LANGUAGE, LARGE, LAST, LAST_VALUE, LATERAL, LEADING, LEFT, LENGTH, LEVEL, LIBRARY, LIKE, LIMIT, LN, LOCAL, LOCALTIME, LOCALTIMESTAMP, LOCATOR, LOWER M M, MAP, MATCH, MATCHED, MAX, MAXVALUE, MEMBER, MERGE, MESSAGE_LENGTH, MESSAGE_OCTET_LENGTH, MESSAGE_TEXT, METHOD, MICROSECOND, MILLENNIUM, MIN, MINUTE, MINVALUE, MOD, MODIFIES, MODULE, MODULES, MONTH, MORE, MULTISET, MUMPS N NAME, NAMES, NATIONAL, NATURAL, NCHAR, NCLOB, NESTING, NEW, NEXT, NO, NONE, NORMALIZE, NORMALIZED, NOT, NULL, NULLABLE, NULLIF, NULLS, NUMBER, NUMERIC O OBJECT, OCTETS, OCTET_LENGTH, OF, OFFSET, OLD, ON, ONLY, OPEN, OPTION, OPTIONS, OR, ORDER, ORDERING, ORDINALITY, OTHERS, OUT, OUTER, OUTPUT, OVER, OVERLAPS, OVERLAY, OVERRIDING P PAD, PA RAM ETER, PARAMETER_MODE, PARAMETER_NAME, PARAMETER_ORDINAL_POSITION, PARAMETER_SPECIFIC_CATALOG, PARAMETER_SPECIFIC_NAME, PARAMETER_SPECIFIC_SCHEMA, PARTIAL, PARTITION, PASCAL, PASSTHROUGH, PATH, PERCENTILE_CONT, PERCENTILE_DISC, PERCENT_RANK, PLACING, PLAN, PLI, POSITION, POWER, PRECEDING, PRECISION, PREPARE, PRESERVE, PRIMARY, PRIOR, PRIVILEGES, PROCEDURE, PUBLIC Q QUARTER R RANGE, RANK, RAW, READ, READS, REAL, RECURSIVE, REF, REFEREN CES , REFERENCING, REGR_AVGX, REGR_AVGY, REGR_COUNT, REGR_INTERCEPT, REGR_R2, REGR_SLOPE, REGR_SXX, REGR_SXY, REGR_SYY, RELATIVE, RELEASE, REPEATABLE, RESET, RESTART, RESTRICT, RESULT, RETURN, RETURNED_CARDINALITY, RETURNED_LENGTH, RETURNED_OCTET_LENGTH, RETURNED_SQLSTATE, RETURNS, REVOKE, RIGHT, ROLE, ROLLBACK, ROLLUP, ROUTINE, ROUTINE_CATALOG, ROUTINE_NAME, ROUTINE_SCHEMA, ROW, ROWS, ROW_COUNT, ROW_NUMBER S SAVEPOINT, SCALE, SCHEMA, SCHEMA_NAME, SCOPE, SCOPE_CATALOGS, SCOPE_NAME, SCOPE_SCHEMA, SCROLL, SEARCH, SECOND, SECTION, SECURITY, SELECT, SELF, SENSITIVE, SEQUENCE, SERIALIZABLE, SERVER, SERVER_NAME, SESSION, SESSION_USER, SET, SETS, SIMILAR, SIMPLE, SIZE, SMALLINT, SOME, SOURCE, SPACE, SPECIFIC, SPECIFICTYPE, SPECIFIC_NAME, SQL, SQLEXCEPTION, SQLSTATE, SQLWARNING, SQL_TSI_DAY, SQL_TSI_FRAC_SECOND, SQL_TSI_HOUR, SQL_TSI_MICROSECOND, SQL_TSI_MINUTE, SQL_TSI_MONTH, SQL_TSI_QUARTER, SQL_TSI_SECOND, SQL_TSI_WEEK, SQL_TSI_YEAR, SQRT, START, STATE, STATEMENT, STATIC, STDDEV_POP, STDDEV_SAMP, STREAM, STRING, STRUCTURE, STYLE, SUBCLASS_ORIGIN, SUBMULTISET, SUBSTITUTE, SUBSTRING, SUM, SYMMETRIC, SYSTEM, SYSTEM_USER T TABLE, TABLESAMPLE, TABLE_NAME, TEMPORARY, THEN, TIES, TIME, TIMESTAMP, TIMESTAMPADD, TIMESTAMPDIFF, TIMEZONE_HOUR, TIMEZONE_MINUTE, TINYINT, TO, TOP_LEVEL_COUNT, TRAILING, TRANSACTION, TRANSACTIONS_ACTIVE, TRANSACTIONS_COMMITTED, TRANSACTIONS_ROLLED_BACK, TRANSFORM, TRANSFO RMS , TRANSLATE, TRANSLATION, TREAT, TRIGGER, TRIGGER_CATALOG, TRIGGER_NAME, TRIGGER_SCHEMA, TRIM, TRUE, TYPE U UESCAPE, UNBOUNDED, UNCOMMITTED, UNDER, UNION, UNIQUE, UNKNOWN, UNNAMED, UNNEST, UPDATE, UPPER, UPSERT, USAGE, USER, USER_DEFINED_TYPE_CATALOG, USER_DEFINED_TYPE_CODE, USER_DEFINED_TYPE_NAME, USER_DEFINED_TYPE_SCHEMA, USING V VALUE, VALUES, VARBINARY, VARCHAR, VARYING, VAR_POP, VAR_SAMP, VERSION, VIEW W WEEK, WHEN, WHENEVER, WHERE, W IDT H_BUCKET, WINDOW, WITH, WITHIN, WITHOUT, WORK, WRAPPER, WRITE X XML Y YEAR Z ZONE 父主题: 数据操作语句DQL
  • DQL语句 语法定义 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 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99100101102103104105106107108109110111112113114115116117 query: values | { select | selectWithoutFrom | query UNION [ ALL ] query | query EXCEPT query | query INTERSECT query } [ ORDER BY orderItem [, orderItem ]* ] [ LIMIT { count | ALL } ] [ OFFSET start { ROW | ROWS } ] [ FETCH { FIRST | NEXT } [ count ] { ROW | ROWS } ONLY]orderItem: expression [ ASC | DESC ]select: SELECT [ ALL | DISTINCT ] { * | projectItem [, projectItem ]* } FROM tableExpression [ WHERE booleanExpression ] [ GROUP BY { groupItem [, groupItem ]* } ] [ HAVING booleanExpression ] [ WINDOW windowName AS windowSpec [, windowName AS windowSpec ]* ]selectWithoutFrom: SELECT [ ALL | DISTINCT ] { * | projectItem [, projectItem ]* }projectItem: expression [ [ AS ] columnAlias ] | tableAlias . *tableExpression: tableReference [, tableReference ]* | tableExpression [ NATURAL ] [ LEFT | RIGHT | FULL ] JOIN tableExpression [ joinCondition ]joinCondition: ON booleanExpression | USING '(' column [, column ]* ')'tableReference: tablePrimary [ matchRecognize ] [ [ AS ] alias [ '(' columnAlias [, columnAlias ]* ')' ] ]tablePrimary: [ TABLE ] [ [ catalogName . ] schemaName . ] tableName | LATERAL TABLE '(' functionName '(' expression [, expression ]* ')' ')' | UNNEST '(' expression ')'values: VALUES expression [, expression ]*groupItem: expression | '(' ')' | '(' expression [, expression ]* ')' | CUBE '(' expression [, expression ]* ')' | ROLLUP '(' expression [, expression ]* ')' | GROUPING SETS '(' groupItem [, groupItem ]* ')'windowRef: windowName | windowSpecwindowSpec: [ windowName ] '(' [ ORDER BY orderItem [, orderItem ]* ] [ PARTITION BY expression [, expression ]* ] [ RANGE numericOrIntervalExpression {PRECEDING} | ROWS numericExpression {PRECEDING} ] ')'matchRecognize: MATCH_RECOGNIZE '(' [ PARTITION BY expression [, expression ]* ] [ ORDER BY orderItem [, orderItem ]* ] [ MEASURES measureColumn [, measureColumn ]* ] [ ONE ROW PER MATCH ] [ AFTER MATCH ( SKIP TO NEXT ROW | SKIP PAST LAST ROW | SKIP TO FIRST variable | SKIP TO LAST variable | SKIP TO variable ) ] PATTERN '(' pattern ')' [ WITHIN intervalLiteral ] DEFINE variable AS condition [, variable AS condition ]* ')'measureColumn: expression AS aliaspattern: patternTerm [ '|' patternTerm ]*patternTerm: patternFactor [ patternFactor ]*patternFactor: variable [ patternQuantifier ]patternQuantifier: '*' | '*?' | '+' | '+?' | '?' | '??' | '{' { [ minRepeat ], [ maxRepeat ] } '}' ['?'] | '{' repeat '}'
共99354条