云安全最佳实践云防火墙和Web应用防火墙的区别腾讯云开发者社区

Web应用防火墙,属于硬件级别防火墙(WebApplicationFirewall,简称WAF)主要用于防御针对网络应用层的攻击,像SQL注入、跨站脚本攻击、参数篡改、应用平台漏洞攻击、拒绝服务攻击等

应用场景

防恶意攻击:防止竞争对手恶意攻击或黑客敲诈勒索,导致的请求超时,瞬断,不稳定等问题。

防数据泄露:防止黑客通过SQL注入、网页木马等攻击手段入侵网站数据库,获取核心业务数据。

防网页篡改:防止黑客通过扫描系统漏洞,植入木马后修改页面内容或发布不良信息,影响网站形象。

开放Web应用安全项目(OWASP)所例举的攻击类型,都在WAF实施时考虑的范围内,其中几种比较常见的攻击类型如下:

1.1跨站脚本漏洞(XSS)

攻击者通过往Web页面里插入恶意Script代码,当用户浏览该页面时,嵌入在Web页面里的Script代码会被执行,从而达到恶意攻击用户的目的。

XSS大概分为两类:

XSS攻击能够:

1.2SQL注入

SQL注入攻击是最古老,最流行,最危险的Web应用程序漏洞之一。比如查询id=1,如果不对输入的id值1做检查,可以被注入id=1or1=1从而得到所有数据。

SQL注入的产生原因通常表现在以下几方面:

1.3Cookie篡改

很多Web应用都会使用Cookie保存用户的Session信息,当用户使用Cookie访问该应用时,Web应用能够识别用户身份,监控用户行为并提供个性化的服务。而如果Cookie的使用缺乏安全机制的话,也很容易被人篡改和盗用,并被攻击者用来获取用户的隐私信息。

1.4未经验证的输入

Web应用往往会依据HTTP的输入来触发相应的执行逻辑。而攻击者则很容易对HTTP的任何部分做篡改,比如URL地址、URL请求参数、HTTP头、Cookies等,以达到攻破Web应用安全策略的目的。

1.5第七层Dos攻击

我们将在下文中详细介绍WAF针对第七层(应用层)的Dos攻击防护。

1.6网页信息检索(Webscraping)

通过一些工具来获取网页内容,并从中提炼出有用的网站数据信息。

WAF可以按照下面几种方式进行部署:

2.1透明代理模式

WAF代理了WEB客户端和服务器之间的会话,并对客户端和server端都透明。从WEB客户端的角度看,WEB客户端仍然是直接访问服务器,感知不到WAF的存在。

这种部署模式的优点是对网络的改动最小,通过WAF的硬件Bypass功能在设备出现故障或者掉电时可以不影响原有网络流量,只是WAF自身功能失效。

缺点是网络的所有流量都经过WAF,对WAF的处理性能要求高。采用该工作模式无法实现负载均衡功能。

2.2反向代理模式

反向代理模式是指将真实服务器的地址映射到反向代理服务器上,此时代理服务器对外就表现为一个真实服务器。当代理服务器收到HTTP的请求报文后,将该请求转发给其对应的真实服务器。后台服务器接收到请求后将响应先发送给WAF设备,由WAF设备再将应答发送给客户端。

这种部署模式需要对网络进行改动,配置相对复杂,除了要配置WAF设备自身的地址和路由外,还需要在WAF上配置后台真实WEB服务器的地址和虚地址的映射关系。

优点则是可以在WAF上实现负载均衡。

2.3路由代理模式

它与网桥透明代理的唯一区别就是该代理工作在路由转发模式而非网桥模式,其它工作原理都一样。由于工作在路由(网关)模式因此需要为WAF的转发接口配置IP地址以及路由。

这种部署模式需要对网络进行简单改动,要设置该设备内网口和外网口的IP地址以及对应的路由。工作在路由代理模式时,可以直接作为WEB服务器的网关,但是存在单点故障问题,同时也要负责转发所有的流量。该种工作模式也不支持服务器负载均衡功能。

WAF可以采用白名单和黑名单两种安全模式,也可以两者相结合。

在白名单安全模式下,所有不在名单中的请求类型都会被拒绝;而黑名单正好相反,只会拒绝在黑名单上的请求类型,其它通通放行。

对于新的、还不为开发人员所知晓的攻击类型,白名单可以很好地工作。

黑名单相对来说更容易实现,但问题是维护成本高,因为很多时候我们并不能够枚举所有的攻击类型。

OWASP是一个开源的、非盈利的全球性安全组织,致力于Web应用的安全研究。其使命是使Web应用更加安全,使企业和组织能够对安全风险作出更清晰的决策。

OWASP曾经例举了10大常见攻击手段:

1)注入

攻击者把包含一段指令的数据发给应用,应用会当做指令执行。比如上面提到的SQL注入。

2)失效的身份认证和会话管理

应用程序没有能够提供正确的身份认证和会话管理功能,导致攻击者可以冒充他人身份。

3)跨站XSS

