华为云用户手册

  • NGS配置文件示例 NGS作业由十个Task执行完成,本示例以fastp和bwa-mem两个Task为例,介绍.yaml文件填写规则,完整的NGS配置文件请参考本示例以及获取NGS作业配置文件章节得到的作业信息和模板填写。 job: name: ngs-test description '' priority: 0 timeout: 1440 output_dir: '' workflow_id: ngs-workflow::1.0.0::ngs-project tasks: - task_name: task-1-fastp inputs: - name: fastq-file1 values: - 'ngs-project:/ngs/NA12878_0.R1.fastq.gz' inputs: - name: fastq-file2 values: - 'ngs-project:/ngs/NA12878_0.R2.fastq.gz' resources: cpu: 0.1C memory: 0.1G gpu_type: '' gpu: '0' - task_name: task-2-bwa-mem inputs: - name: fq-file1 values: - '${task-1-fastp.fq-file1}' - name: fq-file2 values: - '${task-1-fastp.fq-file2}' - name: ref-file values: - 'ngs-project:/ngs/GCA_000001405.15_GRCh38_no_alt_plus_hs38d1_analysis_set.fna' - name: seq-platform values: - 'MGI' - name: sample-id values: - 'NA12878' resources: cpu: 16C memory: 10G gpu_type: '' gpu: '0' ...
  • 配置输入和依赖数据 NGS流程中涉及的输入、输出和依赖数据如表1所示。配置数据前,请先参考上传数据,上传原始Fastq文件和依赖数据。 如果在创建应用时打开了“并发”开关,可以设置多个参数值,批量执行作业。 数据上传完成后,在流程设计器页面,分别单击应用参数左侧图标,设置输入和依赖数据。NGS流程中输入输出参数说明如表2所示。 表1 流程输入、输出和依赖 类别 类型 说明 输入 Fastq 输入基于二代测序得到的原始Fastq文件,支持来源于多个barcode和路径的输入。 依赖 Reference Genome 输入的参考基因组序列,已经通过bwa构建了index。 依赖 Variant Sets GATK4在做Variant Calling阶段需要输入的参考Variants数据集。 输出 FastQC Report 原始测序数据的质控报告,以HTML文件形式展示。 输出 BamQC Report 测序比对数据的质量控制报告,以HTML文件的形式展示。 输出 VCF 样本的突变信息,包含有SNP和INDEL信息,以VCF的格式存储。 输出 VCF Report 样本突变信息的质量控制报告,以HTML文件的形式展示。 表2 参数说明 应用名称 参数 名称 类型 说明 fastp 输入参数 fastq-file1 file 二代测序fastq的Read1文件。 fastq-file2 file 二代测序fastq的Read2文件。 输出参数 fq-file1 file Read1过滤之后输出fq.gz文件。 fq-file2 file Read2过滤之后输出fq.gz文件 json-file file 以JSON文件的格式输出的质控报告。 html-file file 以HTML的格式输出易于阅读的质控报告。 bwa-mem 输入参数 fq-file1 file 测序得到的fastq1文件。 fa-file2 file 测序得到的fastq2文件。 ref-file file 参考基因组序列。 seq-platform string 测序平台,如MGI、Illumina。 sample-id string 文件前缀,如NA12878。 输出参数 sorted-bam file 比对和排序之后得到的bam文件。 flagstat-file file 基于bam做统计。 qualimap-bamqc 输入参数 bam-file file 输入已经排序好的bam文件。 输出参数 out-dir directory 质控报告的输出目录。 picard-insertsize 输入参数 bam-file file 经过比对和排序之后得到的bam文件。 ref-file file 参考基因组序列。 输出参数 insertsize-txt file 输出的insert size分布的文本文件。 insertsize-pdf file 输出的insert size分布的pdf文件。 gatk-markduplicates 输入参数 bam-file file 输入比对之后经过sort的bam文件。 输出参数 out-dir directory 经过gatk-markduplicates处理之后得到的bam文件。 matrics-file file 质控报告文件。 markduped-bam file 经过gatk-markduplicates处理之后得到的bam文件。 gatk-bqsr 输入参数 ref-file file 参考基因组序列。 markduped-bam file 经过gatk-markduplicates处理之后得到的bam文件。 know-site1 file 已知变异位点对应的vcf文件(其一)。 know-site2 file 已知变异位点对应的vcf文件(其二)。 know-site3 file 已知变异位点对应的vcf文件(其三)。 输出参数 recal-table file 输出经过BQSR评估得到的参数文件。 gatk-applybqsr 输入参数 markduped-bam file 经过gatk-markduplicates处理之后得到的bam文件。 ref-file file 参考基因组序列。 recal-table file 通过 GATK-BQSR得到参数评估文件。 输出参数 bqsr-bam file 经过BQSR校正的bam文件。 gatk-haplotypecaller 输入参数 bqsr-bam file 经过gatk-applybqsr处理之后得到的bam文件。 ref-file file 参考基因组序列。 contig-file file 与参考基因组对应的contigs文件,包含contigs清单。 输出参数 out-dir directory 输出的Variant Calling的vcf文件。 gatk-mergevcfs 输入参数 in-dir directory 分interval进行Variant calling之后得到的vcf的list文件。 输出参数 vcf-file file 输出合并之后的Variant Calling的vcf文件。 discvrseq-variantqc 输入参数 ref-file file 参考基因组序列。 variants-file file 变异检测软件(gatk4)生成的变异文件(vcf file)。 输出参数 json-file file 以JSON文件的格式输出的质控报告。 html-file file 以HTML文件的格式输出的质控报告。
  • 制作bwa-mem镜像 在本地搭建Docker环境。 要求安装的容器引擎版本必须为1.11.2及以上。 下载bwa和samtools软件。 wget http://downloads.sourceforge.net/project/bio-bwa/bwa-0.7.17.tar.bz2 wget https://github.com/samtools/samtools/releases/download/1.10/samtools-1.10.tar.bz2 编写Dockerfile将bwa和samtool镜像合并。 详细的Dockerfile指令请参见Dockerfile参考。 执行vi Dockerfile命令,进入Dockerfile文件中,编写文件。 FROM centos ENV PATH $PATH:/usr/local/samtools/bin:/usr/local/bwa-0.7.17 ADD ./bwa-0.7.17.tar.bz2 /usr/local ADD ./samtools-1.10.tar.bz2 /opt RUN yum makecache && \ yum install -y make gcc ncurses-devel bzip2-devel xz-devel zlib-devel&& \ cd /usr/local/bwa-0.7.17 && make && \ cd /opt/samtools-1.10 && ./configure --prefix=/usr/local/samtools && make && make install 按Esc键,并执行:wq保存并退出Dockerfile。 制作镜像。 docker build -t bwa_samtools:0.7.17-1.10 .
  • 制作gatk-haplotypecaller镜像 在本地搭建Docker环境。 要求安装的容器引擎版本必须为1.11.2及以上。 编写Dockerfile制作gatk-haplotypecaller镜像。 执行vi Dockerfile命令,进入Dockerfile文件中,编写文件。 FROM broadinstitute/gatk:4.1.9.0 RUN apt-get update RUN apt-get install -y parallel 按Esc键,并执行:wq退出Dockerfile。 制作镜像。 docker build -t gatk-haplotypecaller:4.1.9.0 . 详细的Dockerfile指令请参见Dockerfile参考。
  • 上传数据 NGS流程中需使用二代测序得到的原始fastq文件、参考基因组序列、参考Variants数据集。 本示例中以Windows系统命令行工具为例,介绍如何将本地数据上传到 EIHealth 平台。更多的命令介绍请参见命令行工具。 使用命令行工具,用switch命令进入待操作的项目。 例如,使用health switch project ngs-project命令进入到名为ngs-project的项目中。 使用命令行工具,用mkdir命令创建存储数据的文件夹。 例如,使用health mkdir input-data命令创建名为input-data的文件夹。 将本地数据上传至项目文件夹中。 例如,将Linux系统下root/health_test路径中xxx.R1.fastq.gz数据上传至ngs-project项目的input-data文件夹中。 ./health upload /root/health_test/xxx.R1.fastq.gz /input-data/ 例如,Windows系统下将本地D盘中xxx.R1.fastq.gz数据上传至ngs-project项目的input-data文件夹中。 health upload D:\local\data\xxx.R1.fastq.gz /input-data/ 父主题: 基于二代测序的基因组突变检测
  • 操作步骤 下载命令行工具。 安装命令行工具。 本示例中以Windows系统为例,介绍安装命令行工具的方法。 下载Windows版本的客户端,得到health.exe文件,health文件无需安装,放置在任一文件夹中即可。 图1 下载命令行工具 使用win键+R,输入cmd打开windows的cmd窗口。进入工具所在的目录,输入health命令,即可使用。 如果cmd窗口显示目录不是health文件所在目录,请使用cd命令切换路径。例如,切换至D盘: cd /d d: 使用Linux版本命令行工具时,您需要在本地搭建Linux环境,并将下载的health文件放至所需的目录下。 如果当前目录为health所在目录,可以使用./health命令使用命令行工具。 如果当前目录不是health所在目录,需要使用绝对路径。如当前目录为/opt,假设health存放在/root/health-toolkit/下,需要指定/root/health-toolkit/health路径进行使用。 如果无法运行,提示Permission denied,请使用chmod 755 health命令设置执行权限。 初始化配置。 在使用命令行工具前,需要初始化配置信息。执行health config add命令配置AK/SK,区 域名 称,华为云项目ID信息,获取方法请参见获取认证信息。 命令结构 health config add [flags] 表1 参数说明 参数 简写 是否必选 说明 --ak -a 是 AK(Access Key ID):访问密钥ID。 --sk -s 是 SK(Secret Access Key):与访问密钥ID结合使用的密钥。 --region -r 是 服务区域名称。 --platform-id -i 是 华为云项目ID,请按获取认证信息中的方法获取。 --log-path -l 否 日志路径,不填写时默认为命令行工具当前路径下healthcli.log文件。 --http-proxy -p 否 HTTP代理配置,格式为“http://username:password@your-proxy:your-port”。 --swr-endpoint -t 是 SWR镜像仓库地址。 获取方式: 登录 容器镜像服务 管理控制台。 单击界面右侧“登录指令”,获取内网登录指令末尾的SWR镜像仓库地址。例如100.78.15.50:20202。 --iam-endpoint -m 是 IAM 终端节点名称,请在地区与终端节点中获取。 --health-endpoint -e 是 EIHealth终端节点名称,请在地区与终端节点中获取。 --obs-endpoint -o 是 OBS终端节点名称,请在地区与终端节点中获取。 --obs-install-path -q 否 设置obsutil安装路径,默认安装在当前运行目录。 设置时,该路径必须为obsutil运行文件名,如/home/path/obsutil、/home/path/obsutil-1.1.1 --obs_down_load_url -D 否 obsutil下载链接,obsutil将下载到obs-install-path上。 参数有改动时才会触发下载。 下载链接的内容可以是zip、tar.gz文件、二进制文件,如果是压缩文件,文件夹内的obsutil必须命名为obsutil(和obsutil官方链接保持一致)。 --force -f 否 强制操作。如果下载obsutil时,指定的obs-install-path上已经有同名文件,不带-f时会提示用户,带上-f会直接覆盖原文件。 命令示例 health config add --ak CAIxxxxxxxxxFE --sk QLFxxxxxxxxxxxxtNvsF --region cn-north-4 --platform-id catdi9fb689 --swr-endpoint 100.78.15.50:20202 --iam-endpoint iam.cn-north-4.myhuaweicloud.com --health-endpoint eihealth.cn-north-4.myhuaweicloud.com --obs-endpoint obs.cn-north-4.myhuaweicloud.com # 执行成功返回结果如下 add ak successfully! add sk successfully! add region successfully! add platform-id successfully! add swr-endpoint successfully! add iam-endpoint successfully! add health-endpoint successfully! add obs-endpoint successfully! 执行以上命令,会在系统所在的用户目录下自动生成“.health”文件夹,文件夹中包含config.ini配置文件,用于存储任务执行所涉及到的配置,如密钥、区域、当前项目等信息。 生成的配置文件不建议直接修改,如需改动请使用命令行工具修改。 配置文件中保存有用户的AK、SK信息,为了避免密钥泄露,会对文件中的SK进行加密以保护密钥安全。
  • 功能介绍 测序数据质量的总体评估 评估测序的Reads数目,测序Base数,测序深度等。 低质量Reads过滤 过滤低质量的测序Reads,得到Clean Reads。 基因组比对 将Clean Reads比对到参考基因组上,同时输出比对率、深度、覆盖度的统计信息。 基因组变异检测 基于上述比对得到的bam文件,通过GATK4做Variant Calling,输出变异检测结果。 基因组变异检测质控 通过VariantQC对vcf进行质量控制,输出变异数目,变异类型统计等指标。
  • 流程执行信息 NGS流程由fastp、bwa-mem、picard-insertsize、qualimap-bamqc、gatk-markduplicates、gatk-bqsr、gatk-applybqsr、gatk-haplotypecaller、gatk-mergevcfs和discvrseq-variantqc应用构成。NGS流程执行步骤如表1所示。 表1 NGS执行步骤 步骤 描述 Read Quality 对测序得到的fastq数据进行质控。 Mapping and Sort and index 将质控之后得到的Clean Reads比对到参考基因组上。 Insert Size Estimation 针对构建Index后的bam文件,统计测序数据的Insert size的分布。 Bam QC 评估比对得到的bam文件的质量。 GATK MarkDuplicates 标记比对bam文件中的重复Reads。 gatk BaseRecalibrator 基于比对bam文件评估矫正参数。 gatk ApplyBQSR 基于比对bam文件进行矫正。 gatk HaplotypeCaller 基于比对和矫正之后的bam文件进行Variant Calling的工作。 gatk MergeVcfs 合并分bin变异检测的VCF文件。 Variant QC 针对输出的VCF文件进行质控。 图1 NGS执行步骤
  • SDK列表 表1提供了 SMN 服务支持的SDK列表,您可以在GitHub仓库查看SDK更新历史、获取安装包以及查看指导文档。 表1 SDK列表 编程语言 Github地址 参考文档 Java huaweicloud-sdk-java-v3 Java SDK使用指导 Python huaweicloud-sdk-python-v3 Python SDK使用指导 Go huaweicloud-sdk-go-v3 Go SDK使用指导 .NET huaweicloud-sdk-net-v3 .Net SDK使用指导 NodeJS huaweicloud-sdk-nodejs-v3 NodeJS SDK使用指导 PHP huaweicloud-sdk-php-v3 PHP SDK使用指导
  • 约束条件 边缘安全支持批量导入黑白名单,如果您需要配置多个IP/IP地址段规则,请添加地址组,详细操作请参见添加黑白名单IP地址组。 添加或修改防护规则后,规则生效需要等待几分钟。规则生效后,您可以在“防护事件”页面查看防护效果。 边缘安全黑白名单规则不支持配置0.0.0.0/0 IP地址段。如果您需要拦截某个网段其他所有IP,请先添加黑名单规则,拦截该网段的所有IP。 当黑白名单规则的“防护动作”设置为“拦截”时,您可以配置攻击惩罚标准。配置攻击惩罚后,如果访问者的IP、Cookie或Params恶意请求被拦截时,边缘安全将根据攻击惩罚设置的拦截时长来封禁访问者。
  • 规格限制 一个域名扩展包支持10个域名。 一个规则扩展包最多可添加10条IP黑白名单防护规则。 企业版的规格限制如表1所示。 表1 版本说明 业务规格 企业版 域名个数 20个 CC攻击防护规则 100条 精准访问防护规则 100条 引用表规则 100条 IP黑白名单规则 1000条 地理位置封禁规则 100条 网页防篡改规则 100条 防敏感信息泄露 100条 全局白名单规则 1000条 隐私屏蔽规则 100条
  • 配置示例-屏蔽Cookie字段 假如防护域名“www.example.com”已接入EdgeSec,您可以参照以下操作步骤验证屏蔽Cookie字段名“jsessionid”防护效果。 添加一条隐私屏蔽规则。 图4 添加“jsessionid”字段名隐私屏蔽规则 开启隐私屏蔽。 图5 隐私设置配置框 在左侧导航树中,单击“防护事件”,进入“防护事件”页面。 在目标防护事件所在行的“操作”列中,单击“详情”,查看事件详细信息。 该防护事件的Cookie字段名“jsessionid”信息被屏蔽。 图6 查看防护事件-隐私屏蔽
  • 约束条件 仅基于边缘安全内置的Web基础防护规则和网站反爬虫的特征反爬虫拦截或记录的攻击事情可以进行“误报处理”操作。 基于自定义规则(CC攻击防护规则、精准访问防护规则、黑白名单规则、地理位置访问控制规则等)拦截或记录的攻击事件,无法执行“误报处理”操作,如果您确认该攻击事件为误报,可在自定义规则页面,将该攻击事件对应的防护规则删除或关闭。 同一个攻击事件不能重复进行误报处理,即如果该攻击事件已进行了误报处理,则不能再对该攻击事件进行误报处理。
  • 配置示例-Cookie拦截攻击惩罚 假如防护域名“www.example.com”已接入边缘安全,访问者IP XXX.XXX.248.195为恶意请求,而您需要对来自该IP地址Cookie标记为jsessionid的访问请求封禁10分钟。您可以参照以下操作步骤验证封禁效果。 在“网站设置”页面,单击“www.example.com”,进入域名基本信息页面。 配置防护域名的Cookie流量标识,即“Session标记”。 图4 流量标识 添加一条拦截时长为600秒的“长时间Cookie拦截”的攻击惩罚标准。 图5 添加Cookie拦截攻击惩罚 开启攻击惩罚。 图6 攻击惩罚配置框 添加一条黑白名单规则,拦截XXX.XXX.248.195,且“攻击惩罚”选择“长时间Cookie拦截”。 图7 选择攻击惩罚规则 清理浏览器缓存,在浏览器中访问“http://www.example.com”页面。 当XXX.XXX.248.195源IP访问页面时,会被边缘安全拦截。当检测到来自该源IP的Cookie标记为jsessionid访问请求时,将封禁该访问请求,时长为10分钟。 图8 拦截攻击请求 返回边缘安全管理控制台,在左侧导航树中,单击“防护事件”,进入“防护事件”页面,您可以查看该防护事件。
  • 约束条件 Web基础防护、精准访问防护和黑白名单设置支持攻击惩罚功能,当攻击惩罚标准配置完成后,您还需要在Web基础防护、精准访问防护或黑白名单规则中选择攻击惩罚,该功能才能生效。 添加或修改防护规则后,规则生效需要等待几分钟。规则生效后,您可以在“防护事件”页面查看防护效果。 在配置Cookie或Params恶意请求的攻击惩罚标准前,您需要在域名详情页面设置对应的流量标识。相关操作请参见配置攻击惩罚的流量标识。
  • 规格限制 每个用户可以拥有50个地址组。1个地址组可以添加200个IP地址/IP地址段。 添加地址组前,请确保当前版本有剩余的IP黑白名单规则配额。 您可以参见配置IP黑白名单规则规则拦截指定IP,查看当前IP黑白名单规则配额。 如果您当前版本的IP黑白名单防护规则条数不能满足要求时,您可以通过购买规则扩展包或升级版本增加IP黑白名单防护规则条数,以满足的防护配置需求。一个规则扩展包包含10条IP黑白名单防护规则。
  • 约束条件 当“不检测模块”配置为“所有检测模块”时,通过EdgeSec配置的其他所有的规则都不会生效,EdgeSec将放行该域名下的所有请求流量。 当“不检测模块”配置为“Web基础防护模块”时,仅对EdgeSec预置的Web基础防护规则和网站反爬虫的“特征反爬虫”拦截或记录的攻击事件可以配置全局白名单规则,防护规则相关说明如下: Web基础防护规则 防范SQL注入、XSS跨站脚本、远程溢出攻击、文件包含、Bash漏洞攻击、远程命令执行、目录遍历、敏感文件访问、命令/代码注入等常规的Web攻击,以及Webshell检测、深度反逃逸检测等Web基础防护。 网站反爬虫的“特征反爬虫”规则 可防护搜索引擎、扫描器、脚本工具、其它爬虫等爬虫。 添加或修改防护规则后,规则生效需要等待几分钟。规则生效后,您可以在“防护事件”页面查看防护效果。 您可以通过处理误报事件来配置全局白名单规则,处理误报事件后,您可以在全局白名单规则列表中查看该误报事件对应的全局白名单规则。
  • 配置示例-仅记录脚本工具爬虫 假如防护域名“www.example.com”已接入EdgeSec,您可以参照以下操作步骤验证反爬虫防护效果。 执行JS脚本工具,爬取网页内容。 在“特征反爬虫”页签,开启“脚本工具”,“防护动作”设置为“仅记录”(EdgeSec检测为攻击行为后,只记录不阻断)。 图8 开启“脚本工具” 开启网站反爬虫。 图9 网站反爬虫配置框 在左侧导航树中,单击“防护事件”,进入“防护事件”页面,您可以查看该防护事件。 图10 查看防护事件-脚本爬虫
  • JS脚本反爬虫检测机制 JS脚本检测流程如图1所示,其中,①和②称为“js挑战”,③称为“js验证”。 图1 JS脚本检测流程说明 开启JS脚本反爬虫后,当客户端发送请求时,会返回一段JavaScript代码到客户端。 如果客户端是正常浏览器访问,就可以触发这段JavaScript代码再发送一次请求,即边缘安全完成js验证,并将该请求转发给源站。 如果客户端是爬虫访问,就无法触发这段JavaScript代码再发送一次请求,即边缘安全无法完成js验证。 如果客户端爬虫伪造了认证请求,发送到边缘安全时,会拦截该请求,js验证失败。 通过统计“js挑战”和“js验证”,就可以汇总出JS脚本反爬虫防御的请求次数。例如,图2中JS脚本反爬虫共记录了18次事件,其中,“js挑战”(EdgeSec返回JS代码)为16次,“js验证”(EdgeSec完成JS验证)为2次,“其他”(即爬虫伪造EdgeSec认证请求)为0次。 图2 JS脚本反爬虫防护数据 “js挑战”和“js验证”的防护动作为仅记录,EdgeSec不支持配置“js挑战”和“js验证”的防护动作。
  • 防护效果 假如已添加域名“www.example.com”。可参照以下步骤验证防护效果: 清理浏览器缓存,在浏览器中输入防护域名,测试网站域名是否能正常访问。 不能正常访问,参照章节添加防护网站重新完成域名接入。 能正常访问,执行2。 参照操作步骤,将您的客户端IP来源地配置为拦截。 清理浏览器缓存,在浏览器中访问“http://www.example.com”页面,正常情况下,会阻断该来源地IP的访问请求,返回拦截页面。
  • DDoS攻击日志字段说明 字段 类型 字段说明 描述 id string 受攻击目的ip - attackTime long 攻击时间 - tenantId string 租户id - siteId string 站点id - attackType string 攻击来源类型 - avgBps long 攻击流量带宽平均值 - avgPps long 攻击数据包转发数平均值 - maxBps long 攻击流量带宽最大值 - maxPps long 攻击数据包转发数最大值 -
  • HTTP攻击日志字段说明 字段 类型 字段说明 描述 id string 攻击事件id - geo string 地理位置 其中c表示国家,r表示省份。 sip string 攻击源ip - attackTime string 攻击时间 - tenantId string 租户id - host string 域名 - hostId string 域名id - enterpriseProjectId string 企业项目id - projectId string 租户所在region的项目id - siteSn string 站点名 - rule string 规则id - ruleName sting 规则名 - method string 攻击请求方法 - url string 攻击请求url - requestHeader string 攻击请求头 - requestParams string 攻击请求参数 - cookie string 攻击请求cookie - requestBody string 攻击请求体 - status string 攻击响应码 Nginx作为Web服务器时,会处理客户端的请求并返回该响应码。 responseHeaders string 攻击响应头 - responseBody string 攻击响应体 - responseSize long 攻击响应体大小 - upstreamStatus string 上游服务器攻击响应码 Nginx作为反向代理服务器时,客户端的请求转发给上游服务器,由上游服务器返回的响应码。 upstreamResponseTime string 攻击响应时间 - processTime string 攻击处理时间 - attackCount long 攻击数 - attackCategory string 攻击类别 - attack string 攻击详情 attack中的key和value分别表示攻击类型和攻击数,action中的key和value分别表示该攻击类型的防护动作和防护次数。 maliciousData string 触发规则的恶意数据 - maliciousLocation string 恶意数据位置 - policyId string 策略id -
  • 监控指标原始数据格式样例 [ { "metric": { // 命名空间 "namespace": "SYS.EdgeSec", "dimensions": [ { // 维度名称,例如防护网站 "name": "EdgeSec_instance_id", // 该维度下的监控对象ID,例如防护网站ID "value": "082db2f542e0438aa520035b3e99cd99" } ], // 指标ID "metric_name": "EdgeSec_http_2xx" }, // 生存时间,指标预定义 "ttl": 172800, // 指标值 "value": 0.0, // 指标单位 "unit": "Count", // 指标值类型 "type": "float", // 指标采集时间 "collect_time": 1637677359778 } ]
  • 监控指标 表1 EdgeSec支持的监控指标 指标ID 指标名称 指标含义 取值范围 测量对象 监控周期(原始指标) requests 请求量 该指标用于统计测量对象近5分钟内EdgeSec返回的请求量的总数。 单位:次 采集方式:统计防护域名请求量的总数 ≥0 次 值类型:Float 防护域名 5分钟 EdgeSec_http_2xx EdgeSec返回码(2XX) 该指标用于统计测量对象近5分钟内EdgeSec返回的2XX状态码的数量。 单位:次 采集方式:统计EdgeSec引擎返回的2XX系列状态响应码的数量 ≥0 次 值类型:Float 防护域名 5分钟 EdgeSec_http_3xx EdgeSec返回码(3XX) 该指标用于统计测量对象近5分钟内EdgeSec返回的3XX状态码的数量。 单位:次 采集方式:统计EdgeSec引擎返回的3XX系列状态响应码的数量 ≥0 次 值类型:Float 防护域名 5分钟 EdgeSec_http_4xx EdgeSec返回码(4XX) 该指标用于统计测量对象近5分钟内EdgeSec返回的4XX状态码的数量。 单位:次 采集方式:统计EdgeSec引擎返回的4XX系列状态响应码的数量 ≥0 次 值类型:Float 防护域名 5分钟 EdgeSec_http_5xx EdgeSec返回码(5XX) 该指标用于统计测量对象近5分钟内EdgeSec返回的5XX状态码的数量。 单位:次 采集方式:统计EdgeSec引擎返回的5XX系列状态响应码的数量 ≥0 次 值类型:Float 防护域名 5分钟 EdgeSec_fused_counts EdgeSec熔断量 该指标用于统计测量对象近5分钟内被EdgeSec熔断保护的请求数量。 单位:次 采集方式:统计防护域名被熔断保护的请求数量 ≥0 次 值类型:Float 防护域名 5分钟 inbound_traffic 入网总流量 该指标用于统计测量对象近5分钟内总入带宽的大小。 单位:Mbit 采集方式:统计近5分钟内总入带宽的大小 ≥0 Mbit 值类型:Float 防护域名 5分钟 outbound_traffic 出网总流量 该指标用于统计测量对象近5分钟内总出带宽的大小。 单位:Mbit 采集方式:统计近5分钟内总出带宽的大小 ≥0 Mbit 值类型:Float 防护域名 5分钟 EdgeSec_process_time_0 EdgeSec处理时延-区间[0-10ms) 该指标用于统计测量对象近5分钟内EdgeSec处理时延在区间[0-10ms)内的总数量 单位:次 采集方式:统计近5分钟内EdgeSec处理时延在区间[0-10ms)内的总数量 ≥0 次 值类型:Float 防护域名 5分钟 EdgeSec_process_time_10 EdgeSec处理时延-区间[10-20ms) 该指标用于统计测量对象近5分钟内EdgeSec处理时延在区间[10-20ms)内的总数量 单位:次 采集方式:统计近5分钟内EdgeSec处理时延在区间[10-20ms)内的总数量 ≥0 次 值类型:Float 防护域名 5分钟 EdgeSec_process_time_20 EdgeSec处理时延-区间[20-50ms) 该指标用于统计测量对象近5分钟内EdgeSec处理时延在区间[20-50ms)内的总数量 单位:次 采集方式:统计近5分钟内EdgeSec处理时延在区间[20-50ms)内的总数量 ≥0 次 值类型:Float 防护域名 5分钟 EdgeSec_process_time_50 EdgeSec处理时延-区间[50-100ms) 该指标用于统计测量对象近5分钟内EdgeSec处理时延在区间[50-100ms)内的总数量 单位:次 采集方式:统计近5分钟内EdgeSec处理时延在区间[50-100ms)内的总数量 ≥0 次 值类型:Float 防护域名 5分钟 EdgeSec_process_time_100 EdgeSec处理时延-区间[100-1000ms) 该指标用于统计测量对象近5分钟内EdgeSec处理时延在区间[100-1000ms)内的总数量 单位:次 采集方式:统计近5分钟内EdgeSec处理时延在区间[100-1000ms)内的总数量 ≥0 次 值类型:Float 防护域名 5分钟 EdgeSec_process_time_1000 EdgeSec处理时延-区间[1000+ms) 该指标用于统计测量对象近5分钟内EdgeSec处理时延在区间[1000+ms)内的总数量 单位:次 采集方式:统计近5分钟内EdgeSec处理时延在区间[1000+ms)内的总数量 ≥0 次 值类型:Float 防护域名 5分钟 qps_peak QPS峰值 该指标用于统计近5分钟内防护域名的QPS峰值 单位:次 采集方式:统计近5分钟内防护域名的QPS峰值 ≥0 次 值类型:Float 防护域名 5分钟 qps_mean QPS均值 该指标用于统计近5分钟内防护域名的QPS均值 单位:次 采集方式:统计近5分钟内防护域名的QPS均值 ≥0 次 值类型:Float 防护域名 5分钟 EdgeSec_http_0 无返回的EdgeSec状态码 该指标用于统计测量对象近5分钟内EdgeSec无返回的状态响应码的数量 单位:次 采集方式:统计近5分钟内EdgeSec无返回的状态响应码的数量 ≥0 次 值类型:Float 防护域名 5分钟 upstream_code_2xx 业务返回码 (2XX) 该指标用于统计测量对象近5分钟内业务返回的2XX系列状态响应码的数量 单位:次 采集方式:统计近5分钟内业务返回的2XX系列状态响应码的数量 ≥0 次 值类型:Float 防护域名 5分钟 upstream_code_3xx 业务返回码 (3XX) 该指标用于统计测量对象近5分钟内业务返回的3XX系列状态响应码的数量 单位:次 采集方式:统计近5分钟内业务返回的3XX系列状态响应码的数量 ≥0 次 值类型:Float 防护域名 5分钟 upstream_code_4xx 业务返回码 (4XX) 该指标用于统计测量对象近5分钟内业务返回的4XX系列状态响应码的数量 单位:次 采集方式:统计近5分钟内业务返回的4XX系列状态响应码的数量 ≥0 次 值类型:Float 防护域名 5分钟 upstream_code_5xx 业务返回码 (5XX) 该指标用于统计近5分钟内业务返回的5XX系列状态响应码的数量 单位:次 采集方式:统计近5分钟内业务返回的5XX系列状态响应码的数量 ≥0 次 值类型:Float 防护域名 5分钟 upstream_code_0 无返回的业务状态码 该指标用于统计测量对象近5分钟内业务无返回的状态响应码的数量 单位:次 采集方式:统计近5分钟内业务无返回的状态响应码的数量 ≥0 次 值类型:Float 防护域名 5分钟 inbound_traffic_peak 入网流量的峰值 该指标用于统计近5分钟内防护域名入网流量的峰值 单位:Mbit/s 采集方式:统计近5分钟内防护域名入网流量的峰值 ≥0 Mbit/s 值类型:Float 防护域名 5分钟 inbound_traffic_mean 入网流量的均值 该指标用于统计近5分钟内防护域名入网流量的均值 单位:Mbit/s 采集方式:统计近5分钟内防护域名入网流量的均值 ≥0 Mbit/s 值类型:Float 防护域名 5分钟 outbound_traffic_peak 出网流量的峰值 该指标用于统计近5分钟内防护域名出网流量的峰值 单位:Mbit/s 采集方式:统计近5分钟内防护域名出网流量的峰值 ≥0 Mbit/s 值类型:Float 防护域名 5分钟 outbound_traffic_mean 出网流量的均值 该指标用于统计近5分钟内防护域名出网流量的均值 单位:Mbit/s 采集方式:统计近5分钟内防护域名出网流量的均值 ≥0 Mbit/s 值类型:Float 防护域名 5分钟 attacks 攻击总次数 该指标用于统计近5分钟内防护域名攻击请求量的总数 单位:次 采集方式:统计近5分钟内防护域名攻击请求量的总数 ≥0 次 值类型:Float 防护域名 5分钟 crawlers 爬虫攻击次数 该指标用于统计近5分钟内防护域名爬虫攻击请求量的总数 单位:次 采集方式:统计近5分钟内防护域名爬虫攻击请求量的总数 ≥0 次 值类型:Float 防护域名 5分钟 base_protection_counts web基础防护次数 该指标用于统计近5分钟内由Web基础防护规则防护的攻击数量 单位:次 采集方式:统计近5分钟内由Web基础防护规则防护的攻击数量 ≥0 次 值类型:Float 防护域名 5分钟 precise_protection_counts 精准防护次数 该指标用于统计近5分钟内由精准防护规则防护的攻击数量 单位:次 采集方式:统计近5分钟内由精准防护规则防护的攻击数量 ≥0 次 值类型:Float 防护域名 5分钟 cc_protection_counts cc防护次数 该指标用于统计近5分钟内由CC防护规则防护的攻击数量。 单位:次 采集方式:统计近5分钟内由CC防护规则防护的攻击数量。 ≥0 次 值类型:Float 防护域名 5分钟
  • 防护规则配置方式 为了简化您的配置过程,边缘安全提供了自定义防护规则的配置方式。 此种方式适合域名业务较少或者域名业务适用的配置规则不相同的用户。 域名添加后,边缘安全会自动为该域名绑定一个防护策略,为域名配置的防护规则默认也添加到绑定该域名的防护策略。如果以后有适用于该防护策略的域名,可直接通过该策略添加防护域名,具体的操作请参见添加策略适用的防护域名。 入口 在左侧导航栏选择“网站设置”,进入“网站设置”页面。 在目标域名所在行的“防护策略”栏中,单击“已开启N项防护”,进入“防护策略”页面。 图3 网站列表 进入规则配置页面可配置的防护规则 表1 可配置的防护规则 防护规则 说明 参考文档 Web基础防护规则 覆盖OWASP(Open Web Application Security Project,简称OWASP)TOP 10中常见安全威胁,通过预置丰富的信誉库,对恶意扫描器、IP、网马等威胁进行检测和拦截。 配置Web基础防护规则防御常见Web攻击 CC攻击防护规则 可以自定义CC防护规则,限制访问者对您的网站上特定路径(URL)的访问频率,EdgeSec会根据您配置的规则,精准识别CC攻击以及有效缓解CC攻击。 配置CC攻击防护规则防御CC攻击 精准访问防护规则 精准访问防护策略可对HTTP首部、Cookie、访问URL、请求参数或者客户端IP进行条件组合,定制化防护策略,为您的网站带来更精准的防护。 配置精准访问防护规则 黑白名单规则 配置黑白名单规则,阻断、仅记录或放行指定IP的访问请求,即设置IP黑/白名单。 配置IP黑白名单规则规则拦截指定IP 攻击惩罚规则 当访问者的IP、Cookie或Params恶意请求被拦截时,您可以通过配置攻击惩罚,使边缘安全按配置的攻击惩罚时长来自动封禁访问者。 配置攻击惩罚标准 地理位置访问控制规则 针对指定国家、地区的来源IP自定义访问控制。 配置地理位置访问控制规则拦截特定区域请求 网站反爬虫规则 动态分析网站业务模型,结合人机识别技术和数据风控手段,精准识别爬虫行为。 配置网站反爬虫防护规则防御爬虫攻击 全局白名单规则 针对特定请求忽略某些攻击检测规则,用于处理误报事件。 配置全局白名单规则忽略误报 隐私屏蔽规则 隐私信息屏蔽,避免用户的密码等信息出现在事件日志中。 配置隐私屏蔽规则
  • 引擎检测机制 边缘安全服务内置的防护规则,可帮助您防范常见的Web应用攻击,包括XSS攻击、SQL注入、爬虫检测、Webshell检测等。同时,您也可以根据自己网站防护的需要,灵活配置防护规则,边缘安全根据您配置的防护规则更好的防护您的网站业务。边缘安全引擎内置防护规则的检测流程如图 引擎检测图所示,自定义规则的检测顺序如图2所示。 图1 引擎检测图 图2 自定义防护规则的检测顺序 响应动作: pass:命中规则后无条件放行当前请求。 block:命中规则后拦截当前请求。 captcha:命中规则后执行人机验证动作。 redirect:命中规则后通知客户端执行重定向动作。 log:命中规则后仅记录攻击信息。 mask:命中规则后对相关敏感信息进行脱敏处理。
  • 防护效果 假如已添加域名“www.example.com”,且配置了如图4所示的精准访问防护规则。可参照以下步骤验证防护效果: 清理浏览器缓存,在浏览器中输入防护域名,测试网站域名是否能正常访问。 不能正常访问,参照章节添加防护网站重新完成域名接入。 能正常访问,执行2。 清理浏览器缓存,在浏览器中访问“http://www.example.com/admin”页面或者包含/admin的任意页面,正常情况下,边缘安全会阻断满足条件的访问请求,返回拦截页面。
  • 配置示例-不允许某一地区来源IP访问请求 假如防护域名“www.example.com”已接入边缘安全,当您不允许某一地区的IP可以访问防护域名,例如,不允许来源“北京”“新加坡”地区的IP可以访问防护域名,请参照以下步骤处理。 添加一条精准访问防护规则,字段为“地理位置”,设置“北京”“新加坡”地区“拦截”的防护动作。 开启精准访问防护规则。 图5 精准访问防护配置框 清理浏览器缓存,在浏览器中访问“http://www.example.com”页面。 当“北京”“新加坡”地区的源IP访问页面时,边缘安全将拦截该访问请求,拦截页面示例如图 拦截攻击请求所示。 图6 拦截攻击请求 返回边缘安全管理控制台,在左侧导航树中,单击“防护事件”,进入“防护事件”页面,您可以查看到“北京”“新加坡”地区的源IP都被拦截。
  • 云审计 服务支持的EdgeSec操作列表 云审计服务(Cloud Trace Service, CTS )记录了边缘安全相关的操作事件,方便用户日后的查询、审计和回溯,具体请参见《云审计服务用户指南》。 云审计服务支持的EdgeSec操作列表如表 云审计服务支持的EdgeSec操作列表所示。 表1 云审计服务支持的EdgeSec操作列表 操作名称 资源类型 事件名称 添加cdn域名调度任务 cdnDomainScheduleTask addCdnDomainScheduleTask 用户添加防护的域名 bsgDomainName addBsgDomainName 用户删除防护的域名信息 bsgDomainName deleteBsgDomainName 用户修改防护的域名信息 bsgDomainName updateBsgDomainName 用户开通服务 serviceInfo addServiceInfo 用户退订服务 serviceInfo deleteServiceInfo 添加ddos防护域名 ddosDomainNames addEdgeDDosDomainNames 删除ddos防护域名 ddosDomainNames deleteEdgeDDosDomainNames 更新ddos防护域名 ddosDomainNames updateEdgeDDosDomainNames 创建脚本反爬虫规则 EdgeSecAntiCrawlerRule createEdgeSecAntiCrawlerRule 删除脚本反爬虫规则 EdgeSecAntiCrawlerRule deleteEdgeSecAntiCrawlerRule 修改脚本反爬虫防护模式 EdgeSecAntiCrawlerRule switchEdgeSecAntiCrawlerRule 更新脚本反爬虫规则 EdgeSecAntiCrawlerRule updateEdgeSecAntiCrawlerRule 创建cc规则 EdgeSecCcRule createEdgeSecCcRule 删除cc规则 EdgeSecCcRule deleteEdgeSecCcRule 更新cc规则 EdgeSecCcRule updateEdgeSecCcRule 创建证书 EdgeSecCertificate createEdgeSecCertificate 删除证书 EdgeSecCertificate deleteEdgeSecCertificate 更新证书 EdgeSecCertificate updateEdgeSecCertificate 创建精准防护规则 EdgeSecCustomRule createEdgeSecCustomRule 删除精准防护规则 EdgeSecCustomRule deleteEdgeSecCustomRule 更新精准防护规则 EdgeSecCustomRule updateEdgeSecCustomRule 创建防护域名 EdgeSecDomain createEdgeSecDomain 删除防护域名 EdgeSecDomain deleteEdgeSecDomain 更新防护域名 EdgeSecDomain updateEdgeSecDomain 创建地理位置规则 EdgeSecGeoIpRule createEdgeSecGeoIpRule 删除地理位置规则 EdgeSecGeoIpRule deleteEdgeSecGeoIpRule 更新地理位置规则 EdgeSecGeoIpRule updateEdgeSecGeoIpRule 创建误报屏蔽规则 EdgeSecIgnoreRule createEdgeSecIgnoreRule 删除误报屏蔽规则 EdgeSecIgnoreRule deleteEdgeSecIgnoreRule 重置误报屏蔽规则 EdgeSecIgnoreRule recountEdgeSecIgnoreRule 更新误报屏蔽规则 EdgeSecIgnoreRule updateEdgeSecIgnoreRule 创建IP地址组 EdgeSecIpGroup CreateEdgeSecIpGroup 删除IP地址组 EdgeSecIpGroup DeleteEdgeSecIpGroup 更新IP地址组 EdgeSecIpGroup UpdateEdgeSecIpGroup 更新防护策略的域名 EdgeSecPolicy applyEdgeSecPolicy 创建防护策略 EdgeSecPolicy createEdgeSecPolicy 删除防护策略 EdgeSecPolicy deleteEdgeSecPolicy 更新防护策略 EdgeSecPolicy updateEdgeSecPolicy 创建隐私屏蔽规则 EdgeSecPrivacyMaskRule createEdgeSecPrivacyMaskRule 删除隐私屏蔽规则 EdgeSecPrivacyMaskRule deleteEdgeSecPrivacyMaskRule 更新隐私屏蔽规则 EdgeSecPrivacyMaskRule updateEdgeSecPrivacyMaskRule 创建攻击惩罚规则 EdgeSecPunishmentRule createEdgeSecPunishmentRule 删除攻击惩罚规则 EdgeSecPunishmentRule deleteEdgeSecPunishmentRule 更新攻击惩罚规则 EdgeSecPunishmentRule updateEdgeSecPunishmentRule 创建引用表 EdgeSecValueList createEdgeSecValueList 删除引用表 EdgeSecValueList deleteEdgeSecValueList 更新引用表 EdgeSecValueList updateEdgeSecValueList 创建IP黑白名单规则 EdgeSecWhiteBlackIpRule createEdgeSecWhiteBlackIpRule 删除IP黑白名单规则 EdgeSecWhiteBlackIpRule deleteEdgeSecWhiteBlackIpRule 更新IP黑白名单规则 EdgeSecWhiteBlackIpRule updateEdgeSecWhiteBlackIpRule 父主题: 云审计服务支持的关键操作
  • 配置示例-拦截SQL注入攻击 假如防护域名“www.example.com”已接入边缘安全,您可以参照以下操作步骤验证是否拦截SQL注入攻击。 开启Web基础防护的“常规检测”,并将防护模式设置为“拦截”。 图4 开启“常规检测” 开启Web基础防护。 图5 开启Web基础防护 清理浏览器缓存,在浏览器中输入模拟SQL注入攻击(例如,http://www.example.com?id=' or 1=1)。 此时访问请求被拦截,拦截页面示例如图6 拦截攻击请求所示。 图6 拦截攻击请求 返回边缘安全管理控制台,在左侧导航树中,单击“防护事件”,进入“防护事件”页面,您可以查看该防护事件。
共100000条