2015年5月17日星期天,网络犯罪分子向我所在的企业——HotSchedules公司,负责为来自餐厅、医院以及零售行业的超过200万员工提供云服务——发动了一场恶毒的分布式拒绝服务攻击。从星期天夜间到星期二下午,这些恶意人士在长达45个小时内阻挠着用户正常检查并管理自己的工作规划——而且从未透露其攻击动机。
虽然这对于每一位CEO来讲都是一场令人难忘的噩梦,但对我个人而言这却成了一次宝贵的经验并值得为公司的整场顽强对抗感到自豪。HotSchedules在过去16年当中曾成功化解过多次网络攻击,且没有经历过任何一次服务中断。这次来袭的攻势异常凶猛,相信我的经历帮助大家从中总结教训并获得启示。
由于好莱坞大片的错误引导,我们往往将网络攻击的对抗想象成是正义与邪恶两方的黑客们各自坐在冷冰冰的屏幕前,利用散发出绿色荧光的代码在互联网当中激烈过招。但在现实生活中,网络安全对抗需要企业内每一位员工的参与。如果大家正在经验一家企业,那么攻击活动会考验您的企业文化、团队协作以及集体使命感。团队要么找到办法完成向客户作出的业务承诺,要么眼睁睁看着业务体系陷入瘫痪。每一项网络攻击手段都拥有对应的技术性解决方案,但员工的实际反应才真正决定着企业的最终命运——更具体地讲,也就是客户眼中的胜负关系。
人为因素
星期天傍晚,此次DDoS攻击的消息正式传开,HotSchedules公司的全体员工立刻冲进自己的办公室。没有应急部署,也没有临时方案。在这场对抗当中,人们自发采取了主动态度,按照既定方式开始应对。
对于任何一家企业而言,遇到攻击活动之后的最高优先级就是继续为客户提供服务。我们仍然能够访问自己的数据库,所以技术工程师们汇总出名单并将其转交给我们的客户服务团队。这时的客户服务团队已经在规模上得到扩充,其中包括原有团队成员、客户成功经理、市场营销人员、人力资源员工以及其他几乎来自各个非技术部门的员工。他们将日程规划下载下来并通过邮件将副本发送给客户。在接下来的48个小时当中,我们的团队一直通过电话、邮箱以及社交媒体不眠不休地为客户提供帮助。当客户打进电话时,我们能够提供名单、时间表、岗位交换以及其它多种核心服务。
优先级中的次要项目就是保持透明度。一旦我们了解到当前事态,会立刻将情况汇报给客户。我们的政策是“不搞暗箱操作,一切明面进行”。这一原则是我从BTC Revolutions处学来的,这是一家数字化社交营销及战略规划机构,他们负责了我公司员工团队的培训工作。我们在自己的官方网站、Facebook、Twitter等平台上发布声明并更新实时动态,并在第二天早上直接向客户打电话汇报情况,同时回答我们在网站及推文评论中收到的问题。
我们的团队不眠不休地工作了两天,同时保持着令人难以置信的工作强度与效率水平。数据中心的地板成了临时休息区,工程师们始终坚持在自己的岗位之上,只是偶尔到这里小憩一会儿。很多企业恐怕不具备如此出色的员工队伍。归根结底,这取决于我们雇用谁、如何培训他们以及如何帮助他们在工作当中获得认同感与成就感。作为CEO,我对于自己的员工团队感到无比骄傲。
网络战争

