怎么回事,又被攻击?
做业务的人,或多或少都会遇到网络攻击情况,团队再小,也是别人的眼中钉肉中刺。
业务被无端攻击,它的目的何在?网络攻击的目的:
1、竞争对手让我们的业务瘫痪
2、用户发泄行为
3、敲诈(收保护费)
.........
它的目的有很多,人家想要搞你,从来不会想什么理由的。
目前业务中遇到最多的攻击也许是cc攻击和ddos攻击了。
cc主要是用来攻击页面的。大家都有这样的经历,就是在访问论坛时,如果这个论坛比较大,访问的人比较多,打开页面的速度会比较慢,访问的人越多,论坛的页面越多,数据库压力就越大,被访问的频率也越高,占用的系统资源也就相当可观,他是ddos攻击的一种。
ddos攻击通过大规模互联网流量淹没目标服务器或其周边基础设施,以破坏目标服务器、服务或网络正常流量的恶意行为。
他们的危害就如上面所说的,占用目标服务器大量的网络资源,导致目标业务无法正常运行。
那我们如何预防呢?
网上关于这方面的资料特别多,讲的也很云里雾里的。由上面可知,ddos攻击占用的是我们的网络资源而导致我们的服务不能正常的向正常的用户服务,从而达到了他们的目的,从这些点出发,我简单的聊一聊一些预防经验。
1、设置网络防火墙(WAF),建立黑名单ip池,这种服务各种云都有对应的服务购买,当然也可以自己通过lua去写,例如网上搜索nginx+lua+waf就会有了。
2、nginx网络配置只有post请求才能通过。
3、slb负载均衡部署。
4、设置单接口请求频次,例如1s请求10次相同接口就归纳为异常请求。
5、设置专有User-Agent(UA),在通过WAF过滤。 上面主要是重点WAF的工作,但是攻击者的流量都到WAF了,对应的网络资源肯定也是被占满了的,尽管通过WAF过滤了大部分无效的请求(这些请求只是没有进入业务层代码)。
那此时如果遇到大规模攻击怎么办呢,服务也照样停摆。
1、从域名解析入手,域名请求过来需要通过DNS进行解析才能找到对应的ip的,我们是否可以这样子,从电信过来的就指向电信服务器,从联通过来的就指向联通服务器,从移动过来的就指向移动服务器,即按线路来分配,从海外过来的就指向其他服务等,这显然是可以的并且是有效的,尤其现在绝大部分ddos攻击是海外ip的,如果做的是国内的业务完全可以把海外ip解析到一个无效ip上,例如192.1.1.2。
2、隐藏真实业务服务器的ip地址
3、建立备用域名机制,将这个备用域名文件的地址放在一个cdn上,应用一启动就下载该配置文件,例如api域名正在被攻击,我们可以将api域名指向一台服务器,其他业务服务都释放掉,同时修改备用域名为api1,并且把api1指向到我们业务服务器上,如果上述第二步没有操作,还需要把业务服务器的ip切换下,毕竟有些攻击是针对ip的。
也许我们是在好好的做业务,可就是有些人通过一些方式不断的磨练你,鞭策你,让你不断的进步,网络攻防也是此道理,你永远不知道对手接下来会换一个怎么样的手段来攻击你,而我们能做的就是被迫接招,见招拆招。