HITCON创办人教你三大容器安全术加强网页安全
2016-12-25 10:02:26 | 来源:ithome | 投稿:梁子 | 编辑:dations

原标题:HITCON创办人教你三大容器安全术加强网页安全

vArmour 资深工程师的徐千洋表示,利用Container建立网站,其中安全观念与Unix的操作不谋而合,「容器是chroot的强化版本,照理来讲安全性会更高。」

图片来源:

iThome

作为一名资安工作者,台湾资安技术社群 CHROOT 、台湾骇客年会 HITCON 创办人,目前任职于美商 vArmour 资深工程师的徐千洋,已经养成习惯,经常在各大网站浏览,检查是否有该站管理者没有察觉的漏洞存在。他表示,位居Alexa网站评比全球网路流量第61名的色情网站Pornhub,由于使用者人数众多,自然是吸引骇客攻击的大目标。为此,Pornhub也发起一个漏洞悬赏计画,欢迎资安高手回报该网站存在的任何漏洞及弱点,成功入侵者也能获得丰厚的奖赏。

Pornhub悬赏最高金额的前两名漏洞,都是归类在远端命令执行漏洞,总计金额高达2万5千美元,「而最高金额的奖金已经被人领走。」

即便如Pornhub,使用者众多、营收规模如此大,更用砸重金打造的安全防护不亚于他人的网站,都能够被骇客找到远端执行的漏洞,「这意味着全球更多网站都暴露在类似风险之下。」

让骇客领取Pornhub最高悬赏金的远端命令执行漏洞,不仅是骇客常见的攻击手法,一旦执行成功也相当具有威力,网站中各类的设定档、原始码,或是储存在SQL资料库的使用者帐号密码,全部都在攻击者的掌握,更让管理者近乎丧失网站的主导权。徐千洋也直言,许多大型网站一旦使用者帐号密码外洩,往往并非是单纯SQL injection攻击事件,「很可能该网站已被彻底地入侵、掌控了。」这不禁让徐千洋思考,一名网站管理员有无可能阻绝这些攻击,即便骇客找到零时差漏洞,也无法成功的入侵?

市面常见的网站,大多都会透过网页伺服器如Httpd执行连线服务,串连到程式语言直译器,最后透过PHP等程式语言执行网页应用程式。但是这段常见的运作流程,从一开始接通网路连线后,就已经暴露在远端执行的风险中,徐千洋表示,若中间任何一环存在漏洞,就可能导致骇客入侵,例如执行Shell等命令。他观察,目前网页服伺服器而言,想找到漏洞并非易事,风险最高的远端命令执行漏洞数量更是稀少。不过程式语言、网页应用程式则不乏高风险漏洞,像是通用漏洞平台CVE的资料库中,PHP存在漏洞的漏洞,範围涵括6至10等高风险,「网页应用程式的漏洞更是多如牛毛。」

徐千洋也归纳骇客经常使用的远端执行攻击手法,像某网站经常性的遭入侵,很可能是该网站存在远端攻击漏洞,比方说热门开发套件Wordpress如果突然爆出来不及修补的零时差漏洞,就很可能遭致骇客攻击。或该网站开放上传外部资料的功能,如传送大头贴、文件等档案。这类允许外部程式执行写入权限是高风险行为,一旦使用者疏忽,攻击就可以将档案写入特定目录,留下后门作为发动攻击的入口。在成功拿下Webshell后,也能植入简单的PHP后门一句话木马,下达攻击指令。乍听之下,网站管理者只能成为骇客的待宰羔羊,徐千洋表示,解法就是利用容器技术强化网站安全。

徐千洋表示,过去利用Unix运行网页伺服器的时代,避免使用root权限执行系统服务是基本的安全守则,碰上非用root权限不可的情况,使用者执行完服务后,也一定要执行权限降低为一般使用者。再者,搭配chroot环境运作网页伺服器也能提高整体安全性,「就像是加上了一把锁」,即便遭受攻击也能将损害限缩在此环镜,而利用Container建立网站,其中安全观念与Unix的操作不谋而合,「容器是chroot的强化版本,照理来讲安全性会更高。」他说。

容器3大安全强化术

徐千洋表示,使用者可透过Docker中内建的3个原生机制,加强使用容器的安全性。第一个安全术是善用命名空间(Username Space),让Container不再使用root权限执行。在去年推出的Docker 1.9.0版本中,Docker就将此机制纳入其中,「即使在Container用root权限执行服务,也并非host主机握有的root权限。」

当Container在运作程式时,位在使用者命名空间的执行环境,系统会透过host主机取得其执行身份。即使在Container中,某使用ID利用root权限执行程式也不会有影响,「因为Username space中,系统会以该使用者真正握有root权限」,但是在Container底下有root权限的帐号,仅是host主机底下的一般权限帐号,「从host主机的角度来看,所有容器下执行的程序都只是一般权限执行而已。」