在每一位面向客户的团队成员都在努力维持服务进行并与客户进行交流的同时,我们的IT部门则集中力量解决网络威胁。虽然没有继续数据遭遇泄露,但我们对这样的恶意攻击仍然缺乏必要准备。
攻击过程当中,每秒数据传输流量达到了惊人的10至15 Gb每秒(即Gbps)——这相当于我们正常传输速率的250倍。当我打电话给从业银行及电信工作的朋友需求帮助时,恐怖的数字令我们也呆立当场。对于大多数商业企业来讲,这样的流量都远远超过预期。只有整个团队的成员在精心的编排之下通力协作,再配合极为昂贵的网络资源投入,才有可能应对得了这么庞大的流量压力。
我们很难确切掌握攻击活动是否会停止,又将在何时停止。无论我们怎样辗转腾挪,DDoS都如影随形。当时我们曾经试图将服务利用其它IP地址进行发布,但犯罪分子很快就再次跟了上来。因此,我们做出了一个艰难的决定,即发布“黑洞”来舍弃一部分流量。这事实上传达出了这样的一种信息——“你已经惹到我们了,我们绝不会让你实现任何进一步破坏。”
最后,劳累的安全工程师们在受保护子网上重新设计了整套服务,而相关保护则由Akamai公司的云安全解决方案提供——其流量承受上限高达321 Gbps。到5月19号星期二的凌晨2:37,我们的服务终于重新上线。
经验总结
联邦调查局方面一直无法确定是谁组织了这次恶意攻击,而且整个过程中我们也没有收到任何赎金要求、声明或者动机解释。来自多个国家的成千上万台 服务器 都参与到了攻击当中,而且我们发现其中有六成左右来自海外地区。面对这样扑朔迷离的状况,我怀疑我们永远也抓不到这群犯罪分子。
考虑到有90%的企业遭受过DDoS攻击,我想奋力抵抗是值得的——无论需要付出怎样的代价。从云环境退缩回内部设施,就像是为了避免事故而从汽车回退到马匹那样,简直是荒谬。考虑到内部技术方案的高昂成本,餐饮行业当然更倾向于使用价格低廉的云与移动计算产品。虽然刚刚遭受了攻击,但我仍然号召整个行业以勇敢且积极的心态面对这一切。
此次DDoS攻击是我从业以来带来压力最大的一次事故,但它却也让我积累到了宝贵的经验。在整个过程中,我们没有丢失任何数据,并且仍然为客户提供一定程度的服务支持。我还知道,公司的一组同事连续45个小时一直在帮助客户解决问题。对于企业而言,这样出色的员工显然比任何技术成果都更加重要。
用了安全防护服务器还是被ddos打死了怎么办
其实ddos是比较难防,你可以做如下操作:1,隐秘你的ip,尽量用域名绑定。2,服务器集群,这样的好处是一个服务器坏了,数据还能转移到其他服务器上3,用反向代理模式进一步保护你的服务器4,禁用ping命令,这样会以为你的服务器没有联网
如何有效的抵抗DDOS?
DDOS的损害我这里就不说了。 咱们可以经过批改注册表来减小DDOS对咱们的损伤1)设置生计时刻HKEY_LOCAL_macHINESYSTEMCurrentControlSetServicesTCPipParametersDefaultTTL REG_DWORD 0-0xff(0-255 十进制,默许值128)阐明:指定传出IP数据包中设置的默许生计时刻(TTL)值决议了IP数据包在抵达方针前在网络中生计的最大时刻.它实际上约束了IP数据包在丢掉前答应经过的路由器数量.有时运用此数值来勘探长途主机操作体系.我主张设置为1,由于这里是ICMP数据包的寸活时刻。 越小对方用 PING DDOS你的话,通常1M带宽的话就必须要100台以上的肉鸡来完结。 不批改20几台就可以搞定2)避免ICMP重定向报文的进犯HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParametersEnableICMPRedirects REG_DWORD 0x0(默许值为0x1)阐明:该参数操控Windows 2000能否会改动其路由表以呼应网络设备(如路由器)发送给它的ICMP重定向音讯,有时会被运用来干坏事2000中默许值为1,表明呼应ICMP重定向报文.3)制止呼应ICMP路由布告报文HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParametersInterfacesinterfacePerformRouterDiscovery REG_DWORD 0x0(默许值为0x2)阐明:“ICMP路由布告”功用可形成他人计算机的网络衔接反常,数据被偷听,计算机被用于流量进犯等严重后果.此问题曾招致校园网某些局域网大面积,长时刻的网络反常.因而主张封闭呼应ICMP路由布告报文2000中默许值为2,表明当DHCP发送路由器发现选项时启用.4)避免SYN洪水进犯HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParametersSynAttackProtect REG_DWORD 0x2(默许值为0x0)阐明:SYN进犯维护包罗削减SYN-ACK从头传输次数,以削减分配资源所保存的时刻.路由缓存项资源分配推迟,直到树立衔接停止.若是synattackprotect=2,则AFD的衔接指示一向推迟到三路握手完结停止.注重,仅在TcpMaxHalfopen和TcpMaxHalfOpenRetried设置超出规模时,维护机制才会采纳办法.5) 制止C$、D$一类的缺省同享HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServiceslanmanserverparametersAutoShareServer、REG_DWORD、0x06) 制止ADMIN$缺省同享HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServiceslanmanserverparametersAutoShareWks、REG_DWORD、0x07) 约束IPC$缺省同享HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlLsarestrictanonymous REG_DWORD 0x0 缺省0x1 匿名用户无法罗列本机用户列表0x2 匿名用户无法衔接本机IPC$同享阐明:不主张运用2,不然可能会形成你的一些效劳无法发动,如SQL Server8)不支持IGMP协议HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParametersIGMPLevel REG_DWORD 0x0(默许值为0x2)阐明:记住Win9x下有个bug,就是用可以用IGMP使他人蓝屏,批改注册表可以批改这个2000尽管没这个bug了,但IGMP并不是必要的,因而照样可以去掉.改成0后用route print将看不到那个厌烦的224.0.0.0项了.9)设置arp缓存老化时刻设置HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServices:TcpipParametersArpCacheLife REG_DWORD 0-0xFFFFFFFF(秒数,默许值为120秒)ArpCacheMinReferencedLife REG_DWORD 0-0xFFFFFFFF(秒数,默许值为600)阐明:若是ArpCacheLife大于或等于ArpCacheMinReferencedLife,则引证或未引证的ARP缓存项在ArpCacheLife秒后到期.若是ArpCacheLife小于ArpCacheMinReferencedLife,未引证项在ArpCacheLife秒后到期,而引证项在ArpCacheMinReferencedLife秒后到期.每次将出站数据包发送到项的IP地址时,就会引证ARP缓存中的项。 10)制止死网关监测技能HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServices:TcpipParametersEnableDeadGWDetect REG_DWORD 0x0(默许值为ox1)阐明:若是你设置了多个网关,那么你的机器在处置多个衔接有艰难时,就会主动改用备份网关.有时候这并不是一项好主意,主张制止死网关监测.11)不支持路由功用HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServices:TcpipParametersIPEnableRouter REG_DWORD 0x0(默许值为0x0)阐明:把值设置为0x1可以使Win2000具有路由功用,由此带来不必要的问题.12)做NAT时扩大变换的对外端口最大值HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServices:TcpipParametersMaxUserPort REG_DWORD 5000-(十进制)(默许值0x1388--十进制为5000)阐明:当应用程序从体系恳求可用的用户端口数时,该参数操控所运用的最大端口数.正常情况下,短期端口的分配数量为1024-5000.将该参数设置到有用规模以外时,就会运用最接近的有用数值(5000或).运用NAT时主张把值扩大点.13)批改MAC地址HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlClass找到右窗口的阐明为网卡的目录,比方说是{4D36E972-E325-11CE-BFC1-BE}打开之,在其下的0000,0001,0002...的分支中找到DriverDesc的键值为你网卡的阐明,比方说DriverDesc的值为Intel Fast Ethernet LAN on Motherboard然后在右窗口新建一字符串值,姓名为Networkaddress,内容为你想要的MAC值,比方说是0然后重起计算机,ipconfig /all看看. 最终在加上个BlackICE放火墙,应该可以反抗通常的DDOS
如何在网络工程层面上抵抗DDOS攻击
应用层抵御不了ddos攻击。 抵御ddos攻击的软件方法是用ndis驱动做过滤,判断是否有攻击后再进行处理。 攻击数据包在没到达应用层之前就被丢弃了,防止应用层因为ddos攻击而崩溃。 不过web层到是可以做一些东西来防御CC攻击
发表评论