攻击者通过往Web页面里插入恶意Script代码,当用户浏览该页之时,嵌入Web页面里的Script代码会被执行,从而达到恶意攻击用户的目的。

4)不安全的对象直接引用

5)伪造跨站请求(CSRF)

攻击者盗用了用户的身份,以合法用户的名义发送恶意请求。对服务器来说这个请求是完全合法的,但是却完成了攻击者所期望的一个操作,比如以用户的名义发送邮件、发消息。

假设站点A为存在CSRF漏洞的网站,站点B为攻击者构建的恶意网站,CSRF攻击示例如下:

检测CSRF漏洞是一项比较繁琐的工作,最简单的方法就是抓取一个正常请求的数据包,去掉Referer字段后再重新提交,如果该提交还有效,那么基本上可以确定存在CSRF漏洞。

6)安全配置问题

Web应用所在的服务器、平台、数据库、各种管理工具的配置或者账密泄露,导致相应设施暴露出安全风险。

比如:

7)限制URL访问失败

系统虽然明明对url的访问做了权限限制,但这种限制并没有生效。比如系统没有对用户的角色做检查,用户通过修改url能访问到其他用户或者管理员账户才能访问的url。

8)未验证的重定向和转发

先说下重定向和转发的区别。

对于重定向和转发来说,目的url请求中一般会带有参数,如果这些url参数未做验证,那么就很容易被攻击者利用。

9)使用已经被发现存在漏洞的组件

Web应用使用带有已知漏洞的组件,比如库文件、框架或者其它软件模块,可能会导致严重的安全问题。比如数据泄露、服务器被黑客接管等。

10)敏感信息暴露

用户敏感信息比如信用卡号、手机号、身份证号等数据,一旦被攻击者窃取或者篡改,会造成非常严重的后果。敏感数据需要特殊的保护,比如存储和传输过程中加密,以及在和浏览器进行交互时进行特殊的预防措施。

WAF以OWASP提出的各种安全隐患作为具体实施时需要考虑的准则。上面提到的这些安全问题,都在WAF的防范范围之内。

DDos的全称是DistributedDenialofservice。主要依靠一组计算机来发起对一个单一的目标系统的请求,从而造成目标系统资源耗尽而拒绝正常的请求。

根据OSI的7层网络模型,网络可以从上到下分为:

从上图可以发现,数据的发送是从第七层发起,逐层往下传输,并最终回到第七层的。

根据OSI网络模型,最常见的DDos有三类,第三层(网络层)DDos、第四层(传输层)DDos和第七层(应用层)DDos。

WAF主要处理第七层DDos攻击,它在处理第七层DDos攻击时会比其它防护手段更高效一些。WAF会对HTTP流量做详细的分析,这样WAF就能针对正常的访问请求进行建模,然后使用这些模型来区分正常的请求和攻击者使用机器人或者脚本触发的请求。

针对WAF实施的测试需要一个严格的流程。我们需要知道WAF能够有效防止哪些真实的攻击,漏掉了哪些真实的攻击。同时,我们还需要知道哪些有效的访问也被拦截了。

在针对部署了WAF的Web应用做测试时,最好使用WAF测试框架,并根据下面的步骤来测试:

WAF测试工具不但需要能够触发各种攻击,而且能够产生合法的请求,这样才能检测WAF在预防攻击的情况下能够让合法请求顺利通行。

传统防火墙主要用来保护服务器之间传输的信息,而WAF则主要针对Web应用程序。网络防火墙和WAF工作在OSI7层网络模型的不同层,相互之间互补,往往能搭配使用。

属于软件形式,通过软件算法,这就方便了很多站长和服务器运维人员。提供统一的互联网边界、内网VPC边界、主机边界流量管控与安全防护,包括结合情报的实时入侵防护、全流量可视化分析、智能化访问控制、日志溯源分析等能力,网络边界防护与等保合规利器。

精细化访问控制:流量监控、精准访问控制、实时入侵防御等功能,支持全网流量可视和业务间访问关系可视,全面保护您的网络安全。

资产暴露管理:资产包括:开放公网IP、开放端口、开放应用、云产品;详情包括:公网IP、资产实例、应用、端口、7日流量占比、风险评估、协议(云产品)、健康状态(云产品)、所属可用区(云产品)等。

安全正向代理:NAT网关访问互联网的流量会先经过云防火墙安全正向代理,实现对内网IP访问互联网的流量进行访问控制和防护。

入侵检测与防御IPS:支持安全组的统一管控,同时提供安全组配置检查功能

主动外连检测与封禁:支持云内资源的主动外联网络侧检测,协助客户判断恶意外连请求。

流量可视化:支持全网流量可视和业务间访问关系可

网络日志审计:通过云防火墙的所有流量会在日志审计页面记录下来,包括流量日志、事件日志和操作日志

WAF是Web应用不可缺少的基础安全组件之一,能帮助我们预防一些常见的攻击手段。

所有的云服务厂商都提供了基于云服务的WAF,在云服务商的管理后台点击几下就能完成WAF的接入和使用,极大地降低了WAF的使用门槛。

