1、1 Fortinet Confidential目录 HTTP协议结构 WAF HTTP处理原理 FortiWeb HTTP处理流程 FortiWeb 部署模式 FortiWeb 配置步骤(透明代理、透明检测模式、在线模式、旁路监听模式)FortiWeb常见问题解答2 Fortinet ConfidentialHTTP协议结构3 Fortinet ConfidentialHTTP协议结构协议结构4 Fortinet ConfidentialHTTP协议特点协议特点HTTP协议的主要特点可概括如下:支持客户/服务器模式。简单快速:客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有GE
2、T、HEAD、POST。每种方法规定了客户与服务器联系的类型不同。由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通信速度很快。灵活:HTTP允许传输任意类型的数据对象。正在传输的类型由Content-Type加以标记。无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。无状态:HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快。5 Fortin
3、et ConfidentialHTTP方法方法请求方法(所有方法全为大写)有多种,各个方法的解释如下:GET请求获取Request-URI所标识的资源POST在Request-URI所标识的资源后附加新的数据HEAD请求获取由Request-URI所标识的资源的响应消息报头PUT请求服务器存储一个资源,并用Request-URI作为其标识DELETE请求服务器删除Request-URI所标识的资源TRACE请求服务器回送收到的请求信息,主要用于测试或诊断CONNECT 保留将来使用OPTIONS 请求查询服务器的性能,或者查询与资源相关的选项和需求6 Fortinet Confidential
4、HTTP GET7 Fortinet Confidential其他HTTP方法的语法类似,只不过不同的方法使用目的不同,通常情况下所有服务器均支持GETPOSTHEAD其他方法不用于使用(由于存在安全隐患)GET请求获取Request-URI所标识的资源POST在Request-URI所标识的资源后附加新的数据HEAD请求获取由Request-URI所标识的资源的响应消息报头PUT请求服务器存储一个资源,并用Request-URI作为其标识DELETE请求服务器删除Request-URI所标识的资源TRACE请求服务器回送收到的请求信息,主要用于测试或诊断CONNECT保留将来使用OPTION
5、S请求查询服务器的性能,或者查询与资源相关的选项和需求CONNECT是标准技术,不是什么黑客行为。SSL就可以利用CONNECT连接,CONNECT与GET等的不同之处就在于代理服务器对CONNECT连接处理为建立一个到目标服务器的连接而不把CONNECT请求发送出去,建立连接以后代理服务器不会对连接数据作任何修改,只是转发。HTTP 方法简介方法简介8 Fortinet ConfidentialWAF HTTP处理原理9 Fortinet ConfidentialWAF原理原理 真正的WAF核心的技术原理就是HTTP 反向代理代理作为客户端与服务端通信的中间人,代替客户端与服务端交流。对于客
6、户端,代理的角色是服务端用来发送响应;对于服务端,代理的角色是客户端用来发送请求。代理起的作用是网络访问控制。代理分为正向代理和反向代理 正向代理:由客户端主动配置代理服务器,借此通过代理服务器来访问其他服务端 反向代理:是指在服务端搭建代理,接收客户端的请求,并将请求转给其他服务器,用来实现与其他服务器之间的通信,以便按需求定位所请求的内容。适合做两件事:负载均衡(LVS是否属于反向代理的一种?)、提升性能与用户感受(利用服务器端资源在电信搭建代理通过内部光纤,为电信用户访问网通资源更快捷)10 Fortinet Confidential正向代理 举例:基于伟大的防火长城,类似TWITTER
7、、FACEBOOK、YOUTUBE等网站是基本无法访问的,通知我们需要拨通VPN或使用在线代理来翻跃那座可恶的墙。这里VPN及在线代理的作用就是一个正向代理:由客户端主动设置,通过代理连接指定服务端!个人理解,防火长城其实也是属于代理的一种,它在监控着国人对互联网另一端的请求。当发现你请求的网站涉及危害幼小心灵,容易引你走向歧途时,会将服务器另一端的返回(或者是你的请求直接给断掉)给拦截住,而返回给你一个无法打开页面的错误提示。这时代理起的作用是过滤内容,净化网络环境!WAF原理原理11 Fortinet ConfidentialWAF某种特殊模式处理并非HTTP代理如:(FortiWeb的透
8、明检测、旁路监听)1IPS处理 2IPS+镜像这些特殊的WAF部署局限性:不能对数据进行重写、修改、或者擦除只能阻断或者丢弃。WAF特殊处理特殊处理12 Fortinet ConfidentialFortiWeb 部署模式13 Fortinet ConfidentialFortiWeb部署模式部署模式 透明代理模式 透明检测模式 在线代理模式 离线检测模式14 Fortinet Confidential透明代理模式透明代理模式物理部署:透明串在服务器前端(类似交换机)优 点:无需改变客户现有网络结构注:需要单独连接管理线透明代理原理实现:通过进行隐含两次NAT来实现因此性能要比在线代理模式下略
9、低Web服务器FortiWebHACKER正常用户15 Fortinet Confidential透明检测模式透明检测模式物理部署:透明串在服务器前端(类似交换机)优 点:无需改变客户现有网络结构注:需要单独连接管理线透明检测原理实现:内部将业务接口的HTTP数据镜像给上层协议分析器,对攻击数据向客户端和服务器发送reset包来阻断。无法拦截单包攻击报文,阻断效果受影响Web服务器FortiWebHACKER正常用户16 Fortinet Confidential在线代理模式在线代理模式物理部署:只要路由可达即可(单臂或者双臂均支持)优 点:WAF功能最全(支持负载均衡等)缺 点:需要改变防火
10、墙映射,隐藏客户端ip和服务器ip思考:FortiWeb转发到Web服务器的源IP是谁?在线代理原理实现:简单理解为类似于防火墙或者路由器做映射,但处理上是使用代理实现Web服务器FortiWebHACKER正常用户17 Fortinet Confidential离线检测模式离线检测模式物理部署:单臂部署,在交换机上做端口镜像优 点:对现网无任何影响思考:FortiWeb转发到Web服务器的源IP是谁?离线检测原理实现:通过交换机上端口镜像将copy双向数据到FortiWeb进行安全检测,对攻击或者潜在威胁使用reset阻断,无法拦截单包攻击报文,阻断效果受影响Web服务器FortiWebHA
11、CKER正常用户18 Fortinet ConfidentialFortiWeb配置步骤19 Fortinet ConfidentialFortiWeb配置步骤修改设备配置模式添加虚拟服务器(只适用于在线代理模式)添加物理服务器添加物理服务器组添加虚拟Vzone(只适用于透明代理或者透明检测模式)建立已知保护策略建立在线保护规范(只适用于在线代理模式或者透明代理模式)建立离线保护规范(只适用于离线检测模式或者透明检测模式)建立策略将虚拟服务器(在线代理模式)、物理服务器组、vzone(透明代理模式、透明检测模式)、保护规范等关联20 Fortinet Confidential修改设备配置模式2
12、1 Fortinet Confidential添加虚拟服务器(只适用于在线代理模式)22 Fortinet Confidential添加物理服务器23 Fortinet Confidential添加物理服务器组24 Fortinet Confidential添加虚拟Vzone(只适用于透明代理或者透明检测模式)25 Fortinet Confidential建立已知攻击保护策略26 Fortinet Confidential建立在线保护规范(只适用于在线代理模式或者透明代理模式)27 Fortinet Confidential建立离线保护规范(只适用于离线检测模式或者透明检测模式)28 For
13、tinet Confidential建立策略将虚拟服务器建立策略将虚拟服务器 建立策略将虚拟服务器(在线代理模式)、物理服务器组、物理服务器(只适用于在线代理模式)、vzone(透明代理模式、透明检测模式)、保护规范等关联其他部署模式,建立策略的时候可以根据相应模式出现的配置进行选择即可如下面的截图29 Fortinet ConfidentialFortiWeb常见问题解答30 Fortinet ConfidentialWeb网站部分页面被误拦,如何处理网站部分页面被误拦,如何处理找出被误拦的页面或者图片等名称在FortiWeb攻击日志中搜索被拦截的日志,在日志中添加例外或者全局禁用特征31 Fortinet Confidential部署部署FortiWeb之后,负载均衡设备不工作了之后,负载均衡设备不工作了 现象描述:透明代理模式不属于负载均衡与web服务器之间出现负载停止转发HTTP数据,负载均衡上的检查服务器存活的状态异常,无法检测到服务器存活,导致负载均衡停止向服务器转发数据 原因分析:在FortiWeb抓包发现FortiWeb接收到负载均衡发过来的存活检查报文为GET报文,但是GET报文格式不规范,FortiWeb会将丢弃此报文,并断开连接。解决方法:在F5上输入正确的GET报文格式,工作正常。32 Fortinet Confidential演讲完毕,谢谢观看!