玩转ECS第5讲 | 弹性计算安全组最佳实践及新特性介绍
演講嘉賓簡介:王帝(丞浩),阿里云技術專家,2017年10月加入阿里云彈性計算團隊,主要負責網(wǎng)絡安全組的優(yōu)化和演進。
以下內(nèi)容根據(jù)演講視頻以及PPT整理而成。觀看回放
更多課程請進入“玩轉(zhuǎn)ECS詳情頁”了解
使用過ECS的朋友一定不會對安全組陌生,他是ECS實例的虛擬防火墻。配置安全組是創(chuàng)建ECS實例或者發(fā)生網(wǎng)絡屬性變更必不可少的一步。下面我就為大家分享一下安全組的相關內(nèi)容。
本次分享主要圍繞以下三個部分,安全組的簡介,基本操作和最佳實踐。
一、安全組簡介
ECS網(wǎng)絡訪問控制
首先什么是安全組,阿里云ECS的網(wǎng)絡訪問控制,是由子網(wǎng)ACL和安全組兩層實現(xiàn)的。大家知道阿里云提供VPC專有網(wǎng)絡,是用戶獨有的云上私有網(wǎng)絡。VPC專用網(wǎng)絡為用戶獨立出一塊網(wǎng)絡區(qū)域,使得用戶可以自行規(guī)劃自己的網(wǎng)段,在沒有配置公網(wǎng)IP的情況下,VPC是完全與外界隔離的。
交換機綁定網(wǎng)絡ACL,ACL會對應一些控制規(guī)則,所有經(jīng)過交換機的網(wǎng)絡流量都需經(jīng)過這些規(guī)則,一般配置的是黑名單規(guī)則(當然也支持指定白名單),例如不允許哪些網(wǎng)端的數(shù)據(jù)包流入或流出。
再往下一層就是我們今天要講的安全組,相對于子網(wǎng)ACL是生效在交換機上,安全組實例級別的防火墻,生效在ECS上面。所有經(jīng)過用戶的ECS網(wǎng)絡流量都需經(jīng)過安全組。
安全組是一種虛擬防火墻,具備狀態(tài)檢測和數(shù)據(jù)包過濾能力,用于在云端劃分安全域。通過配置安全組規(guī)則,您可以控制安全組內(nèi)ECS實例的入流量和出流量。
安全組是一個邏輯上的分組,由同一地域內(nèi)具有相同安全保護需求并相互信任的實例組成。此外,安全組與子網(wǎng)ACL之間的明顯區(qū)別是安全組具有狀態(tài),安全組會自動允許返回的數(shù)據(jù)流不受任何規(guī)則的影響,簡單來說就是主動請求別人就一定會收到回包。而交換機則不是,入流量也會走一遍所設置的子網(wǎng)ACL規(guī)則,如果被攔截是收不到回包的。有些用戶會將安全組與iptables對比,其實這兩者是獨立的。
阿里建議用戶單獨使用安全組,如果用戶的場景需要配置iptables,ECS也是完全支持的。相對于子網(wǎng)ACL的黑名單方式,安全組一般是白名單。
ECS或彈性網(wǎng)卡必須至少屬于一個安全組,安全組組內(nèi)默認互通可以配置規(guī)則控制網(wǎng)絡聯(lián)通。
二、安全組的基本操作
下面再給大家分享一下在阿里云ECS控制臺是如何操作管理安全組的。
為了方便理解,我們把對安全組的操作暫時分為兩類,組的操作和規(guī)則的操作。
組的操作是針對安全組本身的操作,比如創(chuàng)建、刪除、改名字,以及可能導致安全組內(nèi)IP發(fā)生變化的操作,還有組內(nèi)添加實例網(wǎng)卡、替換組等。規(guī)則的操作則是改變組內(nèi)規(guī)則的操作,比如添加,刪除,修改,克隆等操作。
先說組的操作,比如組內(nèi)加減實例,網(wǎng)卡等操作比較簡單,我們就不特別介紹了,重點介紹一下替換組。
替換組:實例可以從組A替換到組B,在替換過程中不會發(fā)生網(wǎng)絡閃斷或抖動的情況,用戶只需保證新老組的規(guī)則是兼容的,在整個替換過程中不會對網(wǎng)絡有任何的影響和抖動。
再說規(guī)則的操作,我們重點介紹一下還原,導出導入,Classic Link和克隆組。
導出導入:將安全組下載成JSON文件或是CSV文件用于備份。
Classic Link:通過添加一條安全組規(guī)則實現(xiàn)VPC和經(jīng)典網(wǎng)絡之間的網(wǎng)絡聯(lián)通。
克隆組:克隆組支持跨地域或跨網(wǎng)絡類型的安全組復制,可以從經(jīng)典網(wǎng)絡到VPC或是到一個新Regen并快速復制一個組。
三、最佳實踐
最后再給大家介紹一下比較好的安全組配置實踐,比如如何合理的配置規(guī)則,如何使用五元組,如何基于安全組做斷網(wǎng)演練。
安全組規(guī)則格式
首先先介紹一下安全組規(guī)則配置有兩種方式:
CIDR:圖中示例展示,授權(quán)192.168.0.0/24的地址DR機器訪問22端口。
組織授權(quán):圖中示例展示,拒絕另一組訪問的所有端口,完全切斷兩組之間的流量。
以上兩個示例都為入方向規(guī)則,一般情況下不知道對方使用哪個端口接連自己,所以不限制,區(qū)別在于自己任選哪個端口對外暴露給任意對象。
相對于上圖的四元組,阿里也支持五元組。
五元組為五個參數(shù):源地址、源端口、目的地址、目的端口、傳輸層協(xié)議,相比四元組多了目的地址。以入方向規(guī)則為例,使用五元組可以實現(xiàn)不放行整個組,可單獨放行某一個IP段,這樣某些平臺內(nèi)網(wǎng)絡服務為了防范第三方產(chǎn)品對用戶ECS的實例發(fā)起非法訪問,需要在安全組內(nèi)設置五元組規(guī)則,更精確的控制出和入的流量。另外,如果用戶組內(nèi)聯(lián)通策略是拒絕場景,想精確控制組內(nèi)ECS之間的聯(lián)通策略也需要使用五元組。五元組場景較為特殊,而絕大多數(shù)場景四元組是可以勝任的。
規(guī)則配置建議
先規(guī)劃對于分布式應用來說,不同的應用類型應放到不同組中。使用白名單方式管理安全組,不建議用戶使用先加一條低優(yōu)先級全通,再逐條拒絕的方式。要慎用0.0.0.0/0全通策略。遵守規(guī)則最小化配置原則。盡量使用CIDR段,因為單組容量有限,而且CIDR地址段更容易擴展和維護。不限制協(xié)議使用all,不是每個協(xié)議都配一遍。安全組規(guī)則變更非常高危,要認真寫好備注以便于后續(xù)的維護。
潛在高危安全組概覽
阿里云ECS會定期檢查用戶的實例,如果實例暴露在公共環(huán)境并且開放高危端口,阿里會對用戶做出預警,且用戶在資源概覽頁面中可以查看自己的高危安全組。
如何給應用劃分安全組
為了避免測試環(huán)境和正式環(huán)境之間互相干擾,阿里會將測試環(huán)境和正式環(huán)境放在不同VPC中進行隔離。將有公網(wǎng)服務放在一組內(nèi)網(wǎng)服務放在一組。不同應用類型應使用不同安全組,例如Web服務、應用服務、數(shù)據(jù)庫或緩存,都應該放在不同安全組中。下圖中的示例,由于都需使用跳板機,所以都授權(quán)了跳板機組G1,Web服務器需要聯(lián)通應用服務器,應用服務器又需要聯(lián)通數(shù)據(jù)庫,所以分別做了組組授權(quán)。這樣做完網(wǎng)絡安全組的規(guī)劃使得應用分層清晰,便于后續(xù)的維護,同時也滿足了隔離性和安全性的要求。
使用安全組進行斷網(wǎng)演練
基于安全組可進行斷網(wǎng)演練用于高可用容災或混沌工程等場景,如下圖中case,演練數(shù)據(jù)掛掉時系統(tǒng)的表現(xiàn),可以將此DB加入專門的斷網(wǎng)組,斷網(wǎng)組+全阻斷規(guī)格來實現(xiàn)快速規(guī)模化斷網(wǎng)。
拆解斷網(wǎng)過程
創(chuàng)建斷網(wǎng)組:因為組內(nèi)默認聯(lián)通策略是組內(nèi)互通的,所以先改為組內(nèi)不互通。
加入實例:先將演練數(shù)據(jù)庫加入斷網(wǎng)組內(nèi),這時對業(yè)務無任何影響且正常運行。
添加規(guī)則:當真正進行斷網(wǎng)演練時需要執(zhí)行該步驟,給斷網(wǎng)組出和入各加一條全阻斷規(guī)則,加完后此時服務器的流量就會完全被切斷。
刪除規(guī)則:當演練完畢后,需要將全阻斷規(guī)則刪除,即可恢復業(yè)務。
如果需要不定期做容災演練,只需重復步驟三、四即可。
企業(yè)級安全組
傳統(tǒng)安全組組內(nèi)容量上限是2000IP,如要進行更大規(guī)模則需使用企業(yè)組,企業(yè)組支持單組60000以上的IP,未來支持的容量會更多。
典型的企業(yè)組場景例如阿里云的容器服務ACK或是用戶自建K8s集群,其實ECS只是作為S層,ECS之間只需網(wǎng)絡互通即可。容器的網(wǎng)絡訪問控制并不是安全組實現(xiàn)的,而是通過Network Policy等方式來實現(xiàn)的。下圖中的示例顯示是較為常見的部署方式,VPC下掛兩個虛擬交換機分別在兩個可用區(qū)做跨地域容災,將所有實例放入一個組中,無需復雜的規(guī)則配置,只需配置內(nèi)網(wǎng)全通和出方向全通就可實現(xiàn)VPC內(nèi)互通。下圖中只配置了三條規(guī)則,兩條入方向全通和一條出方向全通,這是較為常見的容器服務安全組架構(gòu)。如果用戶不需要組組授權(quán)并且對組內(nèi)的實例規(guī)模有要求,那么請使用企業(yè)級安全組。如果當前傳統(tǒng)組想切換至企業(yè)組,有兩種方式可實現(xiàn),第一種新建一個企業(yè)組后采用替換組的方式將實例逐個挪入到企業(yè)組中,第二種是阿里協(xié)助用戶將原來的傳統(tǒng)組升級成企業(yè)組。
云產(chǎn)品托管安全組
用戶在使用阿里云云產(chǎn)品時,如云防火墻、NAT網(wǎng)關等,云產(chǎn)品都會替用戶創(chuàng)建安全組,為了避免用戶誤操作造成產(chǎn)品不可用,阿里采用了托管模式,托管組即用戶可建不可操作,避免產(chǎn)生問題。
以上是對本次分享的全部,希望對大家有所幫助,謝謝各位。
關注百曉生,笑談云計算
原文鏈接:https://developer.aliyun.com/article/777623?
版權(quán)聲明:本文內(nèi)容由阿里云實名注冊用戶自發(fā)貢獻,版權(quán)歸原作者所有,阿里云開發(fā)者社區(qū)不擁有其著作權(quán),亦不承擔相應法律責任。具體規(guī)則請查看《阿里云開發(fā)者社區(qū)用戶服務協(xié)議》和《阿里云開發(fā)者社區(qū)知識產(chǎn)權(quán)保護指引》。如果您發(fā)現(xiàn)本社區(qū)中有涉嫌抄襲的內(nèi)容,填寫侵權(quán)投訴表單進行舉報,一經(jīng)查實,本社區(qū)將立刻刪除涉嫌侵權(quán)內(nèi)容。總結(jié)
以上是生活随笔為你收集整理的玩转ECS第5讲 | 弹性计算安全组最佳实践及新特性介绍的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: T级内存,创建效率提升10倍以上,阿里云
- 下一篇: 玩转ECS第6讲 | 弹性计算Regio