第二是善用安全机制Capabilities,划分特权帐号所能能执行的数十个程序,一一给予控制。徐千洋表示,虽然此机制早在Linux中就能使用,但是碍于使用者必须要熟悉Unix底层操作,并且具备Linux Kernel的相关之至,「因此一直无法普及。」

利用Capabilities机制,使用者可以将root权限所能执行的功能,向下切割成数十个,让无root权限的使用者也能执行某些程序。举例,在Unix的设计中,使用者如果想要启用数字小于1024的port,必须取得root权限。但是利用Capabilities,不需要透过root权限,就可以让某些服务开启低于1024的port。

最后一招则是Linux内建的安全模组AppArmor,掌管某程式在执行的当下,对于其他档案的操作。例如,如果某档案被限定只能读取,即使使用者取得可以任意读写的root权限,也会被AppArmor所阻挡。

徐千洋也归纳,使用者可以利用3个基本法则,加强网站服务的安全性。第一原则就是避免使用root权限运作服务,「即便使用Container也尽量不要使用root权限。」

再者,不得将网页程式、设定档写入纳入服务执行的权限。他表示,许多开发者会因为使用者群组的设定而轻忽此事。例如网站管理者、网页应用程式拥有者都给予相通的权限,当骇客成功利用远端攻击打入网站时,就可以将许多恶意程式植入其中。但是,要防範此事,「只要让网页应用程式拥有者的权限,跟网站伺服器拥有者的权限不一致即可。」最后则是服务程序具有写入权限的档案不可以被执行。

使用习惯也影响网站安全

但是,除了技术面问题,使用者习惯也是安全的一大考验,「有些使用者就是不信邪,非得要用root权限运作服务」,一旦骇客取得最高权限,不管系统管理者如何抢救都是徒劳无功。

所以针对Container安全强化,徐千洋也提出了几个建议。例如,如果不了解Capabilities机制如何运作,「就将它所有的权限去除」,发现某些程序无法执行,再依序地加回原有的权限。

而容器映像档也是能增进安全的施力点,像是移除不需要的档案及程式,「像是运行微服务、网站伺服器,根本不会用到GCC编译器」,多余的档案只是徒增骇客所能攻击的範围。也因此,开发环境、正式环境中,应要使用不同的容器映像档。再者,如果网站开发使用者上传档案的功能,也必须做出相关管制。侦测到Container中新增了档案,也可呼叫外部防毒系统扫描。一旦侦测到攻击事件,产生Log的记录也要传送到资安监控中心SOC及资安事件管理平台SIEM,「不只是阻挡攻击,还要知道攻击来源为何,以及使用何种攻击手法,这样就可以找到系统内可能存在的漏洞。」

tags:创办人   容器   网页

上一篇  下一篇

相关:

容器用一次就要丟 蛋价可能涨3成

已缓冲2年的动物传染病防治条例第14条的“装载生鲜禽蛋,应使用一次性之装载容器或包材”明天上路,不论散装或盒装的容器,都要用一次就丟,但不影响散装蛋续卖。全球疫情年年愈趋严峻,近期韩国又发生人畜共通的禽

散装蛋续卖有前提 容器用一次就要丟

已缓冲2年的动物传染病防治条例第14条的“装载生鲜禽蛋,应使用一次性之装载容器或包材”明天上路,不论散装或盒装的容器,都要用一次就丟,但不影响散装蛋续卖。全球疫情年年愈趋严峻,近期韩国又发生人畜共通的禽

容器虽热,但市场仍有生死,容器储存供应商ClusterHQ关门大吉

就在容器生态体系正蓬勃发展的时代,容器储存供应商ClusterHQ无预警地在本周四(12/22)宣布将结束营业。ClusterHQ并没有公布关门大吉的主因,执行长Mark Davis仅表示,先锋通常死在暗箭下,而且有时候是自己造成的,

瞄准容器混搭平台,Kubernetes 1.5新版释出,竟然开始支援Windows Server自家容器

暨9月Gogole释出Kubernetes 1.4版本,靠2指令就能部署一套容器丛集,以及新增跨丛集、跨云环境部署后,近日也推出了1.5版,其中的重要亮点在于,它是目前唯一市面上能支援Windows Container的容器调度工具。Google表

容器标准化关键一步,Docker开源containerd元件,4大云端龙头将参与开发

Docker于本周宣布,将Docker Engine中的核心元件containerd独立为新的开放源码专案,包括Alibaba Cloud、AWS、Google、IBM及微软都已承诺愿意成为该专案的贡献者及维护者。此外,明年初containerd将进一步成为中立的

站长推荐: