目录
1.DOS攻击检测和防御技术
DOS——Denial of Service, 是一种拒绝服务攻击,常用来使服务器或网络瘫痪的网络攻击手段,最基本的DoS攻击就是利用合理的服务请求来占用过多的服务资源,从而使合法用户无法得到服务的响应。
DDoS——Distributed Denial of Service, 分布式拒绝服务攻击。一般攻击发起方式为利用网络上已被攻陷的电脑作为“僵尸”,向某一特定的目标设备发动密集式的“拒绝服务”要求,用以把目标设备的网络资源及系统资源耗尽,使之无法向真正正常请求的用户提供服务。
- 消耗带宽——带宽攻击,指以极大的通信量冲击网络,使得所有可用网络资源都被消耗殆尽,最后导致合法的用户请求无法通过。
- 消耗服务器性能——连通性攻击,指用大量的连接请求冲击计算机,使得所有可用的操作系统资源都被消耗殆尽,最终计算机无法再处理合法用户的请求。
- 服务器宕机——攻击者发送畸形的攻击数据引发系统错误的分配大量系统资源,使主机处于挂起状态甚至宕机,如PingofDeath、TearDrop
- Ping of Death俗称“死拼”,其攻击原理是攻击者A向受害者B发送一些尺寸超大的ICMP(Ping命令使用的是ICMP报文)报文对其进行攻击(对于有些路由器或系统,在接收到一个这样的报文后,由于处理不当,会造成系统崩溃、死机或重启)。IP报文的最大长度是216-1=65535个字节,那么去除IP首部的20个字节和ICMP首部的8个字节,实际数据部分长度最大为:65535-20-8=65507个字节。所谓的尺寸超大的ICMP报文就是指数据部分长度超过65507个字节的ICMP报文。针对Ping of Death攻击,网络安全设备仅仅通过超大包过滤方法不能达到很好的防御效果,因为在线网中传输的大部分报文都经过了分片,所以单片报文不会超过65507个字节,只是在接收端完成组合后才会超过65507个字节。所以针对Ping of Death攻击 ,最有效防御方式是禁止ICMP报文通过网络安全设备。
- Tear是“眼泪”的意思,drop是“掉落”的意思,顾名思义,Teardrop是一种令人落泪的攻击方法,可见其威力之强大。它的攻击原理是:攻击者A给受害者B发送一些分片IP报文,并且故意将“13位分片偏移”字段设置成错误的值(既可与上一分片数据重叠,也可错开),B在组合这种含有重叠偏移的伪造分片报文时,会导致系统崩溃。
一个典型的DOS攻击就是
SYN洪水攻击:攻击方大量发送针对服务端提供的TCP端口发起TCP syn请求,服务端根据TCP协议对请求方返回TCP syn+ ack,然后调用资源保存请求信息,等待远端返回ack确认,而攻击源不再回复ack确认包,以达到消耗服务器性能的目的。
通过SYN代理防御SYN洪水攻击:
1.1 配置思路
- 【系统】-【系统配置】-【通用配置】-【网络参数】开启【开启外网防Dos功能】
- 【策略】-【安全策略】-【DOS/DDOS防护】-新增【外网对内网攻击防护策略】。
- 【源区域】选择外网区域。
- 【扫描防护】勾选【IP地址扫描防护】、【端口扫描防护】。
- 【内网IP组】选择需要保护的服务器IP组。
- 【DoS/DDoS攻击类型】-勾选所有类型,一般按照默认即可,为体现测试效果可适当调低封锁阈值。
- 【高级防御选项】-可勾选除【IP数据块分片传输防护】之外的其他选项,一般不建议勾选【IP数据块分片传输防护】,勾选了分片数据包都将被丢弃。
【内置数据中心】-【日志查询】- 【Dos攻击】查看具体日志。
注:
1、每目的IP激活阈值,指当针对策略设置的目的IP组内某IP发起的syn请求速率数据包超过设定值,则触发AF的syn代理功能。
2、每目的IP丢包阈值,指当针对策略设置的目的IP组内某IP发起的syn请求速率数据包超过设定值,则AF不再启用syn代理,直接丢弃syn包。
2.漏洞攻击入侵和防御技术
不管是操作系统本身,还是运行之上的应用软件程序,都可能存在一些安全漏洞,攻击者可以利用这些漏洞发起带攻击性的数据包。
- IDS——Intrusion Detection Systems,即入侵检测系统,对网络、系统的运行状况进行监视,尽可能发现各种攻击企图、攻击行为或者攻击结果。
- IPS——Intrusion Prevention Systems,即入侵防御系统,漏洞攻击防护;可对网络、系统的运行状况进行监视,并可发现阻止各种攻击企图、攻击行为。
对比项 | IDS | IPS |
工作原理 | 特征识别,记录攻击行为,以备审计 | 特征识别,丢弃实时的攻击数据 |
部署方式 | 并联(旁路镜像) | 串联(路由、透明)+并联 |
安全属性 | 被动检测 | 主动检测 |
阻断攻击能力 | 弱 | 强 |
安全响应速度 | 滞后性 | 实时性 |
攻击数据能否到达目标 | 能 | 否 |
2.1 漏洞防护原理
漏洞攻击防护通过对数据包应用层里的数据内容进行威胁特征检查,并与漏洞攻击防护规则库进行比对,如果匹配则拒绝该数据包,从而实现应用层漏洞攻击防护的防护。对数据包完全解析进行每一字节的检查达到应用层防御效果,通过对各种攻击行为的分析(即特征)定义检测规则(即规则库),以正则表达式的方式进行流量匹配(即正则引擎或防御引擎)。而传统的AF只对网络层和传输层进行检查,不对应用层进行解析。注:程序类/代码类均可通过特征匹配发现
2.2 漏洞攻击防护方式
(1)漏洞攻击防护的保护对象
- 保护客户端:用于保护客户端机器及其应用软件系统不因本身的漏洞而受到攻击。
- 保护服务器:用于保护服务器及其应用软件系统不因服务器或者软件本身存在的漏洞而受到攻击;还用于阻止用户频繁登录指定协议服务器,防止暴力破解攻击。
(2)漏洞攻击防护的规则识别分类
保护服务器和客户端(一般是系统有漏洞会容易被攻击)
防止包括操作系统本身的漏洞,后门、木马、间谍、蠕虫软件以及恶意代码的攻击。
保护服务器软件(如应用服务器提供的应用)
防止针对Web、DNS、Ftp、tftp、telnet、邮件、数据库、媒体服务器应用本身的漏洞以及网络设备进行的攻击和暴力破解。
保护客户端软件(如OA、IE等)
防止针对web activex 控件漏洞、web浏览器、文件格式、应用软件进行的攻击。
2.3 配置思路
(1)保护客户端:
- 【对象】-【安全策略模板】-【漏洞攻击防护】-新增客户端防护的漏洞攻击防护模板,模板选择【保护客户端】及【恶意软件】
- 【策略】-【安全策略】-【安全防护策略】新增用户防护策略,引用客户端防护的模板
- 【源区域】选择内网客户端所在区域,源IP选择需要防护的客户端IP组
- 【目的区域】选择外网区域,目的IP组选择全部
- 选择允许或拒绝、是否联动封锁、是否日志记录,依具体情况而定(联动封锁功能在后面章节会单独介绍)
创建客户端漏洞攻击防护模板:
在【策略】-【安全策略】中创建安全防护策略,并引用对应的客户端防护的漏洞攻击防护模板
(2)保护服务器
- 【对象】-【安全策略模板】-【漏洞攻击防护】-新增客户端防护的漏洞攻击防护模板,模板选择【保护服务器】及【口令暴力破解】
- 【策略】-【安全策略】-【安全防护策略】新增业务防护策略,引用服务器防护的模板
- 【源区域】选择外网区域,源IP组选择全部
- 【目的区域】选择服务器所在区域,目的IP选择需要防护的服务器IP组
- 选择允许或拒绝、是否联动封锁、是否日志记录,依具体情况而定(联动封锁功能在后面章节会单独介绍)
效果展示:
可通过【内置数据中心】-【日志查询】- 【漏洞攻击防护】查看具体日志。
2.4 误判处理
漏洞攻击防护规则默认有致命、高、中、低、信息五个级别,可能存在外网与内网之间的正常通讯被当成一种入侵通讯被设备给拒绝了或者是外网对内网的入侵被当成一种正常通讯给放通了,造成一定的误判,此时就需要我们进行误判处理
- 配置漏洞攻击防护规则时,对于漏洞攻击防护日志勾选上“记录”
- 根据数据中心的日志,查询到误判规则的漏洞ID
- 【对象】-【安全防护规则库】-【安全规则库】-漏洞特征识别库中,修改相应漏洞ID的动作,如改成放行或禁用。
如果正常通讯被当成一种入侵通讯被设备给拒绝了,也可直接查询数据中心的拒绝日志,直接添加例外。
注意事项:
- 配置漏洞攻击防护保护客户端和服务器时,源区域为数据连接发起的区域。
- 漏洞攻击防护保护客户端与保护服务器中的客户端漏洞和服务器漏洞规则是不同的,因为攻击者针对服务器和客户端会使用不同的攻击手段。
3.Web攻击检测和防御技术
3.1 常见的Web攻击手段
- SQL注入攻击是由于web应用程序开发中,没有对用户输入数据的合法性进行判断,攻击者可以通过互联网的输入区域(如URL、表单等),利用某些特殊结构的SQL语句插入SQL的特殊字符和指令,提交一段数据库查询代码,操纵并获得本不为用户所知的数据。
- 跨站脚本攻击(XSS)是由于web开发者在编写应用程序时没有对用户提交的语句和变量中进行过滤或限制,攻击者通过web页面向数据库或HTML页面提交恶意的html代码,当用户打开有恶意代码的连接或页面时,恶意代码会自动执行,从而到达攻击的目的。
- 网页木马实际上是一个经过黑客精心设计的HTML网页。当用户访问该页面时,嵌入该网页中的脚本利用浏览器漏洞,让浏览器自动下载黑客放置在网络上的木马并运行这个1木马。
- 网站扫描是对web站点扫描,对web站点的结构、漏洞进行扫描。
- Webshell是web入侵的一种脚本工具,通常情况下,是一个ASP、PHP或者JSP程序页面,也叫做网站后门木马,在入侵一个网站后,常常将这些木马放置在服务器web目录中,与正常网页混在一起。通过webshell,长期操纵和控制受害者网站。
- 跨站请求伪造(CSRF)通过伪装来自受信任用户的请求来利用受信任的网站。
- 系统命令注入 操纵系统命令攻击是攻击者提交特殊字符或者操作系统命令,web程序程序没有检测或者绕过web应用程序过滤,把用户提交的请求作为指令进行解析,导致操作系统命令执行。
- 文件包含漏洞攻击是针对PHP站点特有的一种恶意攻击。当PHP中变量过滤不严,没有判断参数是本地的还是远程主机上的时,我们就可以指定远程主机上的文件作为参数来提交给变量执行,而如果提交的这个文件中存在恶意代码甚至干脆就是一个PHP木马的话,文件中心的代码或PHP木马就会以web权限被成功执行。
- 目录遍历漏洞就是通过浏览器向web服务器任意目录附加“../”,或者是在有特殊意义的目录附件“../”,或者是附加“../”的一些变形,编码,访问web服务器根目录之外的目录。
- 信息泄漏漏洞是由于web服务器配置或者本身存在安全漏洞,导致一些系统文件或者配置文件直接暴露在互联网中,泄漏web服务器的一些敏感信息,如用户名、密码、源代码、服务器信息、配置信息等。
3.2 配置思路
- 【对象】-【安全策略模板】-【web应用防护】新增Web应用防护策略模板
- 【端口】选择默认,如web服务器使用的是非标准端口80,则将对应端口填至HTTP选项
- 【防护类型】 选择全部,其他选项默认即可
- 【策略】-【安全策略】-【安全防护策略】新增业务防护策略,引用Web应用防护策略模板
- 【源区域】选择外网区域,源IP组选择全部
- 【目的区域】选择服务器所在区域,目的IP选择需要防护的服务器IP组
- 允许或拒绝、是否联动封锁、是否日志记录,依具体情况而定(联动封锁功能在后面章节会单独介绍)
可在【内置数据中心】-【日志查询】- 【web应用防护】中查看具体日志。
3.3 误判处理
方法一:在【策略】-【安全策略】-【安全防护策略】-【高级设置】中新增URL参数排除后,WEB应用防护的网站攻击检测将跳过这些参数的检查。主要用于正常业务下某些请求参数因携带特征串而被检测为攻击的情况,可以只针对这些参数排除。
方法二:在【内置数据中心】-【日志查询】-【WEB应用防护】中查询日志,找出误判日志然后点击日志后面的“添加例外”。
数据中心排除之后,如需要取消误判排除可以到如下界面进行编辑,取消排除操作。
4.联动封锁技术
联动封锁类型
防火墙的联动封锁有两种类型:
- 高危行为联动封锁:仅封锁具有高危行为特征的IP,优先保证用户流畅上网、业务稳定的提供服务;
- 任意攻击行为联动封锁:对任意具有攻击特征的IP执行访问封锁,最大化业务和用户的安全防御能力。
联动封锁机制
- 漏洞攻击防护/WAF/DOS模块可以配置联动封锁
- 高危行为联动封锁功能仅关联:漏洞攻击防护、WAF、DOS部分指定的高等级规则
- 任意攻击行为联动功能关联:封锁漏洞攻击防护、WAF、DOS的“阻断”事件会触发联动封锁
- 策略触发的联动封锁是针对数据包的会话(五元组)进行拦截,数据包的端口和目的ip发生变化不会拦截
- 联动封锁的添加封锁攻击者IP或者添加到永久封堵是针对源IP进行阻断,与之前老版本的机制一样
- 在联动封锁列表中的主机可访问AF控制台,无法访问数据中心
- 联动封锁防火墙容量为20000条
- 被联动封锁的拒绝记录在应用控制日志中查询
4.1 策略联动配置
(1)入侵防护功能和web应用防护功能在安全防护策略中启用;
(2)DOS防护、CC攻击及暴力破解功能单独配置联动封锁功能,以下配置只以DOS防护举例;
4.2 策略联动配置
【运行状态】-【封锁攻击者IP】中的添加封锁攻击者IP和添加到永久封堵,都能实现针对源IP或者目的IP进行阻断的效果;
- 添加封锁攻击者IP:添加封锁源IP会导致源IP经过AF访问所有的目的ip都将被拦截(访问AF的控制台除外);添加封锁目的IP会导致所有经过AF的IP,都将不能访问此目的IP;
- 添加到永久封锁:使用此功能之后,相当于将IP加入到AF的封者名单中,在封锁攻击者ip列表中不会存此IP,但是此ip的任何数据包都不能经过AF,包含访问AF的控制台;
4.3 误判处理
【运行状态】-【封锁攻击者IP】中选择在封锁列表中的ip,点击解除封锁按钮;
”解除封锁“需要人工在封锁列表中选择对应的会话,然后解除封锁;”清除所有封锁ip“将封锁列表中目前存在的ip全部清除干净。
在【内置数据中心】-【应用控制】中”动作“选择”联动拒绝“即可查看日志信息;
5.网页防篡改技术
随着Web应用的发展,使Web系统发挥了越来越重要的作用,与此同时,越来越多的Web系统也因为存在安全隐患而频繁遭受到各种攻击,导致Web系统敏感数据、页面被篡改、甚至成为传播木马的傀儡,最终会给更多访问者造成伤害,带来严重损失。
5.1 防篡改主流技术
1、定时循环扫描技术(即“外挂轮询”):使用程序按用户设定的间隔,对网站目录进行定时扫描比对,如果发现篡改,就用备份进行恢复。
这是早期使用的技术,比较落后,原因是现在的网站少则几千个文件,大则几万,几十万个文件,如果采用定时循环扫描,从头扫到尾,不仅需要耗费大量的时间,还会大大影响服务器性能。在扫描的间隙或者扫描过程中,如果有文件被篡改,那么在下次循环扫描到该文件之前,文件就一直是被篡改的,公众访问到的也将是被篡改的网页,这是一段“盲区”。
缺点:耗费服务器性能、事后检测存在盲区、易被卸载、动态网页局限
2、事件触发技术:使用程序对网站目录进行实时监控,稍有“风吹草动”就进行检查是否是非法篡改。
这是目前主流的防篡改技术之一,该技术以稳定、可靠、占用资源极少著称,其原理是监控网站目录,如果目录中有篡改发生,监控程序就能得到系统通知事件,随后程序根据相关规则判定是否是非法篡改,如果是非法篡改就立即给予恢复。但该技术是也是典型的“后发制人”,即非法篡改已经发生后才可进行恢复,只不过盲区较短。另外,如果黑客采取频率较高(每秒上千次)的“连续篡改”的攻击方式,则很有可能永远也无法恢复,公众看到的一直是被篡改的网页。
缺点:事后检测存在盲区、易被卸载
3、核心内嵌(数字水印)技术:在用户请求访问网页之后,在系统正式提交网页内容给用户之前,对网页进行完整性检查。
这也是目前的主流技术之一,该技术以无进程、篡改网页无法流出、使用密码学算法作支撑而著称,其原理是:对每一个流出的网页进行数字水印(也就是HASH散列)检查,如果发现当前水印和之前记录的水印不同,则可断定该文件被篡改,并且阻止其继续流出,并传唤恢复程序进行恢复。所以即使黑客通过各种各样未知的手段篡改了网页文件,被篡改的网页文件也无法流出被公众访问到。但在2004年我国密码学家山东大学的王小云教授攻破了MD5散列算法,伪造出具有相同数字水印而内容截然不同的文件!算法被攻破,安全性也就不充分了。另外,“数字水印”技术在计算大于100KB大小的文件“指纹”时,其速度将随着文件的增大而逐步下降到让人无法忍受的地步,因此大多数产品都会默认设置一个超过100KB的文件不进行数字水印检查规则。如此一来,黑客只要把非法篡改文件的大小调整到100 KB以上,就可以让非法文件自由流出了,这也是一个潜在的巨大安全隐患。其三,计算每个请求文件的水印散列,必须将计算水印散列的功能模块插入到web服务软件中,比如IIS的ISAPI Filter/Extension,Apache的模块等。所以计算水印散列模块被卸载,防篡改功能将立即消失,被篡改网页就可以随意流出被公众浏览到,而该模块也较易被卸载。
缺点:算法被破解、文件大场景局限、易被卸载
5.2 深信服网页防篡改技术
深信服网页防篡解决方案采用文件保护系统+下一代防火墙紧密结合,文件监控+二次认证功能紧密联动,保证网站内容不被篡改,其中文件保护系统采用了业界防篡改技术中最先进的文件过滤驱动技术。
防篡改客户端采用系统底层文件过滤技术,在文件系统上加载防篡改客户端驱动程序,拦截分析IRP(I/O Request Pcaket)流,识别用户对文件系统的所有操作,并根据防篡改策略对非法的操作进行拦截,以确保受保护的网站目录文件不被篡改。
文件监控
在服务端上安装驱动级的文件监控软件,监控服务器上的程序进程对网站目录文件进行的操作,不允许的程序无法修改网站目录内的内容。
- 客户端软件采用目前最流行的IRF文件驱动流,通过在客户端软件配置需要保护的文件目录和允许修改该目录的应用程序,识别修改被保护网站目录的应用程序是否合法。
- 文件驱动检测并识别到非法应用程序修改目录时,拒绝该应用程序的修改动作,并记录行为日志,上报到NGAF。
- 客户端软件只有连接了NGAF才能激活使用,不能独立使用;使用客户端软件连接NGAF时,NGAF上面须配置一条策略使被保护服务器IP与客户端软件能够进行匹配。
二次认证:
管理员认证流程:
- 访问网站后台http://www.xxx.com/dede/
- AF重定向提交管理员邮箱地址的认证页面
- 提交接收验证码的管理员邮箱wangboxkillman@sina.com
- 发送带有验证码的邮件至wangboxkillman@sina.com
- 管理员登录邮箱获取验证码
- 管理员提交验证码通过认证
- 通过验证后自动跳转到后台页面
黑客认证流程:
第3步时,黑客无法提交正确的管理员邮箱则无法正常登录网站后台,此过程除非黑客通过社工手段获取管理员邮箱地址,并且破解管理员邮箱后才可破解后台登录。
IP认证方式可以杜绝不合法的IP登陆设备,邮件认证是目前业内常用的身份确认方式具有很高的安全性。
5.3 配置思路
(1)配置防篡改客户端
- 下载客户端——AF防篡改配置界面右上角有一个【安装防护客户端】下载链接,点击下载对应操作系统客户端即可,或者直接http://sec.sangfor.com.cn/tamper/下载客户端。还可以在配置界面最底部有一个默认勾选的服务器文件系统防护点击“安全防护客户端”即可下载windows或者linux客户端软件。
- 安装客户端
- 设置客户端
(2)配置二次认证
- 【认证系统】-【服务器访问认证】新增防篡改策略。
- 【服务器IP】若DNAT是在AF上做的,填写DNAT之后的IP;若DNAT不是在AF上做的,则填写访问服务器数据经过AF时的目的IP。
- 【网站后台登录防护】需要填写访问端口及网站管理URL。
- 【管理员认证方式】IP认证即IP白名单,加入到这个IP认证列表的不需要二次认证;邮件认证即需要通过邮件验证码形式发送邮件附件填写到页面上才能访问管理员后台。如果两种认证方式都不勾选则默认全部拒绝。
- 如果使用了邮件认证则必须在【系统】-【邮件服务器】配置发件人。
效果展示:
5.4 注意事项
- 防篡改客户端必须连接防火墙并匹配防篡改策略后才会生效,防篡改客户端生效后,即使防火墙不在线,功能依然生效。
- 若网站本身有webshell未删除,则防篡改客户端无法拦截webshell的文件篡改行为。
- Windows系统中,防篡改客户端无法通过控制面板-卸载程序进行卸载,需要使用安装目录中的tamper.exe进行卸载,卸载需要输入客户端密码。
- Linux系统中,在防篡改功能开启前已经建立的会话或者连接,防篡改功能不会生效。新的会话或者连接才生效。
- Linux系统中,已经被防篡改保护的会话或者连接,在防篡改进程停止的情况依然会生效,如果要关闭防篡改功能,请通过配置开关停掉防篡改功能。
- Linux系统中,开启防篡改的服务器,如果需要完全消除防篡改的影响,先卸载防篡改程序后重启所有服务或者直接重启服务器。
- Linux系统中, Agent自身的bypass机制,当服务器内存系统资源超过70%时,功能可以生效但是无法向AF同步安全日志。