阿里巴巴集團安全部技術專家王小東跟我們分享一下阿里巴巴安全的實踐。
王小東:各位下午好,非常榮幸參與這次交流,我今天下午給各位帶來的主題演講是關于云計算和安全。為什么把云計算和安全分開說呢?首先我認為做安全往往不能在外端,除了平臺安全以外,我們還應該對平臺本身上的業務也要做安全的保障。所以我們整體解決方案通常都是要適應于平臺以及平臺上業務用戶,所以我們分別看一下云計算的安全和云安全有什么區別。
自主可控。
現在我們國家在講信息安全戰略時都會提到自主可控的方向,阿里云成立于2009年的一家專做云計算的公司,2010年主要將集團內四大應用搬上了云計算。2010年我們將阿里云.com正式上線,第一臺云服務器對外提供服務。逐步通過幾年的發展,阿里云已經建成了一個相對開放的生態,現在有百萬級的用戶在阿里云上跑著。今年我們在中東、歐洲國際化市場、日本都會建立阿里云的數據中心,在中國我們已經有了五個地域有我們的數據中心。
現在員工超過2200人,80%人員都是開發技術人員,我們是相對技術的公司,在北京、杭州都有研發中心,全球各地都會逐步建立起我們的數據中心。
如圖,阿里云總體架構。最底層是機房,ADC、物理服務器。紅色區域是與傳統或其他云計算有所不同的一個特點,是阿里云分布式的云操作系統,在此之上我們做了很多工作,主要解決以下幾大問題:1、設計盤古分布式文件系統,可以實現三副本的保存,實現數據高可用性,里面會有很好的節能型;2、伏羲,解決任務調度的問題,云計算是將成千上萬臺很多計算機連接起來工作,其中調度的任務是非常重要的,因此伏羲是解決這個部分的問題,在100pb排序算法當中,應該比世界最快的能快大概500秒左右的時間。在盤古分布式操作系統之上還有一個模塊是安全管理模塊,所有阿里的安全產品在上線之前都會有這樣的設計,包括安全的設計,包括安全的需求開發,上線的評估。因此作為阿里云非常重要的一個部分我們也有一個單獨模塊來實現云平臺內部安全管理的設計;3、女媧,實現的是我們自動的診斷、修復能力等等。
在飛天平臺上建立起我們其他的一些云的服務,比如我們的ECS、OSS、數據庫操作系統服務器、存儲等等都是基于阿里飛天分布式操作系統建立起來的。
阿里云究竟有一些什么特點?其實阿里云有兩項關鍵技術:1、飛天的5K技術,就是我們有單集成5000臺規模的能力,經歷了大概六年時間,今年會將這個單集成由5000臺升級到1.5萬臺的規模。目前從商用達到的規模角度來講,阿里這是非常大的一個規模;2、大數據分析平臺(ODPS),我們算是獨一無二的,整體跨機房的調動、任務管理、授權、權限都是有非常詳細的設計,比如我們的數據放在ODPS里去跑、去設計,用戶擔心數據都放在大數據平臺,會不會把我們的數據拉走、丟掉,其實做了很多安全機制,數據在這里計算,計算出結果才可以輸出我們的平臺。
電商,雙”十一”對阿里是最大的日子,也是對我們技術人員最大的挑戰。這里主要有大量的業務復雜的環境,還有很多安全攻擊都需要我們去保障、去護航。天貓去年支撐很大的交易額,這里我們的PAAS平臺做到了非常大的支撐作用,我們支持恢復發布,比如現在是1.5版本的,上2.0,可以同時在這里面運行,在里面也會做一鍵部署,比如1萬臺機器一鍵部署,馬上部署好,不需要投入大量人工做這樣一些工作。
阿里云其實想把我們的安全解決方案、整個計算環境、存儲環境都打造成一個不單單替代國外廠商的方案,包括安全在內的完整解決方案。除了硬件設備,我們采用國產的一些硬件設備,網絡服務器的都有,這個基礎之上,云計算平臺、操作系統、大數據、中間件等阿里都有中間件補齊這些內容。阿里巴巴有一套安全防護體系,叫云盾,也是其中我們非常重要的一個組成部分。
安全定位和能力。
10年攻防、百人團隊、構建生態、打造健康、純凈的云計算平臺。去年我們成功抵御了全球最大的攻擊,云盾保護了百萬級用戶的安全,每天有大量的一些DDos攻擊或其他一些攻擊都是我們做了這樣一些抵御。
阿里巴巴集團安全部內有一塊云計算安全,就是所在的部門,主要分為幾塊工作:我們要有安全產品的開發團隊,主要開發的是系統安全產品,網絡安全產品、應用安全產品,我們有后端也有一些安全通用開發,比如后端的安全管理平臺、開放平臺、安全運營平臺等等,是我們第二個團隊,其中還有一些安全研究,主要做一些APP研究、前沿技術、攻防、反欺詐等工作;威脅情報及解決方案團隊;安全推廣團隊和標準和合規團隊,等級保護是我們國家的基本國策,我們也一直在跟進相關保護工作。
云安全其實有兩個保障,我們內部一直在提倡,一方面保障我們云平臺的安全,另一方面保障我們平臺之上業務的安全,所以在這里面我們做了很多的工作,接下來看一下具體的內容。首先和大家一起探討云安全究竟是什么樣的概念?很早之前我們在想云安全是利用云計算來提供的安全能力還是保護云計算的一個安全能力?我們內部來看云計算首先應該是利用云平臺彈性的可擴展的一個能力來提出的核心思想,也就是說我們所有的安全方案都應該是符合這一點的,比如DDos攻擊過來,可以彈性可擴的防護,云的解決方案不應該存在這些問題,應該是彈性可擴展的。系統高可用性,傳統在做邊界安全的時候都會有解決方案,防火墻、APS等等很多的安全設備串在網絡的出口,一方面會對業務的可用性造成很大的壓力,我們安全解決方案通常都是旁路部署對業務影響最低的一個設計模式,云計算也應該符合高可用的要求;云平臺應該用大數據的技術來分析原來我們沒有辦法做到的,我們現在很多企業都做安全管理平臺,收集到很多安全日志、安全數據,但是能夠保存多久?其實日志量越大、收集的越多,保存的周期會有很大的挑戰。數據收過來了,怎么去分析?怎么找到真正的問題?其實也是我們面臨的一個很大問題,我想應該用大數據的問題解決現有的安全問題也是云安全應該要做的一些內容。
我們公有云的服務打造成一個賓館模式,可以把它理解成五星級的酒店,也有四星級、三星級的,它的服務水平、安全能力會有所差別,這是我們在整體設計過程當中都會遵循考慮或設計的一些內容。在整體云安全防御體系里,縱深防御概念仍然存在,我們需要繼續擴展、豐富、沿用下來。第一個是云安全的防御體系,保障用戶平臺的安全。這里阿里云盾防御體系,在網絡安全上要能夠有抵御DDos、網絡入侵的能力,在主機上能夠抵御主機的入侵,能夠抵御暴力破解。如果服務向互聯網發布出來之后,最大的風險其實不是DDos攻擊,很多時候都會被破解,會去不斷嘗試,所以防暴力破解也是其中很大的一部分工作。這臺機器在公有云上面,一般在北京分布,忽然在芝加哥去分布的,這時候可能代表你的機器有一些異常的行為,需要去報警、需要我們聯合去檢測來發現并排查一些問題。在應用層也和我們原有方案一樣,我們應該有主動發現安全問題的能力,去搜索、掃描我們應用系統存在的安全漏洞,在這里我們提供了外部應用防火墻和外部分析。之前會有一個數據庫防火墻,實現了數據庫防控機制。
云計算平臺也應該是安全的,這個安全的保障不是在外圍做一些防御就OK,我們需要在平臺內部也要做安全的設計和開發的一些工作。比如我們的ECS在設計的時候是不是應該增加一些安全的特性和功能?舉例,涉密信息的防御,上了云以后和傳統環境不一樣的地方是有租戶的概念,A租戶租了一片空間,他退出了,走了,但是他的數據會在云里面有,雖然在云當中的數據是分篇保存,但是如果B租戶不進來,不做簽名的話,可能會出現一個風險,數據會被恢復出一部分。所以我們的服務器是A租戶退出以后,將它簽名,才能給到B租戶,這些設計統統為了保障平臺安全而做的內容,包括三副本的技術,盤古系統可以做到非常高數據可用性的能力,還有一些APC的隔離,安全隔離是一個要點,APC技術可以實現二級的隔離。
云操作系統的安全,即飛天操作系統也應該是安全的。在所有物理服務器上面都會針對我們的物理服務器做安全加固,然后部署我們的防入侵的模塊,里面會有砂箱的機制,所有的進程都是跑在砂箱里的。信息安全不僅是技術的一個問題,很多時候是管理的問題。
多租戶隔離。講到云計算,多租戶肯定跑不掉,CPU內存、存儲、網絡等等都需要隔離,做多租戶隔離的時候考慮一些革新的點。網絡需要做訪問控制,訪問控制怎么做?我們有安全組的虛擬防火墻,實現最基本的防護控制,什么樣的能過,什么樣的不可以過,這實現了云服務器的隔離。還有其他的隔離是通過標簽打標記,或者基于身份認證的訪問控制技術來實現整體云平臺的一些隔離手段。
入侵是什么?防入侵從幾個角度來看:物理網絡,整個網絡的結構也像原來一樣,會把端口做一些控制,設置一些非法的接入,我們的路由器默認是回收,只有上層虛擬網絡可以出去。宿主機上面做了一些操作,操作系統內核和組件都是精簡的,符合業務安全規范等等一系列有保護。針對虛擬化來說還有非常重要的一個技術就是砂箱的技術,所有的程序和進程都是跑在我們的砂箱里,每個租戶都有這樣一個內容來實現它的隔離。
飛天整個云操作系統的安全其實做到了幾層內容,一個用戶也好,一個進程要訪問我們的飛天或下層資源的時候都要經過:要經過認證,有一個認證中心檢測它是不是可以接受訪問,首先就會做認證。認證通過之后,就會看這個用戶或這個進程有什么樣的權限,能夠做什么,就會下到權限管理中心,看看它能做哪些權限。有了權限之后就可以再往下其訪問跑在砂箱里的進程還是其他一些文件,去訪問文件。這是整個過程。
剛才講到安全開發,大量信息安全問題其實由于在開發過程中一些設計的缺陷、編碼的缺陷造成的,我們現在在需求開發階段安全就會介入做一些需求的分析、威脅的建模、設計,直到上線前的安全檢測。在整體上,飛天、云產品等等都是覆蓋我們安全開發規范的。
云平臺安全里面還有一點是高可用性,我們要通過補丁修復技術保證用戶業務不受中斷。補丁修復通常有兩種,冷補丁和熱補丁,冷補丁需要服務器中斷打補丁,還有停止業務;熱補丁修復業務部需要停止服務,可以通過正常服務去工作。阿里云是支持熱補丁修復技術,可以在服務器服務不中斷情況下對這些服務進行補丁的修復。今年年初的時候有一個案例XXA123的補丁,這個問題可以造成一些用戶可以獲取其他用戶的一些數據,就會導致數據的泄露。阿里云是通過熱補丁修復的技術將這些補丁打上。大家在看到Z曝出高危漏洞的時候,我們提前10-14天拿到一些漏洞的信息,你看到的時候其實已經修補掉了這些問題。
詳細介紹一下虛擬專有網絡。現在云計算有公有云、私有云、混合云,有很多模式,相信未來混合云是一個大的方向,如何將公有云上的資源更好為我們所服務,其實在這其中就可以應用到VPC的技術。比如在公有云上租了一片空間,幾百臺機器對互聯網發布的業務,自己數據中心里面做內部辦公的業務活數據處理一些業務,互聯網只做發布,所以我們可以通過VPC技術將云上的數據中心和線下的數據中心形成一個打通。VPC很好解決了數據的隔離問題,VPC實現的是二層隔離,防火墻實現的是三層隔離。在VPC的內部,IP地址是可以自定義的,傳統云計算里面,經典網絡都是大熱層網絡,IP地址用戶不可以自定義。
我們參與很多標準制定工作,包括云計算的基本要求和”等保”的一些設計要求我們都參與其中。其中我們也做了很多工作,去年年底公有云上一個部委級的網站通過等保三級的測評。去年年底發生的一個事情,2014年12月20號,阿里云上一個游戲客戶遭受到了世界最大的DDos攻擊,453.8G的攻擊在250G以內都是云盾自動處理、侵襲這些惡意流量,當我們發現這個攻擊已經非常高的時候,我們人工介入逐步將這些惡意流量清洗掉。十幾分鐘就打到了300G的流量,按照傳統防御手段可能很快就會打趴下了,因為一方面受制于我們帶寬問題,另一方面受制于設備瓶頸問題。
云盾體系,最早也是在阿里巴巴集團內部為內部系統提供一些服務,也是逐步推出來對外提供服務。直到今年為止我們逐步將云盾這套體系加入進來。
云盾解決三大問題:1、DDos攻擊。2、入侵防御,從幾個層次來講,網絡上我們會有網絡上入侵防御的措施,實時會去攔截網絡的入侵;在主機上也部署的主機防入侵模塊;APP攻擊防御,未來我們會在云盾里面增加APP攻擊檢測和防御部分的一些能力。3、弱點分析能力,除了能夠防還要能夠檢測我們的一些問題,所以里面有一些針對應用系統的安全檢測措施和能力。4、態勢感知安全管理,我們會將大數據技術應用到云平臺之上,會檢測多維度日志進行關聯分析,分析出這些安全的問題,去看究竟我們現在的網絡狀態是什么樣的。5、關于內容安全的過濾和檢測,網絡上有很多色情、暴力的內容,尤其像阿里云提供公共云計算服務的提供商,對很多”站崗”也構成一些影響,比如掛馬,給你一個其他鏈接,在你的網站里放一些反動、色情也好,對它也有一些影響,在阿里云內部有一些體系做到事前、事中、事后的防御。事前主要是我們綠網技術,能夠檢測非法一些黃賭毒的信息;我們應用爬蟲技術將非法信息搜到我們的指南庫里,未來會做一些對比,去處理這些問題;事后被動防御,我們會為所有阿里云一些流量檢測里面有沒有色情或其他一些信息。這是關于內容安全上的一些防護。6、云安全里面大數據是非常重要的一個點,我們將所有的網絡流量全部分包分流過來,結合安全日志,利用大數據分析平臺做安全運算,來計算有什么樣的問題。目前為止利用大數據分析平臺抓云備、抓僵尸網絡。
回顧阿里云安全的特點,自主可控,有十多年的安全攻防經驗,加上大數據一些能力和我們在合規方面的的一些能力,希望給用戶或阿里云的伙伴提供更好的一個安全的能力。
謝謝大家!