华为云用户手册

  • 代码目录介绍 AscendCloud-3rdLLM代码包结构介绍如下: xxx-Ascend #xxx表示版本号 |──llm_evaluation #推理评测代码包 |──benchmark_eval #精度评测 |──benchmark_tools #性能评测 |──llm_train #模型训练代码包 |──AscendSpeed #基于AscendSpeed的训练代码 |──AscendSpeed #加速库 |──ModelLink #基于ModelLink的训练代码 |──scripts/ #训练需要的启动脚本 本教程需要使用到的训练相关代码存放在llm_train/AscendSpeed目录下,具体文件介绍如下: |──llm_train #模型训练代码包 |──AscendSpeed #基于AscendSpeed的训练代码 |──AscendSpeed #加速库 |──ModelLink #基于ModelLink的训练代码,数据预处理脚本 |──scripts/ #训练需要的启动脚本,调用ModelLink |──llama2 #llama2的训练代码 |──llama2.sh #llama2训练脚本
  • 权重和词表文件介绍 下载完毕后的HuggingFace原始权重文件包含以下内容,此处以Llama2-70B为例,仅供参考,以实际下载的最新文件为准。 llama2-70B ├── config.json |── generation_config.json |── gitattributes.txt |── LICENSE.txt |── Notice.txt |── pytorch_model-00001-of-00015.bin |── pytorch_model-00002-of-00015.bin |── pytorch_model-00003-of-00015.bin |── ... |── pytorch_model-00015-of-000015.bin |── pytorch_model.bin.index.json |── README.md |── special_tokens_map.json |── tokenizer_config.json |── tokenizer.json |── tokenizer.model └── USE_POLICY.md
  • 工作目录介绍 工作目录结构如下,以下样例以Llama2-70B为例,请根据实际模型命名,Llama2-7B、Llama2-13B或Llama2-70B。 ${workdir} #工作目录,例如/home/ma-user/ws |──llm_train |── AscendSpeed #代码目录 |── AscendSpeed #训练依赖的三方模型库 |── ModelLink #AscendSpeed代码目录 |── scripts/ #训练启动脚本 # 数据目录结构 |── processed_for_ma_input |── Llama2-70B |── data #预处理后数据 |── pretrain #预训练加载的数据 |── finetune #微调加载的数据 |──converted_weights #HuggingFace格式转换magatron格式后权重文件 |── saved_dir_for_ma_output #训练输出保存权重,根据实际训练需求设置 |── Llama2-70B |── logs #训练过程中日志(loss、吞吐性能) |── lora #lora微调输出权重 |── sft #增量训练输出权重 |── pretrain #预训练输出权重 |── tokenizers #原始权重及tokenizer目录 |── Llama2-70B |── training_data #原始数据目录 |── train-00000-of-00001-a09b74b3ef9c3b56.parquet #原始数据文件
  • 上传代码到工作环境 使用root用户以SSH的方式登录DevServer。 将AscendSpeed代码包AscendCloud-3rdLLM-xxx.zip上传到${workdir}目录下并解压缩,如:/home/ma-user/ws目录下,以下都以/home/ma-user/ws为例。 unzip AscendCloud-3rdLLM-*.zip #解压缩 上传tokenizers文件到工作目录中的/home/ma-user/ws/tokenizers/Llama2-{MODEL_TYPE}目录,如Llama2-70B。 具体步骤如下: 进入到${workdir}目录下,如:/home/ma-user/ws,创建tokenizers文件目录将权重和词表文件放置此处,以Llama2-70B为例。 cd /home/ma-user/ws mkdir -p tokenizers/Llama2-70B
  • 获取数据及代码 表1 准备代码 代码包名称 代码说明 下载地址 AscendCloud-3rdLLM-6.3.904-xxx.zip 说明: 包名中的xxx表示具体的时间戳,以包名的实际时间为准。 包含了本教程中使用到的模型训练代码、推理部署代码和推理评测代码。代码包具体说明请参见代码目录介绍。 AscendSpeed是用于模型并行计算的框架,其中包含了许多模型的输入处理方法。 获取路径:Support-E网站。 说明: 如果没有下载权限,请联系您所在企业的华为方技术支持下载获取。 权重和词表文件 包含了本教程使用到的HuggingFace原始权重文件和Tokenizer。 标记器(Tokenizer)是NLP管道的核心组件之一。它们有一个目的:将文本转换为模型可以处理的数据。模型只能处理数字,因此标记器(Tokenizer)需要将文本输入转换为数字数据。 llama-2-7b-hf llama-2-13b-chat-hf llama-2-70b-chat-hf 这个路径下既有权重,也有Tokenizer,全部下载。具体内容参见权重和词表文件介绍。 本文档前向兼容AscendCloud-3rdLLM-6.3.T041版本,获取路径:Support网站。
  • 资源规格要求 计算规格:对于Llama2-7B和Llama2-13B单机训练需要使用单机8卡,多机训练需要使用2机16卡。对于Llama2-70B至少需要4机32卡才能训练,建议使用8机64卡执行训练相关任务。 硬盘空间:至少200GB。 Ascend资源规格: Ascend: 1*ascend-snt9b表示Ascend单卡。 Ascend: 8*ascend-snt9b表示Ascend 8卡。
  • 方案概览 本文档利用训练框架Pytorch_npu+华为自研Ascend Snt9b硬件,为用户提供了开箱即用的预训练和全量微调方案。 本文档以Llama2-70B为例,同时适用于Llama2-7B、Llama2-13B。模型运行环境是ModelArts Lite的DevServer。 本方案目前配套的是AscendCloud-3rdLLM系列版本,仅适用于部分企业客户,完成本方案的部署,需要先联系您所在企业的华为方技术支持。
  • 操作流程 图1 操作流程图 表1 操作任务流程说明 阶段 任务 说明 准备工作 准备环境 本教程案例是基于ModelArts Lite DevServer运行的,需要购买并开通DevServer资源。 准备代码 准备AscendSpeed训练代码、分词器Tokenizer和推理代码。 准备数据 准备训练数据,可以用Alpaca数据集,也可以使用自己准备的数据集。 准备镜像 准备训练模型适用的容器镜像。 预训练 预训练 介绍如何进行预训练,包括训练数据处理、超参配置、训练任务、断点续训及性能查看。 微调训练 SFT全参微调 介绍如何进行SFT全参微调。 LoRA微调训练 介绍如何进行LoRA微调训练。 推理前的权重转换 - 模型训练完成后,可以将训练产生的权重文件用于推理。推理前参考本章节,将训练后生成的多个权重文件合并,并转换成Huggingface格式的权重文件。 如果无推理任务或者使用开源Huggingface权重文件进行推理,可以忽略此章节。和本文档配套的推理文档请参考《开源大模型基于DevServer的推理通用指导》。
  • 购买弹性 云服务器ECS 如果您需要在服务器上部署相关业务,较之物理服务器,弹性云服务器的创建成本较低,并且可以在几分钟之内快速获得基于云服务平台的弹性云服务器设施,并且这些基础设施是弹性的,可以根据需求伸缩。下面介绍如何在管理控制台购买弹性云服务器。 购买流程: 步骤一:基础配置 步骤二:网络配置 步骤三:高级配置 步骤四:确认订单 购买时需注意,E CS 需要和SFS买到同一个VPC才能挂载SFS存储。
  • WAF可以防护使用HSTS策略/NTLM代理认证访问的网站吗? 可以。WAF支持防护HTTP/HTTPS协议业务。 网站选择使用HSTS(HTTP Strict Transport Security,HTTP严格传输安全协议)策略后,会强制要求客户端(如浏览器)使用HTTPS协议与网站进行通信,以减少会话劫持风险。配置HSTS策略的网站使用的是HTTPS协议,WAF可以防护。 NTLM(New Technology LAN Manager,Windows NT LAN管理器)代理是Windows平台下HTTP代理的一种认证方式,其认证方式与Windows远程登录的认证方式是一样的,客户端(如浏览器)和代理之前需要三次握手才开始传递信息。 对于客户端(如浏览器)和代理之前使用NTLM认证的业务,WAF可以防护。 WAF支持云模式-CNAME接入、云模式-ELB接入和独享模式三种部署模式,各部署模式支持防护的对象说明如下: 云模式-CNAME接入: 域名 ,华为云、非华为云或云下的Web业务 云模式-ELB接入:域名或IP,华为云的Web业务 独享模式:域名或IP,华为云的Web业务 有关云模式、独享模式的应用场景和差异的详细说明,请参见服务版本差异。 父主题: 产品咨询
  • HTTP 2.0业务接入WAF防护是否会对源站有影响? HTTP 2.0业务接入WAF防护对源站有影响。HTTP 2.0业务接入WAF防护表示WAF可以处理客户端的HTTP 2.0请求,而WAF目前仅支持以HTTP 1.0/1.1协议转发回源请求,即WAF与源站间暂不支持HTTP 2.0。因此,如果您将HTTP 2.0业务接入WAF防护,则源站的HTTP 2.0特性将会受到影响,例如,源站HTTP 2.0的多路复用特性可能失效,造成源站业务请求量上升。
  • 接入WAF对现有业务和服务器运行有影响吗? 接入WAF不需要中断现有业务,不会影响源站服务器的运行状态,即不需要对源站服务器进行任何操作(例如关机或重启)。 以云模式的CNAME接入方式接入WAF时,您需要修改DNS解析使流量经过WAF进行转发。修改DNS解析可能会影响网站访问业务,建议您在业务量少时进行修改。有关网站接入WAF的详细操作,请参见域名接入配置。 WAF支持云模式-CNAME接入、云模式-ELB接入和独享模式三种部署模式,各部署模式支持防护的对象说明如下: 云模式-CNAME接入:域名,华为云、非华为云或云下的Web业务 云模式-ELB接入:域名或IP,华为云的Web业务 独享模式:域名或IP,华为云的Web业务 有关三个部署模式应用场景和差异的详细说明,请参见服务版本差异。
  • WAF获取真实IP是从报文中哪个字段获取到的? WAF引擎会根据防护规则确定是否代理转发请求去后端,如果WAF配置了基于IP的规则(比如黑白名单、地理位置、基于IP的精准访问防护规则),那么WAF引擎就会获取真实IP后才能放行或者拦截代理请求。获取真实IP的方法基于以下原则: 在WAF中开启了代理,即添加域名时,“是否已使用代理”选择了“四层代理”或“七层代理”,按以下顺序获取源IP: 优先取“upstream”中配置的源IP头列表,即在域名的基本信息页面配置的“IP标记”,具体的操作请参见配置攻击惩罚的流量标识。如果未取到,执行2。 如果想以TCP连接IP作为客户端IP,“IP标记”应配置为“remote_addr”。 取config中配置的源IP头列表“cdn-src-ip”字段对应的值,未取到,执行3。 取“x-real-ip”字段的值,未取到,执行4。 取“x-forwarded-for”字段左边开始第一个公网IP,未取到,执行5。 取WAF看到的TCP连接IP,“remote_addr”字段对应的值。 在WAF中未开启代理,即添加域名时,“是否已使用代理”选择了“无代理”,直接取“remote_ip”字段的值为真实IP。 获取客户端的真实IP的具体方法,详见获取客户端真实IP。 父主题: 防护日志
  • Web应用防火墙 支持对哪些对象进行防护? WAF支持对域名或IP进行防护,相关说明如下: 云模式的CNAME接入只能基于域名进行防护 在WAF中配置的源站IP只支持公网IP。例如,源站服务器部署了华为云弹性负载均衡(Elastic Load Balance,简称ELB)时,只要ELB(经典型、共享型或独享型)有公网IP,云模式就可以对域名进行防护。 独享模式和云模式的ELB接入可以对域名或IP进行防护 父主题: 产品咨询
  • 如何获取拦截的数据? 通过Web应用防火墙服务可下载5天内的所有防护域名的仅记录和拦截的攻击事件数据,当天的防护事件数据,在次日凌晨生成防护事件数据的CSV文件。 在“安全总览”页面,您可以查看昨天、今天、3天、7天、30天或自定义30天任意时间段内所有防护网站或所有实例以及指定防护网站或实例的防护日志。包括请求与各攻击类型统计次数,QPS、带宽、响应码信息,以及事件分布、受攻击域名 Top5、攻击源IP Top5、受攻击URL Top5、攻击来源区域 Top5和业务异常监控 Top5等防护数据。 可参照下载防护事件数据章节获取拦截数据。 父主题: 防护日志
  • QPS超过当前WAF版本支持的峰值时有什么影响? 如果您选择的QPS规格不足以支撑网站/应用业务每天的流量峰值,对超出当前WAF版本支持峰值的QPS,WAF将不再防护网站,可能出现限流、随机丢包、自动Bypass等现象,导致您的正常业务在一定时间内不可用、卡顿、延迟等。 WAF各版本支持的QPS规格说明如表1所示。 表1 WAF支持的QPS规格说明 服务版本 正常业务请求峰值 CC攻击防护峰值 入门版 100QPS - 标准版 2,000QPS 100,000QPS 专业版 5,000QPS 200,000QPS 铂金版 10,000QPS 1,000,000QPS 独享版 以下数据为单实例规格: WAF实例规格选择WI-500,参考性能: HTTP业务:建议QPS 5,000;极限QPS 10,000 HTTPS业务:建议QPS 4,000;极限QPS 8,000 Websocket业务:支持最大并发连接5,000 最大回源长连接:60,000 WAF实例规格选择WI-100,参考性能: HTTP业务:建议QPS 1,000;极限QPS 2,000 HTTPS业务:建议QPS 800;极限QPS 1,600 Websocket业务:支持最大并发连接1,000 最大回源长连接:60,000 WAF实例规格选择WI-500,参考性能: 防护峰值:20,000QPS WAF实例规格选择WI-100,参考性能: 防护峰值:4,000QPS 有关WAF各版本规格的详细介绍,请参见服务版本差异。 父主题: 购买和变更规格
  • 云模式、独享模式可以互相切换吗? 不能直接切换。添加防护域名/IP时,您需要根据业务实际情况,选择部署模式:云模式-CNAME接入、云模式-ELB接入或独享模式。防护域名添加到WAF后,部署模式不能切换。 如果您需要更换防护域名/IP的部署模式,请确保业务已部署到对应模式。在WAF的网站配置列中删除添加的防护域名/IP后,再以对应的部署方式重新添加该防护域名/IP,完成部署模式切换。例如,“www.example.com”防护域名以云模式添加到WAF,如果您希望“www.example.com”切换到独享模式,请先确保当前业务支持独享模式部署方式,申请独享模式后,您需要先删除“www.example.com”防护域名,然后再重新以独享模式方式重新添加“www.example.com”防护域名。 WAF支持云模式-CNAME接入、云模式-ELB接入和独享模式三种部署模式,各部署模式支持防护的对象说明如下: 云模式-CNAME接入:域名,华为云、非华为云或云下的Web业务 云模式-ELB接入:域名或IP,华为云的Web业务 独享模式:域名或IP,华为云的Web业务 父主题: 产品咨询
  • Web应用防火墙的防护日志可以存储多久? 在WAF管理控制台,您可以免费查看最近30天的防护日志、下载5天内的所有防护域名的防护日志数据。 您可以将WAF的防护日志记录到单独收费的 云日志 服务(Log Tank Service,简称LTS),LTS默认存储日志的时间为7天,存储时间可以在1~30天之间进行设置,超出存储时间的日志数据将会被自动删除,对于需要长期存储的日志数据(日志持久化),LTS提供转储功能,可以将日志转储至 对象存储服务 (OBS)或者 数据接入服务 (DIS)中长期保存。 有关WAF日志配置到LTS的详细操作,请参见防护日志记录到LTS。 有关LTS日志转储至OBS的详细操作,请参见LTS日志转储至OBS。 父主题: 防护日志
  • CC攻击的防护峰值是多少? 各版本对应的CC攻击防护峰值如表1 CC攻击的防护峰值所示。 表1 CC攻击的防护峰值 服务版本 正常业务请求峰值 CC攻击防护峰值 入门版本 100 QPS业务请求 6,000 回源长连接(每域名) - 标准版 2,000 QPS 6,000回源长连接(每域名) 100,000QPS 专业版 5,000 QPS业务请求 6,000 回源长连接(每域名) 200,000QPS 铂金版 10,000 QPS业务请求 6,000 回源长连接(每域名) 1,000,000QPS 独享版 以下数据为单实例规格: WAF实例规格选择WI-500,参考性能: HTTP业务:建议QPS 5,000;极限QPS 10,000 HTTPS业务:建议QPS 4,000;极限QPS 8,000 Websocket业务:支持最大并发连接5,000 最大回源长连接:60,000 WAF实例规格选择WI-100,参考性能: HTTP业务:建议QPS 1,000;极限QPS 2,000 HTTPS业务:建议QPS 800;极限QPS 1,600 Websocket业务:支持最大并发连接1,000 最大回源长连接:60,000 须知: 极限值为实验室测试值,高敏感业务请以实际业务测试数据为准。实际QPS与业务请求数据大小、自定义防护规则种类及数量相关 WAF实例规格选择WI-500,参考性能: 防护峰值:20,000QPS WAF实例规格选择WI-100,参考性能: 防护峰值:4,000QPS 父主题: 防护规则
  • Web应用防火墙支持记录防护日志吗? 在WAF管理控制台,您可以免费查看最近30天的防护日志、下载5天内的所有防护域名的防护日志数据。 如果您需要长期保存防护日志,您可以将WAF的防护日志记录到单独收费的云日志服务(Log Tank Service,简称LTS)上。LTS默认存储日志的时间为7天,存储时间可以在1~30天之间进行设置,超出存储时间的日志数据将会被自动删除,对于需要长期存储的日志数据(日志持久化),LTS提供转储功能,可以将日志转储至对象存储服务(OBS)或者数据接入服务(DIS)中长期保存。 有关查看防护日志的详细操作,请参见查看防护日志。 有关下载防护日志的详细操作,请参见下载防护事件数据。 有关WAF日志配置到LTS的详细操作,请参见开启全量日志。 父主题: 防护日志
  • Web基础防护支持设置哪几种防护等级? Web基础防护设置了三种防护等级:“宽松”、“中等”、“严格”,默认为“中等”。防护等级相关说明如表1所示。 表1 防护等级说明 防护等级 说明 宽松 防护粒度较粗,只拦截攻击特征比较明显的请求。 当误报情况较多的场景下,建议选择“宽松”模式。 中等 默认为“中等”防护模式,满足大多数场景下的Web防护需求。 严格 防护粒度最精细,可以拦截具有复杂的绕过特征的攻击请求,例如jolokia网络攻击、探测CGI漏洞、探测 Druid SQL注入攻击。 建议您等待业务运行一段时间后,根据防护效果配置全局白名单规则,再开启“严格”模式,使WAF能有效防护更多攻击。 有关配置Web基础防护规则的详细操作,请参见配置Web基础防护规则。 父主题: 防护规则
  • 如果只允许指定地区的IP可以访问,如何设置防护策略? 如果您只允许某一地区的IP访问防护域名,例如,只允许来源“上海”地区的IP可以访问防护域名,请参照以下步骤处理。 由于地理位置访问控制的优先级高于内置规则的检测,配置了该地区IP放行后,WAF将不再检测其他的Web基础防护策略,直接放行。 添加一条地理位置访问控制规则,添加“上海”地区的“放行”防护动作,如图1所示。 图1 添加“放行”防护动作 有关配置地理位置访问控制规则的详细介绍,请参见配置地理位置访问控制规则。 配置一条精准访问防护规则,拦截所有的请求,如图2所示。 图2 拦截所有访问请求 有关配置精准访问防护规则的详细介绍,请参见配置精准访问防护规则。 父主题: 防护规则
  • WAF是如何计算域名个数的? WAF支持的防护域名个数计算方式说明如下: 域名个数为一级域名(例如,example.com)、单域名/二级域名等子域名(例如,www.example.com)和泛域名(例如,*.example.com)的总数。例如,标准版支持防护10个域名,可以添加1个一级域名和9个与其相关的子域名或泛域名。 同一个域名对应不同端口视为不同的域名,例如www.example.com:8080和www.example.com:8081视为两个不同的域名,将占用两个不同的域名防护额度。 WAF支持上传的证书套数和WAF支持防护的域名的个数相同。例如,购买了标准版WAF(支持防护10个域名)、1个独享版WAF(支持防护2,000个域名)和域名扩展包(20个域名),WAF可以防护2,030个域名,则WAF支持上传2,030套证书。 有关WAF各版本支持防护的域名个数的详细说明,请参见服务版本差异。 父主题: 购买和变更规格
  • 同一防护域名/IP可以添加到不同的账号进行防护吗? 当防护域名以云模式添加到WAF时,不能再重复添加该防护域名进行防护。因此,同一防护域名不能添加到不同的账号进行防护。 当防护域名/IP以独享模式或云模式的ELB接入添加到WAF时,可以添加到不同的账号进行防护。 WAF支持云模式-CNAME接入、云模式-ELB接入和独享模式三种部署模式,各部署模式支持防护的对象说明如下: 云模式-CNAME接入:域名,华为云、非华为云或云下的Web业务 云模式-ELB接入:域名或IP,华为云的Web业务 独享模式:域名或IP,华为云的Web业务 同一个域名/IP对应不同端口视为不同的防护对象,例如www.example.com:8080和www.example.com:8081为两个不同的防护对象,且占用两个防护配额。如果您需要防护同一域名/IP的多个端口,您需要将该域名/IP和端口逐一添加到WAF。 父主题: 产品咨询
  • 如何解决证书链不完整? 如果证书机构提供的证书在用户平台内置信任库中查询不到,且证书链中没有颁发机构,则证明该证书是不完整的证书。使用不完整的证书,当用户访问防护域名对应的浏览器时,因不受信任而不能正常访问防护域名对应的浏览器。 按以下两种方法可解决此问题: 手动构造完整证书链,并上传证书。 重新上传正确的证书。 Chrome最新版本一般是支持自动验证信任链,以华为的证书为例,手工构造完整的证书链步骤如下: 查看证书并导出证书。 单击浏览器前的锁,可查看证书状况。 图1 查看证书 在“连接是安全的”所在行,单击,并单击“证书有效”。 选择“详细信息”页签,在页面右下角单击“导出”,将证书导出到本地。 查看证书链。在本地打开导出的证书,并选中“证书路径”页签,可单击证书名称查看证书状态,如图2所示。 图2 查看证书链 逐一将证书另存到本地。 选中证书名称,单击“详细信息”页签,如图3所示。 图3 详细信息 单击“复制到文件”,按照界面提示,单击“下一步”。 选择“Base64编码”,单击“下一步”,如图4所示。 图4 证书导出向导 证书重构。证书全部导出到本地后,用记事本打开证书文件,按图5重组证书顺序,完成证书重构。 图5 证书重构 重新上传证书。 父主题: 证书/加密套件问题排查
  • 云模式-ELB接入排查思路和处理建议 防护网站的“部署模式”为“云模式-ELB接入”时,请参考图3和表3进行排查处理。 图3 ELB模式排查思路 表3 ELB模式接入WAF失败问题处理 可能原因 处理建议 原因一:域名/IP“接入状态”未刷新 在防护网站“接入状态”栏,单击刷新状态。 原因二:访问流量未达到WAF统计要求 须知: 防护网站接入WAF后,当WAF统计防护网站在5分钟内有20次请求时,将认定该防护网站已接入WAF。 在1分钟内多次访问防护网站。 在防护网站“接入状态”栏,单击刷新状态。 原因三:域名/IP参数配置错误 查看域名基本信息,检查域名/IP参数是否正确。 如果域名/IP配置错误,删除该域名/IP后重新添加防护网站。
  • 独享模式排查思路和处理建议 防护网站的“部署模式”为“独享模式”时,请参考图2和表2进行排查处理。 图2 独享模式排查思路 表2 独享模式接入WAF失败问题处理 可能原因 处理建议 原因一:域名/IP“接入状态”未刷新 在防护网站“接入状态”栏,单击刷新状态。 原因二:访问流量未达到WAF统计要求 须知: 防护网站接入WAF后,当WAF统计防护网站在5分钟内有20次请求时,将认定该防护网站已接入WAF。 在1分钟内多次访问防护网站。 在防护网站“接入状态”栏,单击刷新状态。 原因三:域名/IP参数配置错误 查看域名基本信息,检查域名/IP参数是否正确。 如果域名/IP配置错误,删除该域名/IP后重新添加防护网站。 原因四:没有为独享模式实例配置负载均衡,配置的负载均衡未绑定弹性公网IP 为独享引擎实例配置负载均衡。 为弹性负载均衡绑定弹性公网IP。 原因五:独享模式实例负载均衡配置错误或负载均衡绑定弹性公网IP错误 配置负载均衡后,当WAF独享引擎实例的“健康检查结果”为“正常”时,说明弹性负载均衡配置成功。健康检查异常的排查思路请参见健康检查异常。 为弹性负载均衡绑定弹性公网IP后,可以查看绑定的弹性公网IP,说明绑定成功。
  • 可能原因 防护网站开启了“JS脚本反爬虫”,由于用户的客户端浏览器没有JavaScript解析能力,客户端会缓存包含WAF返回JavaScript代码的页面,而用户每次访问防护网站时都会访问该缓存页面,WAF由此判定用户访问请求为非法的浏览器或爬虫工具,访问请求验证一直失败,造成无限循环,最终导致URI长度超出浏览器限制,访问网站失败。 开启JS脚本反爬虫后,当客户端发送请求时,WAF会返回一段JavaScript代码到客户端。如果客户端是正常浏览器访问,就可以触发这段JavaScript代码再发送一次请求到WAF,即WAF完成JS验证,并将该请求转发给源站,如图2所示。 图2 JS脚本反爬虫正常检测流程 如果客户端是爬虫访问,就无法触发这段JavaScript代码再发送一次请求到WAF,即WAF无法完成js验证。 如果客户端爬虫伪造了WAF的认证请求,发送到WAF时,WAF将拦截该请求,js验证失败。
  • 入门实践 当您将防护网站接入Web应用防火墙(WAF)后,可以根据自身业务场景使用WAF的一系列常用实践。 表1 常用最佳实践 实践 描述 域名接入 未使用代理的网站通过CNAME方式接入WAF 网站没有接入WAF前,DNS直接解析到源站的IP。网站接入WAF后,需要把DNS解析到WAF的CNAME,这样流量才会先经过WAF,WAF再将流量转到源站,实现网站流量检测和攻击拦截。 本文介绍通过DNS配置模式接入WAF时,如何在已添加网站配置后,配置域名解析,实现业务接入。 使用DDoS高防和WAF提升网站全面防护能力 “DDoS高防+WAF”组合可以对华为云、非华为云或云下的域名进行联动防护,同时防御DDoS攻击和Web应用攻击,确保业务持续可靠运行。 防御DDoS攻击:NTP Flood攻击、SYN Flood攻击、ACK Flood攻击、ICMP Flood攻击、HTTP Get Flood攻击等。 防御Web应用攻击:SQL注入、跨站脚本攻击、网页木马上传、命令/代码注入、文件包含、敏感文件访问、第三方应用漏洞攻击、CC攻击、恶意爬虫扫描、跨站请求伪造等。 使用CDN和WAF提升网站防护能力和访问速度 “CDN+WAF”组合可以对华为云、非华为云或云下的域名进行联动防护,同时提升网站的响应速度和网站防护能力。 使用独享WAF和7层ELB以防护任意非标端口 如果您需要防护WAF支持的端口以外的非标端口,可参考本章节配置WAF的独享模式和7层ELB联动,实现任意端口业务的防护。 CDN回源OBS桶场景下连接WAF提升OBS安全防护 当您的网站域名开启了华为云 CDN加速 ,且回源到华为云对象存储 OBS(Object Storage Service,OBS)时,如果该网站存在一定的Web攻击风险,我们推荐您组合使用CDN、OBS和Web 应用防火墙 WAF(Web Application Firewall),将开启CDN加速的域名接入WAF,实现OBS的安全防护。本文介绍如何为业务同时部署CDN、OBS、WAF。 使用WAF、ELB和NAT网关防护云下业务 WAF云模式-ELB接入默认只支持云上业务,当您的源站服务器在云下时,需要通过NAT网关进行流量转发,将您的流量由华为云内网回源到源站的公网IP,再通过云模式-ELB接入方式将网站接入WAF,实现流量检测。 策略配置 网站防护配置建议 从不同场景、角色的视角介绍Web应用防火墙(Web Application Firewall,简称WAF)的防护规则,帮助您从自己最关心的需求入手,了解WAF的防护逻辑。 使用WAF防护CC攻击 基于Web应用防火墙实践编写,指导您在遭遇CC(Challenge Collapsar)攻击时,完成基于IP限速和基于Cookie字段识别的防护规则配置。 使用WAF阻止爬虫攻击 Web应用防火墙可以通过Robot检测(识别User-Agent)、网站反爬虫(检查浏览器合法性)和CC攻击防护(限制访问频率)三种反爬虫策略,帮您解决业务网站遭受的爬虫问题。 使用Postman工具模拟业务验证全局白名单规则 当防护网站成功接入WAF后,您可以使用接口测试工具模拟用户发起各类HTTP(S)请求,验证配置的WAF防护规则是否生效,检验防护效果。 本实践以Postman工具为例,说明如何验证全局白名单(原误报屏蔽)规则。 通过WAF和HSS提升网页防篡改能力 主机安全HSS网页防篡改功能和Web应用防火墙“双剑合璧”,杜绝网页篡改事件发生。 LTS 日志分析 通过LTS查询并分析WAF访问日志 开启WAF全量日志功能后,您可以将攻击日志、访问日志记录到云日志服务(Log Tank Service,简称LTS)中。通过LTS记录的WAF日志数据,快速高效地进行实时决策分析、设备运维管理以及业务趋势分析。 通过LTS分析Spring core RCE漏洞的拦截情况 对WAF攻击日志开启LTS快速分析功能,通过Spring规则ID快速查询、分析被拦截的Spring core RCE漏洞日志。 通过LTS配置WAF规则的拦截告警 本实践对WAF攻击日志开启LTS快速分析功能,再配置告警规则,实现WAF规则拦截日志的分析及告警,实时洞察您的业务在WAF中的防护情况并作出决策分析。 TLS加密配置 通过配置TLS最低版本和加密套件提升客户端访问域名的通道安全 HTTPS协议是由“TLS(Transport Layer Security,传输层安全性协议)+HTTP协议”构建的可进行加密传输、身份认证的网络协议。 当域名接入WAF时,如果客户端采用HTTPS协议请求访问服务器(即防护域名的“对外协议”配置为“HTTPS”),您可以通过为域名配置最低TLS版本和加密套件来确保网站安全。 源站安全保护实践 通过WAF提升客户端访问域名的通道安全 HTTPS协议是由TLS(Transport Layer Security,传输层安全性协议)+HTTP协议构建的可进行加密传输、身份认证的网络协议。当域名接入WAF时,如果客户端采用HTTPS协议请求访问服务器,即防护域名的“对外协议”配置为“HTTPS”时,您可以通过为域名配置最低TLS版本和加密套件来确保网站安全。 通过ECS/ELB访问控制策略保护源站安全 介绍源站服务器部署在华为云弹性云服务器(以下简称ECS)、或华为云弹性负载均衡(以下简称ELB)时: 如何判断源站是否存在泄漏风险? 如何配置访问控制策略保护源站安全? 获取客户端真实IP 获取客户端真实IP 介绍通过WAF直接获取真实IP的方法,以及不同类型的Web应用服务器(包括Tomcat、Apache、Nginx、IIS 6和IIS 7)如何进行相关设置,以获取客户端的真实IP。 通过 CES 配置WAF指标异常告警 通过CES配置WAF指标异常告警 介绍如何在华为云 云监控服务 (CES)对WAF指标配置异常告警,当Web应用防火墙(WAF)的监控指标出现异常情况,及时了解WAF防护状况,从而起到预警作用。
  • 相关信息 关于黑白名单设置更多详细的操作,请参见配置IP黑白名单规则拦截/放行指定IP。 如果您的业务部署在华为云、非华为云上或云下,需要防护对象为域名,您可以需要采用“云模式-CNAME接入”的接入方式,具体操作可参考如下方法: 购买WAF云模式标准版。 将网站接入WAF防护(云模式-CNAME接入)。 步骤四:配置黑白名单设置规则拦截恶意IP。 如果您的业务部署在华为云上,规模为大型企业网站,且基于业务特性具有制定个性化防护规则的安全需求,需要防护对象为域名/IP,您可以采用“独享模式”的接入方式,具体操作可参考如下方法: 独享模式在部分区域已经停售,详见独享模式停售通知。如果您已购买独享模式的WAF,可跳过该步骤继续使用。 将网站接入WAF防护(独享模式)。 步骤四:配置黑白名单设置规则拦截恶意IP。
共100000条