THE END
1.来自工业界的知识库RAG方案(一):多轮会话优化但是最基础的多轮会话引擎是 CondenseQuestionChatEngine,对应的实现在llama_index/core/chat_engine/condense_question.py中,其核心思想很简单:基于多轮的会话记录与当前问题,调用大模型生成一个新问题,基于新问题进行后续处理。对应的实现简化如下: fromllama_index.coreimportPromptTemplatefromllama_index.core.llmsimporhttps://blog.csdn.net/hustyichi/article/details/144378951
2.购物车系统设计:基于Redis的购物车数据存储在电子商务平台中,购物车是一个非常核心的功能。在用户浏览商品的过程中,他们可以将感兴趣的商品加入购物车,方便以后下单购买。购物车功能的设计对于用户体验和平台性能都有重要影响。本文将介绍基于Redis的购物车数据存储,探讨如何通过Redis实现购物车功能,并分析其优势和适用场景。 https://www.jianshu.com/p/e2682e552114
3.如何解决PHP开发中的会话管理和状态维护php教程对于PHP开发者来说,会话管理和状态维护是非常重要的一部分。通过会话管理,我们可以在多个页面间共享数据,保持用户登录状态,以及实现购物车、表单数据的持久化等功能。在本文中,我们将探讨如何解决PHP开发中的会话管理和状态维护问题,并提供一些具体的代码示例。 https://www.php.cn/faq/617695.html
4.会话管理session实现多页面传输数据蓬鹏//libs.baidu.com/jquery/2.0.0/jquery.min.js">78910服装11食品12电子13141516$("#view").click(function() {17$.get("getgoods",function(data) {18alert(data.goods);19});20});212223 后面是三个副页fuzhuang.html;shipin.html;dianzi.html fuzhuang.html 1<!DOCTYPE html>234https://www.cnblogs.com/feipengting/p/7647745.html
5.springboot如何存放sessionmob64ca12ef5efc的技术博客3. 示例:购物车会话管理 假设我们正在开发一个电子商务网站,需要实现一个购物车功能。用户可以将商品添加到购物车中,并在结算时查看购物车内容。 为了实现购物车功能,我们可以使用会话来存储购物车数据。用户添加商品时,我们将商品信息存储在会话数据中。用户查看购物车时,我们从会话中获取购物车数据并展示给用户。 https://blog.51cto.com/u_16213427/9596548
6.会话管理(1)会话管理是指在网络应用中维护用户会话状态的过程。由于 HTTP 协议是无状态的,为了保持用户登录状态、识别用户等功能,需要使用会话管理技术。在不同的编程语言和框架中,会话管理有不同的实现方式。 会话管理的实现方式 Cookie Cookie 是最常用的会话管理方式,通常用于存储用户登录状态、购物车等信息。服务器在响应中发送https://imangodoc.com/1H2CDtEn.html
7.集群(Cluster)术语"会话状态"通常用于描述这种以用例为中心的状态。此会话状态的一部分仅仅用于跟踪任务的进度,并在使用结束后丢弃该部分;如果用例成功结束,则将会话状态的其他部分保存在数据库中进行长期存储。例如,在使用联机购物车的用户选择结帐按钮(购物车中至少有一个项目时,才会启用该按钮)之前,很少要求该用户提供支付或运送http://www.360doc.com/content/17/0407/08/8362898_643525644.shtml
8.session详解:掌握客户端会话管理(2)购物车:在 session 中存储购物车数据,实现商品的添加、删除和数量修改。 (3)用户个性化设置:在 session 中存储用户偏好设置,如主题、语言等。 4. session 优缺点分析 (1)优点: 保持用户状态:Session可以记录用户在网站上的状态和行为,以便在用户请求之间进行数据交换。 https://developer.aliyun.com/article/1510529
9.woocommerceaftercalculatewoocommerce_after_calculate_totals是一个钩子(hook),用于在计算购物车总价之后执行自定义的操作。它是WooCommerce插件中的一个特定钩子,用于在购物车价格计算完成后触发。 该钩子的作用是允许开发人员在购物车价格计算完成后对购物车项目进行进一步的处理或修改。例如,可以使用该钩子来更新购物车项目的价格,https://cloud.tencent.com.cn/developer/information/woocommerce_after_calculate_totals%E6%97%A0%E6%B3%95%E6%9B%B4%E6%96%B0%E8%B4%AD%E7%89%A9%E8%BD%A6%E9%A1%B9%E7%9B%AE%E4%BB%B7%E6%A0%BC-article
10.海量数据企业管理系统数据库自动化运维监控最新版3.1会话管理 综合展示会话相关指标参数,如当前可用的最大连接数、已用连接数、阻塞会话数等,每个会话支持查看会话明细,包括当前连接的客户机、IP、正在执行的 SQL 等信息。 针对阻塞会话,系统自动分析阻塞形成原因,并自动分析根节点与阻塞树, 以树形结构展示阻塞的整体情况,用户可以快速定位需要终止的阻塞节点,解决因死https://marketplace.huaweicloud.com/contents/60a2c089-a1be-4dbb-8512-454b9fc4e225