一次DDOS攻击引起的安全漫谈

昨天,U-EEE的网站收到了持续数分钟的DDOS攻击,在数据库、虚拟磁盘和Web 服务器、SSH服务器依次满载之后,攻击依然持续了数分钟,在所有漏洞尝试无果后,攻击者放弃了攻击,系统恢复了正常访问。

LogWatch发回的报告中显示,攻击针对常用的系统了漏洞均做了尝试,这些不仅仅包含了已有软件的漏洞,也包含了对人为过失漏洞的尝试。

看到报告时,其实觉得有点好玩,因为,曾经我们都是脚本小子,甚至我在想如果对方留下某种形式的联系方式,也许我们可以聊一聊如何加固服务器,哈哈:)

玩笑归玩笑,互联网上安全问题不可小视,即使你只想提供一个小清新的站点,依然面临网站被挂马,服务器被劫持,目标客户无法访问等等问题,这会让试图体验清新的人非常失望,互联网时代,大家都有点焦虑不是吗?:)

虽然所有的程序都宣称自己安全、高效、可靠,但是事实却是,所有的应用都在不断发布安全补丁。只要是某种程度上开放的,在开放式环境中面对使用者的系统,都面临安全挑战,特别是网站,真正的安全只有物理隔绝。

安全之所以让人头痛,是因为除非系统性的构建安全模型,否则很难把安全做到极致。这就像软件产品的开发一样,了不起的产品总是和了不起的管理者、设计者、执行人员之间的对抗和协作十分不开的。个人也许能提供不错的点子,但是要做到极致,没有一个完整的团队和执行保障团队是分不开的。如果要称得上伟大,那么可能还需要一批了不起的用户,不是吗?

每个人对安全都有自己的理解,我不是安全专家,我觉得有些准则不错,

1. 安全的黄金准则是最小服务,这真是个了不起的观点,简单实用,暴露点越少,就越安全,用到美女身上,同样受用,哈哈。

  对于现有的独立主机,如果把端口开放作为服务开放的标准,那么可能最少要有两个端口,远程管理的SSH:22和HTTPS:443,HTTP:80在很长一段时间内还需要,所以通常需要 22,80,443三个端口,其它的都应该尽量控制开放,三个端口其中也大有文章。

对于SSH,有多少人还在使用密码认证而非公钥认证,我认为这是极度危险的,特别是远程ROOT,很多人确实在远程ROOT对不对!!!现在的ISP通常并不会提示用户实施最佳安全准则,因为他们担心这会让用户觉得ISP本身是不安全的、极度复杂的,作为变通,ISP通常会加固自己的周边安全设施。我认为这远远不够的,这好比说,因为自己有一个好物业,出门就可以不上锁,除非这物业只为你家服务,对不对?

关于HTTP向HTTPS过度的问题,这不关乎服务器的安全,但是关乎用户的安全。Web以开放为目标,但是安全必须有底线,你不希望有人访问你网站的时候,密码被拦截,进而用来做其他更多破解,对不对??? HTTPS是时候登上舞台了。我认为,保护安全的技术应该和保持开放技术一同进化,这种开发才能持续的发展,对不对?

想想看,如果能够性感、迷人,又能足够安全,这样可餐的秀色就会越来越多对不对。相反,如果暴力和过激事件频发,女孩子是不是要穿着又灰又土的衣服,脸上还得抹点锅煤,那么男同胞就得大声抱怨生活的无趣了,说不定还会怀念纯美的学生时代了,这样着实不好。但是现在中国的基础设施和中国的网民数量有点不对称,只有更多的基础设施在本土被建立起来,Web创新才能持续创新,才会有更多好玩、有趣、精致的东西供大家来玩,要不然就太没意思了。

2. 安全的第二个准则是选用安全性高的应用系统

表面看起来,这是有完美答案的问题,事实并附如此。安全问题更像是一个权衡问题,系统的安全对易用性、软件迭代速度、软件开发团队的构建都有影响,甚至是相互克制依赖的。

比如说就拿CMS系统来说吧,我不是CMS专家,我知道的有4个,WordPress、Joomla、Drupal、Plone。WordPress用户群最大,资料最好找,圈子最热闹。Joomla设计很酷,但是对于中文环境支持不太好,英文版的很好看,但是换上中文后,着实不好看。Drupal号称功能最强大,我不喜欢太强大的产品,强大意味着需要强大的自身实力来驾驭,我不是专业的网页设计师、也不擅长Web,所以就不去挑战了。Plone宣称很安全,但是感觉似乎用来建立企业内部的系统更合适,就Plone的定位而言,我宁可选择MediaWiki。  综合评价,我最喜欢WordPress,因为,WordPress是唯一有中国团队的产品,这确实很赞。WordPress可以填ICP备案号,你知道吗?:)

官方的支持很重要,特别是在这个追求效率和极致的年代。试想,你的公司要构建一个系统,你用了一个超酷、超级强大的开源系统。你有个问题无法解决,官方没有支持。你发了一个问题在某个社团,几天后,稀稀落落的有个答复,让你提供这个现场,那个现场的,然后又是好几天,终于解决了。你的经理怒气匆匆的一声不吭,你小心意义的等待恢复,度过了悲催的几天。这种经理,我想说,非常不愉快,不是吗?

虽然WordPress的漏洞可能遥遥领先其它几个候选,但是整体上看,它的安全系数,却比别人更高。广大的用户群和官方支持能间接的提升应用程序的安全评级。

3. 安全的第三个准则是系统安全,你要选一个可靠地系统,不是吗?

公平的讲Windows和Linux个有利弊,都有存在和选用的理由。但就某一应用场景而言,自然会有明确的优劣。我们的目标是构建一个LAPP系统,Linux上是最合适的了。

我曾将尝试过Ubuntu,启动速度和使用体验确实超赞。不过,我自己一直用的是Debian, 主要是感觉Debian 的社团比较淡定,不偏激,也不赶时髦。用这样一个不常更新的系统可以让我专注自己关心的事情,而不因为系统升级和配置分了心。另一方面是,你要花时间去研读一些资料,把常见的问题记录下来。通常,这些投入的回报率很高,因为系统相对比较稳定,变更比较少,这些知识已知有效。

在面临Linux相关的各种问题中,有几个社团对我帮助很大。

a. 对于Linux一些比较大的方面,比如驱动、服务器配置等等,Debian的Wiki上如果有介绍,一般很全面,足够指导解决问题。搜索引擎固然强大,但是不断的Google和Baidu, 会把思维被打散,不是吗。电话是一个了不起的发明,但是你猜一猜,贝尔办公室有没有装电话。那些干过拔电话线的小朋友,一定能深深的体味到不断被打断糟糕心情,你们懂得。

b. ArchLinux是个好孩子,在遇到中文相关的问题时,ArchLinux官方的一些资料很是受用。相信一些Arch的中国用户,非常热心肠的完善了文档和说明,谢谢他们。

c. 在指导我系统性的思考和排查问题方面,Gentoo帮助很大。Gentoo对普通用户不太适合,但是当你有什么好点子,想大干一场的时候,也许能能在Gentoo网站上找到短小、精悍、全面的参考手册。能随意定制的系统,一定是能让人全面理解、思考和行动的,要不然就只剩下漫天谩骂了,对不对?

d. Mac OS和FreeBSD改变了我对技术和产品看法,一直以来不太喜欢Mac的系统,实际上也不太喜欢BSD。但是我知道Mac OS够简洁,够炫。 BSD是现代操作系统的鼻祖,这点也不假。

有那么一段时间,研读了一下 Mac OS X and iOS Internals之后,态度发生了转变,我明白,这就是我要的系统,这就是我要的设计,简单、强大、不做作、不故弄玄虚、不臣服于技术、不困惑于技术。

对于FreeBSD,真的是感慨颇多,没有那个技术社团的中文文档能做的那么好,那么细致,那么有延续性。想想看,你看到的中文资料,有多少是重复的,有多少是广告。但是FreeBSD的三个核心文档,绝对称得上简洁明了,我知道我跑题了,我忍不住推荐给你,  Architecture Handbook,Developers‘ Handbook,Handbook。 虽然,BSD更加的不友好,不推荐使用,但是几个中文文档,绝对值得一看。

Windows, Linux、BSD、MAC 几大平台各有存在的道理,根据你的需要选择你的系统。 Mac OS X and iOS Internals给我的最大启示是,要以能把事情做到极致的方式,引导你的产品。不要被世俗束缚,这种束缚也包括技术上的束缚,当你看到技术资料时,你也要问一下自己,这是不是能引导你思考,还是只是用来洗脑的?如果你明白你的目标,就没人能阻止你创造卓越的脚步。

不好意思,我是一个永远处在入门级的技术控,对技术太有激情,一谈到技术就有点激动,极易跑题,赶紧回到正题上来。

4. 安全的第四个准则是环境安全,这跟ISP的能力有很大的关系

个人感觉阿里云还是不错哦的,但是在带宽控制方面太吝啬了,不太灵活。

在真正的网络环境中,仅仅依赖一个主机防火墙是远远不够的,更加常见的形态是通过一个网络整体上隔绝外部公共网络和主机公共网络。也就是说,如果一个互联网用户1.1.1.1的主机要访问一个2.2.2.2的ISP主机,那么ISP可能在路由策略上通过一个10.0.0.1/8的网络实施隔离,隔离网络中不同的路由器节点上,分散处理安全逻辑。目标主机,并不是直接暴露在互联网中,而是有一堆哨兵协作,执行安全策略,这可以减少对网络关键节点的依赖,也可以更加灵活。想想看,你的ISP有这样隔离系统吗,还是直接把你暴露了?

5. 安全的第五个准则是,关注安全的参与者要想成一个社团,通力协作,抵御风险。

现代系统面临各种挑战,任何一个网络公民都无法自保,并且也没有绝对的安全。必须建立一种系统,能够快速的响应网络安全挑战。不仅仅是服务器,也包括各种网络基础设施,比如路由器,DNS服务器,只有他们通力协作才能真正的快速阻击不法的攻击者。

现在所有的开源系统,都有安全披露和安全公告类似的系统,只要订阅了,就能够够及时得到通知。道高一尺,魔高一丈,虽然基础设施更好,现在软件的漏洞披露每次都能弄出一场大戏来,对不对?不过,话又说回来,服务器管理员能做的也就这些了。

网络基础设施团队应该在全国乃至全世界范围内协作,抵御各种网络风险,比如非法主机、垃圾邮件、僵尸网路等等。如果掌握大量基础设施的企业,没有这个意识,那么网络安全只是个传说。我们所说的安全,不仅仅是主机的安全,也包括用户的安全,还有ISP本身的安全。主机可以尽量封闭,但是封闭意味着服务范围缩小。用户可以尽量封闭,但是封闭会导致能够享受的服务、便利、和创新减少。ISP可以使用白名单策略,保证自身安全,但是这样又导致网络误杀和扼杀创新的风险。如果要达到开放和安全的双重目标,就必须互相合作、挟制,能够有技术进行细粒度的控制和管控,包容多样性。能够有技术力量平衡风险和收益。我认为真正的网络时代,需要参与者能够在一张会议桌上谈判,开放合作,加强监管,促进和保护创造创新。

6. 安全的第六个准则是,主动出击。

想想看,如果手机垃圾短信防火墙只能保护某一手机不受侵扰,却没有协调其它参与者射杀不法者,那么这件事情就会没完没了。用户会陷入一种,垃圾短信越来越多,防御软件越来越强,但是生活却无法平静、屡被骚扰的病态循环。但是,如果运营商、安全软件、手机制造商合作,这些攻击着很容易被灭掉,作恶成本也会越来越高。想想看,如果微软仅仅依靠自己的防火墙,怎么可能真正阻止得了垃圾邮件。 他必须和其它的ISP和基础设施拥有者通力合作,快速剿灭垃圾邮件制造者,状况才能真正有所缓解。

7. 安全的第七个准则是,只选择用专业的组件。

这是一个大问题,现在国内的产品,大多属于适用面广,但是并不精致,宛如鸡肋。但是,如果要做一些更有意义的事情,我们就需要一个好帮手好团队,是不是?我们必须要相信他们,并且帮助他们改善他们的系统,相信他们明天能做的更好。

对任何网站而言,评论系统的选择都是个难题,如果人们享受分享的快乐,享受创造的快乐,享受讨论的快乐,应用系统自带的评论系统应该都能满足要求。很不幸,现实生活中,有人以破坏为快乐,有时候这种破也不是恶意的,我们曾经都是脚本小子,不是吗?问题是,这种破会,确实会伤害我们的系统,我们必须要阻止破坏。

解决专业问题最好的办法不是自己上,而是让专业的团队去解决。有困难,找度娘,没想到社会化评论系统已经发展到如此了不起的境地了,试用了一下多说,确实不错。看到同行有超酷超炫的系统,着实让人开心。

故事总是结束的太突然,总结一下,为了打造一个安全的服务器,以下事项值得考虑,

a. ISP的网络系统是否值得信赖

b. 你的服务器操作系统是否值得信赖

c. 你的应用服务器是否可靠

d. 你的应用程序是否值得信赖

e. 你是否在一个关注安全的圈子里

最后,提示一个安全级别翻转的问题。如果你的服务器超级安全,但是,却对另外一台主机做了安全例外,请注意,这台主机一旦被攻破,可能波及到你的安全主机。这种情况下,不安全的主机,拖累了安全主机,让你的努力付之东流。对安全而言,一旦出现问题,通常都是溃于蚁穴的故事。无论你设置多么严格的密码,一旦你把你的密码告诉不靠谱的人,你的系统安全可能就是一个问题。无论门多么强大、结实、安全,都挡不住有钥匙的人,对不对?

无论如何,祝愿所有互联网的公民,不管你是服务器、设备、网站、用户、应用、甚至是一种无形的信仰,玩的开心点,有你们真好,不是吗?

U-EEE

时间: 09-19

一次DDOS攻击引起的安全漫谈的相关文章

如何找个海外高防服务器,防御DDOS攻击呢?

如今大数据时代,DDOS攻击让很多站长头疼,找不到一台好的高防服务器也成了站长心目中的心病.那么,哪里有好的高防服务器呢?哪里有能防御DDOS的海外高防服务器呢?什么是DDOs攻击呢? DDoS攻击是利用一批受控制的机器向一台机器发起攻击,这样来势迅猛的攻击令人难以防备,因此具有较大的破坏性.如果说 以前网络管理员对抗Dos可以采取过滤IP地址方法的话,那么面对当前ddos众多伪造出来的地址则显得没有办法. (1)定期扫描 要定期扫描现有的网络主节点,清查可能存在的安全漏洞,对新出现的漏洞及时进

DDoS攻击给游戏网站带来灾难性的破坏,如何防御?

众所周知,游戏是个暴利的行业,稍有点名气就能赚个盆满钵满,但它的用户基数大且分布广泛,遍布全国各地,加大了线上运维难度,并成为影响游戏增长的固有顽疾,而这些"先天缺陷"也成为其致命弱点:一旦遭受ddos冲击,损失极其惨重. 调查发现2016年以来国内多家游戏公司遭遇到了ddos攻击,平局峰值在300G左右,甚至最高达到1T,如此大规模的攻击,使有些游戏公司日亏损数百万,甚至也有因遭遇ddos攻击而一蹶不振走向倒闭.对此,一些有实力游戏公司也采取相应手段并支付近千万的昂贵费用进行防御,而

高防CDN防御百万级DDoS攻击

企业了解DDoS的攻击方式,他们就必须决定如何应付这种攻击,这是现在几乎不可避免的状况.第一个方法是与一些DDoS防御供应商合作,如集群盾.WAFCDN.高防盾.高防云盾等,这是应对最严重攻击的一个可行方法.这些公司专门研究如何防御和应付可能的恶意流量.然而,如果一个组织没有足够资源购买第三方产品和服务,那么聪明的安全管理员也会采取下面这些步骤,尽量减小DDoS攻击的危害.      首先,安全管理员应该先了解他们组织的互联网连接.正如前提所提到的,一般组织的平均连接带宽为10Gbps,所以管理

ddos 攻击 值 DNS Query Flood

作为互联网最基础.最核心的服务,DNS自然也是DDoS攻击的重要目标之一.打垮DNS服务能够间接打垮一家公司的全部业务,或者打垮一个地区的网络服务.前些时候风头正盛的黑客组织anonymous也曾经宣布要攻击全球互联网的13台根DNS服务器,不过最终没有得手. UDP攻击是最容易发起海量流量的攻击手段,而且源IP随机伪造难以追查.但过滤比较容易,因为大多数IP并不提供UDP服务,直接丢弃UDP流量即可.所以现在纯粹的UDP流量攻击比较少见了,取而代之的是UDP协议承载的DNS Query Flo

反爬虫和抗DDOS攻击技术实践

导语 企鹅媒体平台媒体名片页反爬虫技术实践,分布式网页爬虫技术.利用人工智能进行人机识别.图像识别码.频率访问控制.利用无头浏览器PhantomJS.Selenium 进行网页抓取等相关技术不在本文讨论范围内. Cookie是什么 大家都知道http请求是无状态的,为了让http请求从"无状态" to "有状态" , W3C 在 rfc6265 中描述了整个http协议的状态机制,既从客户端(通常是浏览器)到服务器端的流转过程,cookie 的引入使得 服务器在 接

DDoS攻击与防御(1)

分布式拒绝服务攻击的精髓是,利用分布式的客户端,向服务提供者发起大量看似合法的请求,消耗或长期占用大量资源,从而达到拒绝服务的目的.从不同的角度看,分布式拒绝服务攻击的方法有不同的分类标准.依据消耗目标资源的不同,可分为攻击网络带宽资源.攻击系统资源和攻击应用资源三类.依据攻击数据包发送的频率和速度来划分,又可以分为洪水攻击和慢速攻击. 1.攻击网络带宽资源无论是服务器的网络接口带宽,还是路由器.交换机等互联网基础设施,其数据包处理能力都是存在着事实上的上限的,当到达或通过的网络数据包数量超过了

【转】《从入门到精通云服务器》第四讲—DDOS攻击

上周咱们深入分析了云服务器的配置问题,好了,现在手上有了云服务器之后,我们又不得不提它:DDOS攻击.这是所有运维者的心头痛,也是任何公司听闻后都将心惊胆战的强大对手.下面我们将用浅显易懂的方式讲述什么叫DDOS攻击. DDOS攻击形象比喻 某饭店可以容纳100人同时就餐,某日有个商家恶意竞争,雇佣了200人来这个饭店坐着不吃不喝,导致饭店满满当当无法正常营业.(DDOS攻击成功) 老板当即大怒,派人把不吃不喝影响正常营业的人全都轰了出去,且不再让他们进来捣乱,饭店恢复了正常营业.(添加规则和黑

治标更治本,如何从根源防护DDoS攻击

由于DDoS攻击越来越频繁,如何对抗DDoS攻击成为不少企业的难题.直播平台,视频网站,电商,金融网站等竞争性网站更是苦于应付. x86君与多名行业客户[这些客户业务基本上都是出于发展期或爆发期]交流后发现,大部分用户遭受DDoS攻击时往往发现他们所采用的DDoS攻击防护服务商都可以清洗3-4层Volume(流量型) DDoS攻击,但是在防护具有针对性的Volume或Application型DDoS攻击却毫没有特别有效的方案. 其原因在于DDoS攻击防护服务商无法非常了解用户业务特性或对针对性的

通过SQL注入实施DDOS攻击的方法

在这之前,我先介绍一下此方法的思路和原理,以便让大家更好地理解这种攻击方法.我们知道,如果一个网站存在sql注入漏洞,那么我们就能让网站数据库执行我们的sql语句,并得到相应的输出(当然,有些情况下是没有回显的).所以我们有了一个思路:构造一条足够复杂的sql语句,让数据库去执行,以此来消耗Web服务和数据库的资源,耗尽服务器资源,我们甚至也可以让数据库达到其最大连接数,让数据库不能再去回应其它合法用户的连接请求. 目前,整个思路已经很清晰了,我们可以开始构造复杂的sql语句了. sql为我们提