高防cdn

环境测试域名:a.comA服务器IP:192.168.0.130(主)B服务器IP:192.168.0.131C服务器IP:192.168.0.131部署思路A服务器做为主服务器,域名直接解析到A服务器(192.168.0.130)上,由A服务器负载均衡到B服务器(192.168.0.131)与C服务器(192.168.0.132)上。部署步骤一、在A服务器上的操作1、域名解析vi/etc/hosts192.168.0.130a.com2、设置nginx.conf打开nginx.conf,在http段加入以下代码。upstreama.com{server192.168.0.131:80;server192.168.0.132:80;}server{listen80;server_namea.com;location/{proxy_passhttp://a.com;proxy_set_headerHost$host;proxy_set_headerX-Real-IP$remote_addr;proxy_set_headerX-Forwarded-For$proxy_add_x_forwarded_for;}}保存重启nginx二、配置B、C服务器在nginx.conf的http段加入以下代码server{listen80;server_namea.com;indexindex.html;root/data0/htdocs/www;}保存重启nginx三、测试当访问a.com的时候,为了区分是转向哪台服务器处理我分别在B、C服务器下写一个不同内容的index.html文件,以作区分。打开浏览器访问a.com结果,刷新会发现所有的请求均分别被主服务器分配到B服务器与C服务器上,实现了负载均衡效果。假如其中一台服务器宕机会怎样?当某台服务器宕机了,是否会影响访问呢?我们先来看看实例,根据以上例子,假设C服务器宕机了(由于无法模拟宕机,所以就把C服务器关机)然后再来访问看看。访问结果:我们发现,虽然C服务器宕机了,但不影响网站访问。这样,就不会担心在负载均衡模式下因为某台机子宕机而拖累整个站点了。四、如果b.com也要设置负载均衡怎么办?很简单,跟a.com设置一样。如下:假设b.com的主服务器192.168.0.130,负载均衡到192.168.0.150和192.168.0.151机器上现将域名b.com解析到192.168.0.149IP上。在主服务器(192.168.0.149)的nginx.conf加入以下代码:upstreamb.com{server192.168.0.150:80;server192.168.0.151:80;}server{listen80;server_nameb.com;location/{proxy_passhttp://b.com;proxy_set_headerHost$host;proxy_set_headerX-Real-IP$remote_addr;proxy_set_headerX-Forwarded-For$proxy_add_x_forwarded_for;}}保存重启nginx在192.168.0.150与192.168.0.151机器上设置nginx,打开nginx.conf在末尾添加以下代码:server{listen80;server_nameb.com;indexindex.html;root/data0/htdocs/www;}保存重启nginx完成以后步骤后即可实现b.com的负载均衡配置。五、主服务器不能提供服务吗?以上例子中,我们都是应用到了主服务器负载均衡到其它服务器上,那么主服务器本身能不能也加在服务器列表中,这样就不会白白浪费拿一台服务器纯当做转发功能,而是也参与到提供服务中来。如以上案例三台服务器:A服务器IP:192.168.0.130(主)B服务器IP:192.168.0.131C服务器IP:192.168.0.131我们把域名解析到A服务器,然后由A服务器转发到B服务器与C服务器,那么A服务器只做一个转发功能,现在我们让A服务器也提供站点服务。我们先来分析一下,如果添加主服务器到upstream中,那么可能会有以下两种情况发生:1、主服务器转发到了其它IP上,其它IP服务器正常处理;2、主服务器转发到了自己IP上,然后又进到主服务器分配IP那里,假如一直分配到本机,则会造成一个死循环。怎么解决这个问题呢?因为80端口已经用来监听负载均衡的处理,那么本服务器上就不能再使用80端口来处理a.com的访问请求,得用一个新的。于是我们把主服务器的nginx.conf加入以下一段代码:server{listen8080;server_namea.com;indexindex.html;root/data0/htdocs/www;}重启nginx,在浏览器输入a.com:8080试试看能不能访问。结果可以正常访问既然能正常访问,那么我们就可以把主服务器添加到upstream中,但是端口要改一下,如下代码:upstreama.com{server192.168.0.131:80;server192.168.0.132:80;server127.0.0.1:8080;}由于这里可以添加主服务器IP192.168.0.130或者127.0.0.1均可以,都表示访问自己。重启Nginx,然后再来访问a.com看看会不会分配到主服务器上。主服务器也能正常加入服务了。六、总结a、负载均衡不是nginx独有,著名鼎鼎的apache也有,但性能可能不如nginx。b、多台服务器提供服务,但域名只解析到主服务器,而真正的服务器IP不会被ping下即可获得,增加一定安全性。c、upstream里的IP不一定是内网,外网IP也可以。不过经典的案例是,局域网中某台IP暴露在外网下,域名直接解析到此IP。然后又这台主服务器转发到内网服务器IP中。d、某台服务器宕机、不会影响网站正常运行,Nginx不会把请求转发到已宕机的IP上。

高防cdn

面对大量用户访问、高并发请求,海量数据,可以使用高性能的服务器、大型数据库,存储设备,高性能Web服务器,采用高效率的编程语言比如(Go,Scala)等,当单机容量达到极限时,我们需要考虑业务拆分和分布式部署,来解决大型网站访问量大,并发量高,海量数据的问题。从单机网站到分布式网站,很重要的区别是业务拆分和分布式部署,将应用拆分后,部署到不同的机器上,实现大规模分布式系统。分布式和业务拆分解决了,从集中到分布的问题,但是每个部署的独立业务还存在单点的问题和访问统一入口问题,为解决单点故障,我们可以采取冗余的方式。将相同的应用部署到多台机器上。解决访问统一入口问题,我们可以在集群前面增加负载均衡设备,实现流量分发。负载均衡(LoadBalance),意思是将负载(工作任务,访问请求)进行平衡、分摊到多个操作单元(服务器,组件)上进行执行。是解决高性能,单点故障(高可用),扩展性(水平伸缩)的终极解决方案。本文是负载均衡详解的第一篇文章,介绍负载均衡的原理,负载均衡分类(DNS负载均衡,HTTP负载均衡,IP负载均衡,链路层负载均衡,混合型P负载均衡)。部分内容摘自读书笔记。一、负载均衡原理系统的扩展可分为纵向(垂直)扩展和横向(水平)扩展。纵向扩展,是从单机的角度通过增加硬件处理能力,比如CPU处理能力,内存容量,磁盘等方面,实现服务器处理能力的提升,不能满足大型分布式系统(网站),大流量,高并发,海量数据的问题。因此需要采用横向扩展的方式,通过添加机器来满足大型网站服务的处理能力。比如:一台机器不能满足,则增加两台或者多台机器,共同承担访问压力。这就是典型的集群和负载均衡架构:如下图:应用集群:将同一应用部署到多台机器上,组成处理集群,接收负载均衡设备分发的请求,进行处理,并返回相应数据。负载均衡设备:将用户访问的请求,根据负载均衡算法,分发到集群中的一台处理服务器。(一种把网络请求分散到一个服务器集群中的可用服务器上去的设备)负载均衡的作用(解决的问题):1.解决并发压力,提高应用处理性能(增加吞吐量,加强网络处理能力);2.提供故障转移,实现高可用;3.通过添加或减少服务器数量,提供网站伸缩性(扩展性);4.安全防护;(负载均衡设备上做一些过滤,黑白名单等处理)二、负载均衡分类根据实现技术不同,可分为DNS负载均衡,HTTP负载均衡,IP负载均衡,链路层负载均衡等。2.1DNS负载均衡最早的负载均衡技术,利用域名解析实现负载均衡,在DNS服务器,配置多个A记录,这些A记录对应的服务器构成集群。大型网站总是部分使用DNS解析,作为第一级负载均衡。如下图:优点使用简单:负载均衡工作,交给DNS服务器处理,省掉了负载均衡服务器维护的麻烦提高性能:可以支持基于地址的域名解析,解析成距离用户最近的服务器地址,可以加快访问速度,改善性能;缺点可用性差:DNS解析是多级解析,新增/修改DNS后,解析时间较长;解析过程中,用户访问网站将失败;扩展性低:DNS负载均衡的控制权在域名商那里,无法对其做更多的改善和扩展;维护性差:也不能反映服务器的当前运行状态;支持的算法少;不能区分服务器的差异(不能根据系统与服务的状态来判断负载)实践建议将DNS作为第一级负载均衡,A记录对应着内部负载均衡的IP地址,通过内部负载均衡将请求分发到真实的Web服务器上。一般用于互联网公司,复杂的业务系统不合适使用。如下图:2.2IP负载均衡在网络层通过修改请求目标地址进行负载均衡。用户请求数据包,到达负载均衡服务器后,负载均衡服务器在操作系统内核进程获取网络数据包,根据负载均衡算法得到一台真实服务器地址,然后将请求目的地址修改为,获得的真实ip地址,不需要经过用户进程处理。真实服务器处理完成后,响应数据包回到负载均衡服务器,负载均衡服务器,再将数据包源地址修改为自身的ip地址,发送给用户浏览器。如下图:IP负载均衡,真实物理服务器返回给负载均衡服务器,存在两种方式:(1)负载均衡服务器在修改目的ip地址的同时修改源地址。将数据包源地址设为自身盘,即源地址转换(snat)。(2)将负载均衡服务器同时作为真实物理服务器集群的网关服务器。优点:(1)在内核进程完成数据分发,比在应用层分发性能更好;缺点:(2)所有请求响应都需要经过负载均衡服务器,集群最大吞吐量受限于负载均衡服务器网卡带宽;2.3链路层负载均衡在通信协议的数据链路层修改mac地址,进行负载均衡。数据分发时,不修改ip地址,指修改目标mac地址,配置真实物理服务器集群所有机器虚拟ip和负载均衡服务器ip地址一致,达到不修改数据包的源地址和目标地址,进行数据分发的目的。实际处理服务器ip和数据请求目的ip一致,不需要经过负载均衡服务器进行地址转换,可将响应数据包直接返回给用户浏览器,避免负载均衡服务器网卡带宽成为瓶颈。也称为直接路由模式(DR模式)。如下图:优点:性能好;缺点:配置复杂;实践建议:DR模式是目前使用最广泛的一种负载均衡方式。2.4混合型负载均衡由于多个服务器群内硬件设备、各自的规模、提供的服务等的差异,可以考虑给每个服务器群采用最合适的负载均衡方式,然后又在这多个服务器群间再一次负载均衡或群集起来以一个整体向外界提供服务(即把这多个服务器群当做一个新的服务器群),从而达到最佳的性能。将这种方式称之为混合型负载均衡。此种方式有时也用于单台均衡设备的性能不能满足大量连接请求的情况下。是目前大型互联网公司,普遍使用的方式。方式一,如下图:以上模式适合有动静分离的场景,反向代理服务器(集群)可以起到缓存和动态请求分发的作用,当时静态资源缓存在代理服务器时,则直接返回到浏览器。如果动态页面则请求后面的应用负载均衡(应用集群)。方式二,如下图:以上模式,适合动态请求场景。因混合模式,可以根据具体场景,灵活搭配各种方式,以上两种方式仅供参考。三、负载均衡算法常用的负载均衡算法有,轮询,随机,最少链接,源地址散列,加权等方式;3.1轮询将所有请求,依次分发到每台服务器上,适合服务器硬件同相同的场景。优点:服务器请求数目相同;缺点:服务器压力不一样,不适合服务器配置不同的情况;3.2随机请求随机分配到各个服务器。优点:使用简单;缺点:不适合机器配置不同的场景;3.3最少链接将请求分配到连接数最少的服务器(目前处理请求最少的服务器)。优点:根据服务器当前的请求处理情况,动态分配;缺点:算法实现相对复杂,需要监控服务器请求连接数;3.4Hash(源地址散列)根据IP地址进行Hash计算,得到IP地址。优点:将来自同一IP地址的请求,同一会话期内,转发到相同的服务器;实现会话粘滞。缺点:目标服务器宕机后,会话会丢失;3.5加权在轮询,随机,最少链接,Hash’等算法的基础上,通过加权的方式,进行负载服务器分配。优点:根据权重,调节转发服务器的请求数目;缺点:使用相对复杂;四、硬件负载均衡采用硬件的方式实现负载均衡,一般是单独的负载均衡服务器,价格昂贵,一般土豪级公司可以考虑,业界领先的有两款,F5和A10。使用硬件负载均衡,主要考虑一下几个方面:(1)功能考虑:功能全面支持各层级的负载均衡,支持全面的负载均衡算法,支持全局负载均衡;(2)性能考虑:一般软件负载均衡支持到5万级并发已经很困难了,硬件负载均衡可以支持(3)稳定性:商用硬件负载均衡,经过了良好的严格的测试,从经过大规模使用,在稳定性方面高;(4)安全防护:硬件均衡设备除具备负载均衡功能外,还具备防火墙,防DDOS攻击等安全功能;(5)维护角度:提供良好的维护管理界面,售后服务和技术支持;(6)土豪公司:F5BigIp价格:15w~55w不等;A10价格:55w-100w不等;缺点(1)价格昂贵;(2)扩展能力差;4.4小结(1)一般硬件的负载均衡也要做双机高可用,因此成本会比较高。(2)互联网公司一般使用开源软件,因此大部分应用采用软件负载均衡;部分采用硬件负载均衡。比如某互联网公司,目前是使用几台F5做全局负载均衡,内部使用Nginx等软件负载均衡。

高防cdn

之前写了一篇《WAF防御能力评测及工具》,是站在安全运维人员选型WAF产品的角度来考虑的(优先从测试角度考虑是前职业病,毕竟当过3年游戏测试?!)。本篇文章从WAF产品研发的角度来YY如何实现一款可靠的WAF,灵感来自ModSecurity等,感谢开源。本片文章包括三个主题(1)WAF实现WAF包括哪些组件,这些组件如何交互来实现WAF防御功能(2)WAF规则(策略)维护规则(策略)如何维护,包括获取渠道,规则测试方法以及上线效果评测(3)WAF支撑WAF产品的完善需要哪些信息库的支撑一、WAF实现WAF一句话描述,就是解析HTTP请求(协议解析模块),规则检测(规则模块),做不同的防御动作(动作模块),并将防御过程(日志模块)记录下来。不管硬件款,软件款,云款,核心都是这个,而接下来围绕这句话来YYWAF的实现。WAF的实现由五个模块(配置模块、协议解析模块、规则模块、动作模块、错误处理模块)组成1.配置模块设置WAF的检测粒度,按需开启,如图所示2.协议解析模块(重点)协议解析的输出就是下一个模块规则检测时的操作对象,解析的粒度直接影响WAF防御效果。对于将WAF模块寄生于web服务器的云WAF模式,一般依赖于web服务器的解析能力。3.规则模块(重点)重点来了,这块是WAF的核心,我将这块又细分为三个子模块。(1)规则配置模块IP黑白名单配置、URL黑白名单配置、以及挑选合适的规则套餐。(2)规则解析模块主要作用是解析具体的规则文件,规则最好采用统一的规则描述语言,便于提供给第三方定制规则,ModSecurity这方面做得非常优秀。规则文件由四部分组成,分为变量部分、操作符部分,事务函数部分与动作部分。(3)规则检测模块上一步我们设置了各种变量,接下来就是按照一定的逻辑来做加减乘除了。4.动作模块(重点)通过规则检测模块,我们识别了请求的好恶,接下来就是做出响应,量刑处理,不仅仅是拦截。5.日志模块(重点)日志处理,非常重要,也非常火热,内容丰富到完全可以从WAF独立出来形成单独的安全产品(e.g.日志宝)而采用提供接口的方式来支撑WAF。对于数据量巨大的云WAF,都会有单独的大数据团队来支撑架构这一块,包括数据存储(e.g.hdfs),数据传输(kafka),数据离线分析(hadoop/spark),数据实时分析(storm),数据关联分析(elasticsearch)等等,以后另开一篇单独说明。6.错误处理模块以上模块运行错误时的异常处理二、WAF规则(策略)维护WAF需要修炼一图以蔽之三、WAF支撑信息库WAF需要修炼一图以蔽之以上支撑库几乎所有的安全人员都在重复地做,而资源没有共享的原因,一是内部不可说;二是没有采取统一的描述语言无法汇合,唉,安全从业人员的巴别塔。四、补充知识(包括文章与代码)想想写了这么多文章,自我感觉萌萌哒!WAF相关WAF防御能力评测及工具ssdeep检测webshellModSecurity相关文章(我就是ModSecurity的死忠粉)[科普文]ubuntu上安装Apache2+ModSecurity及自定义WAF规则ModSecuritySecRulecheatsheetsModSecurityCRS笔记、WAF防御checklist,及WAF架构的一些想法ModSecurity晋级-如何调用lua脚本进行防御快速入门ModSecurity白名单设置指纹识别Web应用指纹识别FingerPrintIP相关使用免费的本地IP地理库来定位IP地理位置-GeoIPlookup获得IP的地理位置信IPGeolocation及IP位置可视化IP地理信息离线获取脚本IP地理信息在线获取脚本识别搜索引擎脚本判断使用哪家CDN脚本代理类型判断脚本Proxy探测脚本与HTTP基本认证暴力破解脚本CDN架构网站负载均衡技术读书笔记与站长产品的一点想法正则优化NFA引擎正则优化TIPS、Perl正则技巧及正则性能评测方法HTTP发包工具HTTP.pl——通过HTTP发包工具了解HTTP协议HTTP发包工具-HTTPieWAF实现的思维导图

高防服务器

CC攻击是一种成本极低的DDOS攻击方式,只要有上百个IP,每个IP弄几个进程,那么可以有几百上千个并发请求,很容易让服务器资源耗尽,从而造成网站宕机;防御CC攻击,硬件防火墙的效果不怎么明显,因为CC攻击的IP量太小,很难触发防御机制,反而是软件防火墙、WEB防火墙更容易防御。那么,软件防火墙和WEB防火墙之间有什么区别呢?要怎么选择软件防火墙、WEB防火墙呢?为了让大家更好地认识软件防火墙和WEB防火墙,本着已有的认识,对两者进行较为全面的的比较,或许会让大家更好地认识网站防火墙,进一步选择适合自己网站的防火墙。从定义上来看软件防火墙指安装在服务器上的防火墙类软件,以Windows服务器的防火墙为主,好比冰盾什么的,安装、使用流程与普通软件无异;至于Linux下面的防火墙软件,同样有不少,只是安装、使用流程更复杂而已。WEB防火墙没有明确的定义,一般指网站应用级入侵防御系统,支持普通防火墙的功能,只是不用直接安装在服务器上,而是搭建在用户、服务器之间的线路上,直接进行应用层的防护;国内已经有不少第三方的WEB防火墙,不用修改主机环境即可直接使用。从功能上来看不管是什么防火墙,在拦截CC攻击时,功能都一样,通过比较TCP链接与IP的比值,进一步判断IP是否异常,再做出是否拦截的动作;至于防黑、防篡改功能,是WEB防火墙经常用来宣传的功能,不过,不少优秀的软件防火墙,同样开始具备类似的功能;从功能上来看,两者差别不大。从上手难度来看不管是什么用户,自然希望用更简单的方式使用防火墙;那么,软件防火墙和WEB防火墙,哪个使用起来更方便呢?如果要使用软件防火墙,首先要有服务器控制权,必须是自己的服务器或VPS,再去下载、安装防火墙软件,安装以后按教程设置,Windows下面可能要20分钟搞定,Linux下面可能要半小时才可以搞定。总的来说,只要可以找到合适的教程,那么安装起来不是很困难。至于WEB防火墙,一般不用在自己的服务器上安装软件,而是修改域名NS或CNAME记录,生效时间非常短,整个过程更简单;好比使用加速乐,从注册账号到正式使用,可能5分钟以内就完全搞定。从防护力度来看对软件防火墙而言,因为是安装在服务器上的,每次拦截攻击,都会占用服务器资源,好比CPU、内存资源;因此,软件防火墙的防护力度与服务器配置相关,一般很有限。相较而言,WEB防火墙是一种与服务器分开的防火墙,用户遭遇的攻击不会直接反馈到服务器上,而是被拦截在防火墙服务器上,防火墙服务器的配置一般不差,性能自然要比资源较少的服务器或VPS更好。如何选择防火墙从上面的比较来看,WEB防火墙在资源占用、上手难度、防护力度的优势更明显,新手站长可以很快地学会使用;而软件防火墙的自定义功能更为强大,可以完全按网站的实际情况来配置,对于专业站长而言有更好的发挥余地,可以配置出非常安全的网站防火墙。除此之外,这不是二选一的问题,如果有自己的服务器,完全可以先安装软件防火墙,随后使用第三方的WEB防火墙,双重保护更有安全感,不是么?

高防cdn

现在的网络攻击衍变的越来越多样化以及复杂化,所谓魔高一尺道高一丈,网络防护的技术策略也越来越强。今天我们就主要讲讲防御系统中的WAF是什么,其主要功能是什么?WAF即WEB应用防火墙,称为网站应用级入侵防御系统,英文:WebApplicationFirewall,简称:WAF。国际上公认的说法是:Web应用防火墙是通过执行一系列针对HTTP/HTTPS的安全策略来专门为Web应用(俗称网站)提供保护的产品。那网站防御系统中为什么需要WAF呢?主要是现在大大小小,各种类型的网站太多,然而黑客也知道这些网站并不会全部都做最高级别的安全防护系统,所以他们如果攻击网站会带给他们利益产出。九六云告诉你WAF能做什么呢?应用特点是所有访问网站的请求都会通过应用层,所以有攻击的时会在应用层自动识别出攻击的类型,特征。这时候WAF就会根据相应的规则来阻断恶意请求的访问。WAF的主要功能是什么呢?1、WAF可以对访问请求进行控制,可以主动识别、阻断攻击流量,就如现在智能化的AI,可以发觉安全威胁对其主动进行防御。不限制于被动状态下的规则和策略去防护。2、恶意大流量针对WEB的攻击行为称为CC攻击,此攻击是很难发现以及防的。模仿其真实用户的不断访问请求,这就需要WAF识别体系,来识别有效的访问请求,对恶意的加以清洗过滤防护。这种操作可以更好的去规避及缓解正常的访问请求,不会被误杀。通过漏洞植入木马等操作网站及对网站目录文件未经授权的修改以及破坏,会让网站变成钓鱼,涉黄等非法网站,还有对SQL注入,XSS跨站脚本等攻击可以做到及时有效的防护与恢复。所以网络防御系统存在WAF的目的就是把恶意软件的请求过滤清洗掉,反射正常流量进入源站,现在对于高危H5页面,游戏,APP,网站,支付等行业中,我们最常见的便是DDOS攻击,CC攻击,当然在防御它们的时候也都是通过域名解析后,替换隐藏源IP,利用WAF指纹识别架构,将所有访问的请求过滤清洗,正常的访问需求返回客户端。

高防cdn

现在有很多的用户选择ddos防护安全公司的首要条件就是接入方便,价格便宜,还要拥有专业的技术,24小时服务等等要求。导致出现了越来越多鱼龙混杂的安全防护公司,他们的存在意味着激烈的竞争开启了,使用户本来是可以找到更好,更快,更专业的技术团队的周期延长。他们会不断的在网上搜索,进行攀比。有些因为价格原因选择了低价格着,原本心理还美滋滋的,结果等接入后发现防不住,任然会被打挂,然后再开启寻找模式,同时内心止不住的担忧,怕再一次被骗,想着损失是否可以承担的起?大部分客户还是希望应用程序稳定和在线服务能够及时响应。那么企业遇上SSLDDOS该采取的有效防御措施有?现阶段,DDOS衍变出新一代更大、更复杂的分布式拒绝服务,使得DDOS防护比以往都更具挑战性。由于物联网的崛起,产生了大规模的物联网僵尸网络,而这些僵尸网络使DDoS攻击的容量越来越大,因此攻击者通过应用层攻击耗尽服务器的资源从而验证出更强大的SSLDDoS攻击。因此企业网络安全需要更严谨的防护来减轻这种攻击。所以针对许多复杂类型的攻击都要求了对出入站的可视性,以此来作为保护。例如ACK洪泛、扫描攻击等,这种是通过出站通信通道攻击,这种攻击方式不能通过查看入口流量。衍变后的SSLDDoS攻击威力是不容小觑的,黑客只要使用少量连接目标服务器提供的资源就可以发起毁灭行的攻击,同时使用SSL洪泛快速地淹没服务器资源。因此九六云觉得针对于DDOS防护结合了本地服务器和高防的过滤清洗能力。这有助于用户的服务器不被拉入黑洞使其停止服务。一些金融、游戏、支付、网站等行业,只要停服一会,损失也是相当大的。或者对DDOS进行多层DdoS防护,基于基础的的硬件缓解以及高防的过滤清洗能力相结合的情况下,加高带宽,这样能够持续,不间断的容量保护,以此来抵抗大容量的流量攻击。对SSL进行特殊加密,避免SSL密钥暴露。对于一些大流量且相当重视客户体验度的企业,想要避免因流量攻击导致公司业务停滞的领导们,建议提前做好网络安全防护措施。加强底层基础设施及防护过滤清洗能力,隐藏企业的源IP地址,让攻击者无处下手。

高防cdn

一、LNMP高级应用之nginx最简单反向代理server{listen80;server_namevpsmm.com;location/{proxy_passhttp://cache.vpsmm.com/;proxy_redirectoff;proxy_set_headerX-Real-IP$remote_addr;proxy_set_headerX-Forwarded-For$proxy_add_x_forwarded_for;}}二、最简单的前端全缓存+反向代理脚本mkdir/home/cache/path-p#新建2个目录,放置缓存文件mkdir/home/cache/temp-p修改/usr/local/nginx/conf/nginx.conf新增以下代码,主要是缓存相关设置,请放置于http{##这里}中,一般加在log_format上面或下面均可:client_body_buffer_size512k;proxy_connect_timeout5;proxy_read_timeout60;proxy_send_timeout5;proxy_buffer_size16k;proxy_buffers464k;proxy_busy_buffers_size128k;proxy_temp_file_write_size128k;proxy_temp_path/home/cache/temp;proxy_cache_path/home/cache/pathlevels=1:2keys_zone=cache_one:500minactive=7dmax_size=30g;#500m是内存占用,7d是7天无访问删除,30g是缓存占具硬盘空间以下为虚拟主机配置文件,可另存成.conf放置于vhost下面:server{listen80;server_namevpsmm.com;#主机名location/{proxy_cachecache_one;proxy_cache_valid2003043d;#正常状态缓存时间3天proxy_cache_key$host$uri$is_args$args;proxy_passhttp://cache.vpsmm.com/;#反代的网站proxy_redirectoff;proxy_set_headerX-Real-IP$remote_addr;proxy_set_headerX-Forwarded-For$proxy_add_x_forwarded_for;expires10d;#默认10天缓存access_log/home/wwwlogs/vpsmm.logaccess;#日志文件}}点击几下网站,df-sh命令,查看/home/cache目录大小,即可测试是否缓存成功。此脚本为前端全缓存,后端动态更新后,前端不会自动修改。可手动清理cache目录下文件。这个方法,可以用纯静态的形式来防CC,如果你的动态博客,受到CC攻击,可以尝试一下。三、LNMP简单的一些防CC的办法观看生成的.log日志文件,判断来路,直接301百度:if($http_referer~*mi5.gov){rewrite^(.*)$http://www.baidu.com/permanent;}观看生成的.log日志文件,判断浏览器特征码,直接301百度:if($http_user_agent~*firefox4.0){rewrite^(.*)$http://www.baidu.com/permanent;}根据特征码,直接查找.log文件,并iptables封死相应IP:catcom.log|grep'Mozilla/5.0'|awk'{print"iptables-IINPUT-ptcp--dport80-s",$1,"-jDROP"}'|sort-n|uniq|shif($http_user_agent~*142.54.161.3){rewrite^(.*)$http://www.baidu.com/permanent;}

高防服务器

引言:DDoS攻击势头愈演愈烈,除了攻击手法的多样化发展之外,最直接的还是攻击流量的成倍增长。3月份国内的最大规模DDoS攻击纪录还停留在数百G规模,4月,这个数据已经突破T级,未来不可期,我们唯有保持警惕之心,技术上稳打稳扎,以应对DDoS攻击卷起的血雨腥风。4月8日,腾讯云成功防御了1.2Tbps的超大流量攻击,也是目前国内已知的最大攻击流量,这篇文章就此次攻防事件简单地为大家做一个梳理和分析。国内已知最大攻击流量来袭12月1日,12月第一个工作日,九六云一个重要的棋牌游戏客户突然遭受大流量DDoS攻击,棋牌类游戏遭受攻击习以为常,但是本轮攻击流量峰值竟达到了1.23Tbps,刷新国内DDoS攻击最大流量记录。攻击分析本次攻击手法主要为拥塞带宽型攻击手法(SSDP反射,攻击原理下文介绍),在总体流量中占比97%,攻击流量达1.2Tbps,和协议缺陷型(SYNFLOOD和ACKFLOOD),在总体流量中占比3%。SSDP反射只要对DDoS有一定认知的同学,肯定不会对SSDP反射攻击陌生,作为现网最常见的DDoS攻击手法之一,SSDP反射由于可用的反射终端数量庞大,放大系数可观,而备受攻击者青睐。在攻击思路上跟其他反射攻击一样,攻击者发起SSDP反射的大致过程为:Ø通过IP地址欺骗方式,攻击者伪造目标服务器IP,向开放SSDP服务的终端发起请求;Ø由于协议设计缺陷,SSDP服务无法判断请求是否伪造,并向目标服务器进行响应。就这样数量极其庞大的SSDP响应报文同时发往被攻击服务器;Ø更可怕的是在特定请求下,一个SSDP请求报文可以触发多个响应报文,而每个响应报文比请求报文体积更大,最终造成攻击流量约为30倍的放大。来源IP分析本次攻击共采集到攻击源16.6万个。其中国内占比68%,海外占比32%,TOP3国家分别是:中国(68%)、俄罗斯(13%)、美国(8%)。在国内方面,攻击主要来源省份:山东省(40%)、辽宁省(20%)、河北省(16%)等环渤海区域,其次是浙江省(10%)、台湾省(9%)。国内攻击源的主要运营商来源为中国电信(占比66%)和中国联通(占比24%)。在攻击源属性方面,主要来自于个人PC,占比57%,IDC服务器占比28%,值得注意的是,物联网设备在此次攻击源中占比达到15%。攻击者在攻击武器方面,物联网设备作为攻击源的数量呈明显增长趋势。眼下物联网设备安全问题不容忽视。由此可见,公网上开放SSDP服务的终端数量非常庞大,而且分布广泛,为攻击者实施攻击带来便利。防护方案为了有效防护DDoS攻击,建议游戏厂商和开发者做好以下几个事项。(1)预估攻击风险,必要时接入高防不同类型的业务遭受外部DDoS攻击的风险完全不一样。所以运营者应根据自身行业的攻击威胁态势,以及自己业务历史遭受的DDoS攻击情况,来判断是否会被黑产"盯上"及是否需要接入高防。而不可不提的是,游戏行业的高利润、行业恶性竞争等因素决定了该行业成为DDoS的高发区。根据九六云数据统计表明,超过66%的DDoS和CC攻击均针对游戏业务。所以对于游戏业务运营者来说,更需预估攻击威胁,必要时接入高防,方能保障业务稳定运行。(2)接入高防后,切勿暴露源站接入高防后,九六云会分配专门的高防代理IP,而为了避免黑客直接攻击源站,此时必须要注意:隐藏源站IP!Ø接入高防前的源站IP不能再使用(已经暴露);Ø梳理游戏逻辑,确认游戏逻辑不会暴露源站IP;Ø对服务器做安全扫描,避免被植入后门。(3)基于业务特性,定制防护策略接入高防后可以通过高防IP的超大带宽抵抗大流量DDoS攻击,但是黑客往往会在大流量攻击同时混杂着消耗服务器资源的小流量攻击,如本轮攻击除了SSDP反射和SYNFLOOD还夹杂着CC攻击。故为了达到更优的防护效果,可以咨询九六云安全团队:基于业务特性,深度定制防护策略。策略定制常见的维度包括:Ø梳理业务协议和端口情况,封禁非必要协议和端口,减少被攻击面Ø对HTTP业务,可在控制台上根据实际情况配置CC防护,提前防备CC攻击。Ø如果是私有协议,可以让九六云安全团队介入。团队可对业务流量进行统计分析,并深度定制防护策略,以有效解决各种疑难杂症。例如该客户历史还遭受过四层CC攻击,九六云安全团队深度定制策略,有效防护,业务稳定运行!备注:四层CC攻击是指黑客控制肉鸡对目的服务器建立TCP连接后模拟业务流量发起攻击,耗尽服务器资源的攻击手法。总结只要有利益的地方就竞争,只要有互联网的地方就会有DDoS攻击。我们建议游戏厂商和开发者提前评估业务风险、选择可信赖的云服务商,必要情况下购买高防服务,与专家团队深度定制防护方案,有力保障好游戏安全生命线。

高防服务器

CC攻击是什么?那怎么做防护才能避免WEB服务器被CC攻击呢?今天九六云给大家分享下对CC攻击的见解吧!CC攻击是DdoS攻击(分布式拒绝服务)的一种,相比其它的DDoS攻击CC似乎更有技术含量一些。这种攻击你见不到虚假IP,见不到特别大的异常流量,但造成服务器无法进行正常连接,一条ADSL的普通用户足以挂掉一台高性能的Web服务器。因此称其为“Web杀手”毫不为过。最让站长们忧虑的是这种攻击技术含量不是很高,利用工具和一些IP代理,一个初、中级的电脑水平的用户就能够实施DDoS攻击。简单点讲服务器像是一个超市,而CC就像是一大批正常进店的顾客,他们各种看物品,不断地询问店员各种关于物品的问题,就是不付款。导致真正有需求的客户和店员交涉不上,也没法进入付款流程。CC攻击是DdoS攻击(分布式拒绝服务)的一种CC攻击有一定的隐蔽性,怎么确定服务器正在遭受CC攻击呢?可以通过下面三个方法来确定:(1)一般遭受CC攻击时,Web服务器会出现80端口对外关闭的现象,因为这个端口已经被大量的垃圾数据堵塞了,正常的连接也就被中止了。我们可以通过在命令行下输入命令netstat-an来查看,如果看到类似如下有大量显示雷同的连接记录基本就可以确定被CC攻击了。这就是命令行确认法TCP192.168.1.3:80192.168.1.6:2205SYN_RECEIVED4……其中“192.168.1.6”被用来代理攻击主机的IP,“SYN_RECEIVED”是TCP连接状态标志,意思是“正在处于连接的初始同步状态”,表明无法建立握手应答处于等待状态。这样的记录一般都会有很多条,表示来自不同的代理IP的攻击。这就是攻击的特征。(2)上述方法需要手工输入命令且如果Web服务器IP连接太多看起来比较费劲,我们可以建立一个批处理文件,通过该脚本代码确定是否存在CC攻击。打开记事本输入如下代码保存为CC.bat:@echoofftime/t>>log.lognetstat-n-ptcp|find":80">>Log.lognotepadlog.logexit上面脚本的含义是筛选出当前所有的到80端口的连接。当我们感觉服务器异常是就可以双击运行该批处理文件,然后在打开的log.log文件中查看所有的连接。如果同一个IP有比较多的到服务器的连接,那就基本可以确定该IP正在对服务器进行CC攻击。(3)上面的两种方法有个弊端,只可以查看当前的CC攻击,对于确定Web服务器之前是否遭受CC攻击就无能为力了,此时我们可以通过Web日志来查,因为Web日志忠实地记录了所有IP访问Web资源的情况。通过查看日志我们可以确认Web服务器之前是否遭受到CC攻击,并确定攻击者的IP然后采取进一步的措施。Web日志一般在C:\WINDOWS\system32\LogFiles\HTTPERR目录下,该目录下用类似httperr1.log的日志文件,这个文件就是记录Web访问错误的记录。管理员可以依据日志时间属性选择相应的日志打开进行分析是否Web被CC攻击了。默认情况下,Web日志记录的项并不是很多,我们可以通过IIS进行设置,让Web日志记录更多的项以便进行安全分析。确定Web服务器之前是否遭受CC攻击确定Web服务器正在遭受CC攻击,那如何进行有效的防范呢?(1)一般cc攻击都是针对网站的域名进行攻击,比如我们的网站域名是“www.abc.com”,那么攻击者就在攻击工具中设定攻击对象为该域名然后实施攻击。对于这样的攻击我们要在IIS上取消此域名的绑定,让CC攻击失去目标。取消域名绑定后Web服务器的CPU马上恢复正常状态,通过IP进行访问会显示连接一切正常。但是缺点是:取消或者更改域名对于别人的访问带来不变,对于针对IP的CC攻击是无效的,就算更换域名攻击者发现之后,他也会对新域名实施攻击。(2)如果发现针对域名的CC攻击,我们可以把被攻击的域名解析到127.0.0.1这个地址上。我们知道127.0.0.1是本地回环IP是用来进行网络测试的,同时实现攻击者自己攻击自己的目的,即使攻击者有很多的肉鸡或者代理也会宕机。当我们的Web服务器遭受到CC攻击时,把被攻击的域名解析到国家权威的政府网站或者是网警的网站,让其网警来管。如今Web站点都是利用类似“新网”这样的服务商提供的动态域名解析,可以登录进去之后进行设置。(3).Web服务器通过80端口对外提供服务,因此攻击者实施攻击就以默认的80端口进行攻击,所以,我们可以修改Web端口达到防CC攻击的目的。运行IIS管理器,定位到相应站点,打开站点“属性”面板,在“网站标识”下有个TCP端口默认为80,我们修改为其他的端口就可以了。(4).我们通过命令或在查看日志发现了CC攻击的源IP,可以在IIS中设置屏蔽该IP对Web站点的访问,我们可以设置授权访问加入白名单,也可以设置拒绝访问加入黑名单从而达到防范IIS攻击的目的。或者组策略封闭IP段。cc攻击都是针对网站的域名进行攻击CC攻击其实就是DDOS攻击的一种,防护原理都是差不多的,都是会造成业务的崩溃给企业造成巨大损失的,所以在DDOS攻击防御上不可忽视。尤其是一些棋牌游戏,网站,APP,金融和交易所,这属于DDOS攻击的重灾区。

高防cdn

2019年已接近尾声,回顾这一年,网络安全事件频频爆发,上半年的一起MemcachedDDoS攻击的峰值达到1.7Tbps!创下历史最高纪录。这背后折射出黑客的攻击行为越来越复杂激进,造成的影响也越来越大。尤其是对大型企业,其面临的威胁更是不容小视。而就在近日,某知名互联网行业公司遭受了一次大型DDoS攻击,流量峰值一度逼近T级,再次拷问了大型公司的网络安全防线。近T级流量“造访”各互联网公司年关将至,各行业都在努力完成各自的“KPI”,黑产也不甘落后,互联网安全战场正在暗流涌动,九六云某互联网行业知名客户连续遭受了2次大流量DDoS攻击。2019年11月13日,凌晨3点46分,一波试探性意味浓厚的攻击正在袭来,流量峰值达到638Gbps,这也是今年整个互联网DDoS攻击的常见攻击流量。《2019上半年互联网DDoS攻击趋势分析》显示,以每月超过百Gbps的攻击次数统计来看,100-200Gbps占比最大,基本在75%以上。常年的攻防经验让九六云安全团队意识到,这次攻击仅仅是序幕。要知道,对不法分子而言,针对大型公司发起一次DDoS攻击的成本并不低,而且他们一旦找准了目标,轻易不会放弃,“重头戏”在后面。17个小时之后,11月13日晚20点07分,第二波攻击“如约而至”,攻击流量峰值远超过第一次,飙升至790Gbps。虽然今年DDoS攻击流量峰值出现了1.7T这一天文数字,将DDoS防护推向T级战场,但790Gbps这一数字仍然十分罕见。九六云安全团队还发现,本次DDoS攻击手法同样“老练”,攻击类型包含SSDP反射攻击和DNS反射攻击,目的端口也比较分散,对防御工作带来极大的挑战。火线救援,九六云Anycast的防御之道客户遭受大流量DDoS攻击时,如何抗D维稳是当务之急。790Gbps大流量攻击对业界传统防护方案而言面临重重挑战。本次受攻击的公司源站部署在北京,需要考虑云平台上不同线路、地域防护节点问题,单节点防护能力不足;攻击超出防护界限后,用户手动配置跳转,时间窗口根据运维人员及准备情况,30分钟到几小时不等,影响公司业务;叠加不同地域节点获取更高流量高防,要求购买多个基础高防包,防护成本高;目前业界云清洗方案主流为三网线路,网络延迟费时,影响用户访问速度。如何在防护节点、调度速度、防护成本等多重因素之间权衡达到最优解还不够,最重要的还是保证用户的体验,一旦用户体验受损,届时面临的“内忧外患”是任何一家公司都难以承受的。在快速分析完客户情况之后,九六云团队立即响应。针对客户业务情况提供Anycast高防IP解决方案,包含北京、上海和南京三网的节点,可在攻击状态下自由调度。虽然攻击持续了一天,但决战却在一分钟内完成。在这两波大型攻击中:13日凌晨03:46:18,北京高防IP遭受攻击,在不到一分钟之内,防护智能调度到上海节点,成功抵抗住了第一波攻势,而此时攻击峰值已高达638G。晚上20:08:09,上海高防IP遭受新一轮大流量攻击,攻击峰值高达790G,同样是不到一分钟之内,调度防护节点到南京三网,直到22:10:15,攻击停止,防护切回初始节点(北京节点),完成了对该客户的成功护航。快速灵活的节点调度背后,体现出九六云BGP高防IP对于解决客户超大流量DDoS攻击的核心优势——智能调度防护节点,满足跨区域T级大流量抗D需求。企业无需购买多个地域IP,自动调度防护节点;无需手动切换配置,封堵时自动解析更新至新高防IP;依托九六云BGPIP接入节点和全球部署的超过20个防御节点,以及定制化的高级防护策略,可以轻松应对DDoS攻击。目前,九六云DDoS高防,还在孝感市公安厅、氧秀直播、城中教育局、万古神帝游戏等各行各业的客户中守护企业网络安全。

高防cdn

CC攻击其实属于DDoS攻击的一种,这种攻击普遍都是流量不是很高,但是破坏性非常大,直接导致系统服务挂了无法正常服务。评长期处于防护状态经验的我来说可以分为以下几种类型:1、SYN-CC攻击;这种比较常见,黑客直接使用高并发来请求目标导致目标网站或应用无法提供正常服务。防护无非就是常规的并发限制,一般的硬防都可以过滤这些常规的CC攻击。如下图:2、POST流量耗用型;这种是利用目的地址不限制动态请求,恶意提交数据交互导致服务中断,常规的这种带宽耗用都很高,如果不是弹性带宽还真会长时间被耗用完cpu、内存、带宽资源。还有更恐怖让用户看傻眼的是,网站注册短信接口被post恶意请求导致几秒钟消耗完几千元的短信费用,目前在这个攻击中这种受影响的网站占比非常大,曾经有几个朋友都是因为这个事情找我帮他们彻底解决了。这里不得不说小编的朋友无笔秀才了,他们官网短信接口余额2000多在几秒内直接消耗完,开始他们购买了XX云的waf防火墙,最后发现还是屏蔽不完,重新充值的费用又在几分钟内消耗完,最后找到九六云,通过九六云技术人员分析后发现waf过滤只过滤了60%左右的恶意请求,效果一般,即刻就给他上了九六云新开发的指纹识别防护就稳定下来了,连续几天恶意请求都非常多直接进黑名单,让黑客再无法消耗接口费用了。3、模拟UA以及常规的百度伪装;这种攻击也算常规伪装了,非常多,毕竟国内百度爬虫多。目测只要有网站攻击,就一定会出现伪装百度的CC攻击。4、浏览器漏洞CC请求攻击;利用浏览器漏洞控制浏览器来发动攻击,请求真实的地址,这种可以说是目前最难防护的攻击,目前没有人能百分百说能搞定这个攻击,不过有这个实力的人非常少,所以目前还不用担心。这么多年来,我接触过这种类型的攻击,都需要定制化解决,也总共遇到过2次这种攻击,也很完美解决了,因为这个访问确实都是正常访问,与其他的不同就是他不是伪装,是真实请求。5、疯狂代理型超多肉鸡IP请求型;网上好多代理网站,黑客购买这些代理IP来发动恶意的请求,做代理的估计有一半是被人购买去搞CC攻击(个人猜测,不喜勿喷)。6、路由盒子劫持攻击;这种攻击也比较难预防,请求也是合法的请求,而且路由盒子量非常庞大,曾经网上遇到有人说能控制几百万路由盒子,那恐怖,我听了都怕。不过这种如果有人敢攻击,应该有背景吧,或者是年轻不考虑后果型的。7、其他变态类;其他综合起来一起来评价,一般都是网上很多版本各式各样的攻击器模拟出来的,世界无限大,什么都有。当我们发现网站遭到CC攻击的时候不要过度惊慌失措,先查看一下网站服务器是不是被黑了,找出网站存在的黑链,然后做好网站的安全防御,开启IP禁PING,可以防止被扫描,关闭不需要的端口。通过九六云高防盾对访问者的URL,频率、行为等多重画像访问特征进行分析,智能识别CC攻击并进行拦截,保障网站正常稳定运行。

高防服务器

前言老被cc的福利来了,群里一些朋友天天被攻击,老夫也遭殃,坐不住了,直接上教程。本教程只防CC攻击,不能防DDOS,防DDOS请麻溜买高防秒解。实测:1核1G内存撑住700多代理IP持续攻击,屹立不倒,且CPU在45%左右徘徊。本教程借助根据CPU/内存大小优化LNMP环境配置,且使用了类似cfCDN的防CC攻击特点并做了一些优化什么是CC攻击攻击者借助代理服务器生成指向受害主机的合法请求,实现DDOS和伪装就叫:CC(ChallengeCollapsar)。CC主要是用来攻击页面的。大家都有这样的经历,就是在访问论坛时,如果这个论坛比较大,访问的人比较多,打开页面的速度会比较慢,访问的人越多,论坛的页面越多,数据库压力就越大,被访问的频率也越高,占用的系统资源也就相当可观。一个静态页面不需要服务器多少资源,甚至可以说直接从内存中读出来发给你就可以了,但是论坛就不一样了,我看一个帖子,系统需要到数据库中判断我是否有读帖子的权限,如果有,就读出帖子里面的内容,显示出来——这里至少访问了2次数据库,如果数据库的数据容量有200MB大小,系统很可能就要在这200MB大小的数据空间搜索一遍,这需要多少的CPU资源和时间?如果我是查找一个关键字,那么时间更加可观,因为前面的搜索可以限定在一个很小的范围内,比如用户权限只查用户表,帖子内容只查帖子表,而且查到就可以马上停止查询,而搜索肯定会对所有的数据进行一次判断,消耗的时间是相当的大。CC就是充分利用了这个特点,模拟多个用户(多少线程就是多少用户)不停的进行访问(访问那些需要大量数据操作,就是需要大量CPU时间的页面).这一点用一个一般的性能测试软件就可以做到大量模拟用户并发。你是否受到了CC攻击1.网站访问缓慢,报503错误(nginx拒绝连接),502错误(php挂逼)2.服务器CPU100%;基本上确诊被C了。LNMP环境优化1.nginx优化:nginx没有过多的优化,一般nginx都死被php拖死的。简称:扶不起来2.宝塔中nginx的过滤器测试效果并不理想,如果各位不打算回复的话(不打算看接下来的核心内容)可以开启“防CC攻击模块”并设置为频率100,周期60。能有效防止一些恶意访问,比如小学生找不到代理,就几个代理。如果打算支持一下,请直接关掉它。3.php优化:服务器挂壁基本都是php进程太多导致的了。nginx是个传菜的,php就是真正花时间吃饭的。4.如图:简单理解,最少15个人在厂里,最多50个人同时干活,如果有35个人以上没干活就开除掉。5.根据CPU核数设定起始进程数和最小空闲,这样可以发挥正常状态的最大优势,加快处理速度设置为15*核数,即1核15进程,双核30进程。6.根据内存设置最大进程,防止出现内存爆炸,导致fpm挂起或者mysql等其他服务挂逼。设置为1G*(40-50),即1G内存40-50,2G内存80-100。7.设置上面两项可以更有效率的使用服务器。8.如上设置并不能防止CC攻击,但是为我接下来需要说的提供了前提。redis+验证码+策略防CC采用redis高性能数据库,合理的访问策略验证并在超大攻击时开启验证码访问。让网站远离CC1.安装redis,在宝塔软件管理找到,安装;2.安装phpredis扩展,你用哪个php就安装哪个php的扩展,别装错了;3.在网站入口,如Wordpress的index.php头部加入如下代码:header('Content-Type:text/html;charset=UTF-8');//emlog原有代码,复制下列代码放在下面//CC攻击停止后会尽快解除验证码,回到正常状态//防CC配置$IPmax=30;//开启验证码条件值>=php最大进程数,适当设置更大会降低验证码触发条件,但会增大502错误几率(php挂起)$IPfor=60;//周期这个值基本不用动$IPban=60;//扔入黑名单60秒内访问超过60次即拉黑IP$banTime=3600*24;//黑名单时长扔小黑屋时长,这种代理IP放一天感觉都少了==!$ip=ip();//连接本地的Redis服务$redis=newRedis();$redis->connect('127.0.0.1',6379);//拦截黑名单if($redis->exists($ip.'ban')){exit('您被关进了小黑屋,黑白网丨HeiBai.Org');}//扔黑名单检测if($redis->get($ip.'ok')>=$IPban){$redis->setex($ip.'ban',$banTime,'1');}if($redis->exists($ip.'ok')){$redis->incrby($ip.'ok',1);//记录IP自增1}else{$redis->setex($ip.'ok',$IPfor,1);}//按需开启防CC小黑屋IP不会触发该条件,所以当一段时间以后就会解除验证码。除非攻击者换一批代理继续攻击。如此往复if(count($redis->keys("*ok"))>$IPmax){//验证if($_COOKIE['key']==''){if($_GET['cc']){$key=md5($ip.$_GET['cc']);setcookie("key",$key);}}//拦截代码if($_COOKIE['key']&&$_COOKIE['cc']&&$_COOKIE['key']==md5($ip.$_COOKIE['cc'])){//通过}else{if($_GET['cc']){$key=md5($ip.$_GET['cc']);setcookie("key",$key);}else{$cc=rand(1000,9999);setcookie("cc",$cc);//这里只是简单的构造了一下验证码,有能力可以自己更改的更安全和完美。echo'<!DOCTYPEhtml><html><body><formaction="">请输入:'.$cc.':<inputtype="text"name="cc"value=""><inputtype="submit"value="继续访问"></form><p>访问异常,请输入验证码。</p></body></html>';}exit();}}functionip(){if(getenv('HTTP_CLIENT_IP')&&strcasecmp(getenv('HTTP_CLIENT_IP'),'unknown')){$ip=getenv('HTTP_CLIENT_IP');}elseif(getenv('HTTP_X_FORWARDED_FOR')&&strcasecmp(getenv('HTTP_X_FORWARDED_FOR'),'unknown')){$ip=getenv('HTTP_X_FORWARDED_FOR');}elseif(getenv('REMOTE_ADDR')&&strcasecmp(getenv('REMOTE_ADDR'),'unknown')){$ip=getenv('REMOTE_ADDR');}elseif(isset($_SERVER['REMOTE_ADDR'])&&$_SERVER['REMOTE_ADDR']&&strcasecmp($_SERVER['REMOTE_ADDR'],'unknown')){$ip=$_SERVER['REMOTE_ADDR'];}$res=preg_match('/[\d\.]{7,15}/',$ip,$matches)?$matches[0]:'';return$res;}

2019-11-30 437 0