云服務(wù)器ECS安全性
本文介紹阿里云在面對當(dāng)前的網(wǎng)絡(luò)安全形勢和挑戰(zhàn)時所采取的措施,以及提高用戶在使用賬號、實例、操作系統(tǒng)和資源等方面的安全性所具備的能力。
背景信息
安全涵蓋的范圍廣泛,阿里云保證自身云基礎(chǔ)設(shè)施和服務(wù)的安全,例如機(jī)房、虛擬化平臺等,但您在使用云產(chǎn)品的過程中遵循安全實踐同樣重要,例如阿里云賬號安全、機(jī)密信息保管、權(quán)限控制等。
云產(chǎn)品安全形勢
網(wǎng)絡(luò)安全威脅態(tài)勢
近年來網(wǎng)絡(luò)安全威脅越來越多,各種安全事件頻出,根據(jù)Splunk發(fā)布的《2022年全球網(wǎng)絡(luò)安全態(tài)勢報告》數(shù)據(jù)顯示:
49%的企業(yè)表示,他們在過去兩年中遭受了數(shù)據(jù)泄露,比一年前調(diào)查中的39%有所增加。
79%的受訪者表示,他們遇到過勒索軟件攻擊,35%的受訪者承認(rèn)曾有一次或多次受到攻擊導(dǎo)致其無法訪問數(shù)據(jù)和系統(tǒng)。
59%的安全團(tuán)隊表示,他們必須投入大量時間和資源進(jìn)行補(bǔ)救,這一比例高于一年前的42%。
因網(wǎng)絡(luò)安全事件而遭受計劃外停機(jī)的業(yè)務(wù)關(guān)鍵型工作負(fù)載的平均恢復(fù)時間為14小時,受訪者估計這種停機(jī)的平均損失約為每小時20萬美元。
傳統(tǒng)IT結(jié)構(gòu)向云化架構(gòu)轉(zhuǎn)變,也會帶來新的安全挑戰(zhàn)。可能一個誤操作就會讓自己的應(yīng)用從內(nèi)網(wǎng)訪問變?yōu)楣W(wǎng)訪問或者泄露了自己的密鑰導(dǎo)致信息安全事件。安全和合規(guī)是數(shù)字化轉(zhuǎn)型的基石,也是上云的第一步。
云上信息資產(chǎn)保護(hù)的前提
您需要明確安全戰(zhàn)略的地位,提高足夠的重視度,系統(tǒng)和應(yīng)用安全不是一蹴而就的,需要大量精力持續(xù)投入、持續(xù)建設(shè)。
需要制定一個全局的安全戰(zhàn)略,并規(guī)劃完整的安全防御策略,以使用合適的安全工具以及控件進(jìn)行保護(hù)。
安全性集成到DevOps中。
自動化系統(tǒng)安全防御體系。
深入了解云環(huán)境安全合規(guī)性標(biāo)準(zhǔn)。
除此之外,您需要明確以下內(nèi)容:
對所有信息資產(chǎn)做識別、定義和分類。
定義需要被保護(hù)的資產(chǎn)數(shù)據(jù)。
定義被保護(hù)的資產(chǎn)數(shù)據(jù)的訪問,以及明確訪問的目的是什么。
如何保護(hù)云上信息資產(chǎn)
通常意義上的云計算安全或云安全是指通過一系列策略、控制和技術(shù),共同確保數(shù)據(jù)、基礎(chǔ)設(shè)施和應(yīng)用的安全,保護(hù)云計算環(huán)境免受外部和內(nèi)部網(wǎng)絡(luò)安全威脅和漏洞的影響。越來越多的企業(yè)更加重視云安全合規(guī),云上安全合規(guī)需要有自上而下的頂層設(shè)計,要以安全為出發(fā)點(diǎn)構(gòu)建云上應(yīng)用。
根據(jù)目前的安全趨勢,阿里云推薦您使用如下表所示的安全最佳實踐來保護(hù)云上信息資產(chǎn)的安全。
安全項 | 最佳實踐 | 說明 |
賬號安全 |
| |
應(yīng)用資源管理 |
| |
信息數(shù)據(jù)安全 |
| |
網(wǎng)絡(luò)環(huán)境安全 |
| |
應(yīng)用防護(hù)安全 |
| |
實例內(nèi)GuestOS應(yīng)用系統(tǒng)安全 |
|
阿里云賬號安全
開啟MFA多因素賬號認(rèn)證
建議為阿里云賬號啟用MFA多因素認(rèn)證,即在用戶名和密碼(第一層安全要素)的基礎(chǔ)上,增加了MFA安全碼(第二層安全要素,MFA設(shè)備生成的動態(tài)驗證碼),以提高賬號的安全性。具體操作,請參見啟用MFA。
使用RAM用戶而不是阿里云賬號,并合理設(shè)置權(quán)限策略
確保用戶訪問ECS資源時使用最小化權(quán)限,避免共享賬號或過于寬泛的授權(quán)。使用訪問控制RAM時,建議直接使用阿里云賬號創(chuàng)建RAM用戶(用戶組)并授予特定權(quán)限策略,實現(xiàn)在賬號維度上對云服務(wù)器ECS資源進(jìn)行細(xì)粒度的訪問控制。更多信息,請參見RAM用戶。
RAM用戶
如果您購買了多臺云服務(wù)器ECS實例,您的組織里有多個用戶(例如員工、系統(tǒng)或應(yīng)用程序)需要使用這些實例,您可以創(chuàng)建多個子用戶并通過授權(quán)的方式使部分用戶能夠有權(quán)限使用這些實例,從而避免了將同一個AccessKey分發(fā)給多人的安全風(fēng)險。
用戶組
您可以創(chuàng)建多個用戶組,并授予不同的權(quán)限策略,以提高批量管理的效率。例如,為了加強(qiáng)網(wǎng)絡(luò)安全控制,您可以給某個用戶組授權(quán)一個權(quán)限策略,該策略可以規(guī)定:如果用戶的IP地址不是來自企業(yè)網(wǎng)絡(luò),則拒絕此類用戶請求訪問相關(guān)的ECS資源。
您可以創(chuàng)建多個用戶組來管理不同工作職責(zé)的人員。例如,如果某開發(fā)人員的工作職責(zé)發(fā)生轉(zhuǎn)變,成為一名系統(tǒng)管理員,您可以將其從Developers用戶組移到SysAdmins用戶組。
用戶組的策略
SysAdmins:該用戶組需要創(chuàng)建和管理權(quán)限。您可以給SysAdmins組授予一個權(quán)限策略,該策略授予用戶組成員執(zhí)行所有ECS操作的權(quán)限,包括ECS實例、鏡像、快照和安全組等。
Developers:該用戶組需要使用實例的權(quán)限。您可以給Developers組授予一個權(quán)限策略,該策略授予用戶組成員調(diào)用DescribeInstances、StartInstances、StopInstances、RunInstances和DeleteInstance等權(quán)限。
云產(chǎn)品API調(diào)用使用實例角色而不是AK
一般情況下,ECS實例的應(yīng)用程序是通過阿里云賬號或者RAM用戶的AccessKey訪問阿里云各產(chǎn)品的API。為了滿足調(diào)用需求,需要直接把AccessKey固化在實例中,例如寫在配置文件中。但是這種方式權(quán)限過高,存在泄露信息和難以維護(hù)等問題。因此,阿里云推出了實例RAM角色解決這些問題,一方面可以保證AccessKey安全,另一方面也可以借助RAM實現(xiàn)權(quán)限的精細(xì)化控制和管理。
實例RAM角色(推薦使用加固模式訪問元數(shù)據(jù))允許您將一個角色關(guān)聯(lián)到ECS實例,在實例內(nèi)部基于STS(Security Token Service)臨時憑證(臨時憑證將周期性更新)訪問其他云產(chǎn)品的API。更多信息,請參見實例RAM角色概述。
AK防泄密
阿里云賬號AccessKey是客戶訪問阿里云API的密鑰,請務(wù)必妥善保管。請勿通過任何方式(如GitHub等)將AccessKey公開至外部渠道,以免被惡意利用而造成安全威脅。AccessKey泄露會威脅所有資源的安全,根據(jù)如下AK信息使用的安全建議,可以有效降低AccessKey泄露的風(fēng)險。
您在使用阿里云產(chǎn)品過程中需要遵循以下幾點(diǎn)AK信息使用安全建議,以降低憑證泄露造成的影響:
不要將AccessKey嵌入代碼中。
定期輪換AccessKey。
定期吊銷不需要的AccessKey。
遵循最小權(quán)限原則,使用RAM用戶。
開啟操作日志審計,并將其投遞至OSS和SLS保存和審計。
可以開啟
acs:SourceIp
限定公網(wǎng)IP網(wǎng)段訪問阿里云API。通過設(shè)置
acs:SecureTransport
取值為true,表示通過HTTPS方式訪問阿里云。
賬號、密碼管理安全建議
類別 | 策略說明 |
阿里云賬號 |
|
密鑰、憑據(jù) |
|
密碼 |
|
機(jī)密信息使用KMS安全加固托管 | 機(jī)密數(shù)據(jù)明文落盤存儲會導(dǎo)致泄露風(fēng)險,建議您提前開通密鑰管理服務(wù),無需自行研發(fā)和運(yùn)維密碼設(shè)施,即可在云服務(wù)中使用數(shù)據(jù)加密功能,例如在云服務(wù)器ECS中使用云盤加密、實例可信啟動等功能。 |
規(guī)模化信息資產(chǎn)管理
規(guī)模化、自動化運(yùn)維與審計云上資源,避免因錯誤的配置變更造成例外或單點(diǎn)資產(chǎn)保護(hù)遺漏情況。建議您統(tǒng)一實例、安全組的命名規(guī)范與部署約定,定期檢測、提醒或刪除不符合命名規(guī)范的安全組和實例。使用標(biāo)簽規(guī)模化管理資源、使用云助手自動化運(yùn)維資源通道、使用配置審計對資源進(jìn)行合規(guī)審計。
使用標(biāo)簽規(guī)模化管理資源
使用標(biāo)簽可以規(guī)模化識別、分類和定位云資源。在發(fā)生安全事件時,通過標(biāo)簽可以快速定位安全事件的作用范圍和影響程度。
在配置安全策略時,例如安全組,可以批量為指定標(biāo)簽的資源配置安全組,避免單個資源配置的遺漏。
更多信息,請參見標(biāo)簽。
使用云助手自動化運(yùn)維資源通道
傳統(tǒng)的運(yùn)維通道需要借助SSH取得密鑰進(jìn)行管理,并開放相應(yīng)的網(wǎng)絡(luò)端口。密鑰管理不當(dāng)以及網(wǎng)絡(luò)端口暴露都會對云上資源帶來很大的安全隱患。云助手是專為云服務(wù)器ECS打造的原生自動化運(yùn)維工具,通過免密碼、免登錄、無需使用跳板機(jī)的形式,在ECS實例上實現(xiàn)批量運(yùn)維、執(zhí)行命令(Shell、Powershell和Bat)和發(fā)送文件等操作。典型的使用場景包括:安裝卸載軟件、啟動或停止服務(wù)、分發(fā)配置文件和執(zhí)行一般的命令(或腳本)等。可以幫助客戶安全、高效地運(yùn)維云上資源。通過云助手,可以在云服務(wù)器ECS上實現(xiàn)批量運(yùn)維、執(zhí)行命令和發(fā)送文件等操作;通過云助手Session Manager,可以交互式運(yùn)維ECS實例。以上運(yùn)維操作都無需密碼、無需登錄,ECS實例不需要使用公網(wǎng),也不需要通過跳板機(jī)。通過云助手以下安全機(jī)制保證運(yùn)維通道的安全性:
權(quán)限控制:云助手通過RAM策略,從實例、資源組、標(biāo)簽、源IP地址等多個維度控制用戶對實例的訪問權(quán)限。只有具有權(quán)限的用戶才能通過云助手通道運(yùn)維ECS實例。
鏈路可靠:全鏈路采用HTTPS協(xié)議進(jìn)行交互,傳輸過程中對數(shù)據(jù)進(jìn)行加密。ECS實例入方向采用內(nèi)部安全管控鏈路,無需用戶開放端口,降低被入侵的風(fēng)險;出方向通過內(nèi)網(wǎng)進(jìn)行通信,無需暴露公網(wǎng)即可使用。
內(nèi)容安全:通過云助手通道傳輸?shù)拿顑?nèi)容,通過加密及簽名校驗的方式,確保傳輸過程中無法被篡改,保證命令內(nèi)容的安全性。
日志審計:通過云助手通道傳輸?shù)拿睢⑽募伎梢酝ㄟ^API進(jìn)行審計,用戶可以查詢執(zhí)行的時間、身份、執(zhí)行內(nèi)容、執(zhí)行結(jié)果等信息。同時支持將日志投遞到存儲(OSS)或日志(SLS)等系統(tǒng)中,提供日志歸檔、分析能力。
更多信息,請參見云助手。
使用配置審計(Config)對資源進(jìn)行合規(guī)審計
配置審計(Config)是面向云上資源的審計服務(wù),為用戶提供跨區(qū)域的資源清單和檢索能力,記錄資源的歷史配置快照,形成配置時間線。當(dāng)資源發(fā)生配置變更時,自動觸發(fā)合規(guī)評估,并針對不合規(guī)配置發(fā)出告警。使用戶能夠?qū)崿F(xiàn)對海量云上資源合規(guī)性的自主監(jiān)控,應(yīng)對企業(yè)內(nèi)部和外部合規(guī)的需要。更多信息,請參見配置審計。
創(chuàng)建實例時啟用安全合規(guī)特性
高安全要求業(yè)務(wù)使用增強(qiáng)計算實例
如果您的業(yè)務(wù)面向高安全可信要求的場景,可以使用安全增強(qiáng)型實例,保障實例的可信啟動和實例中隱私數(shù)據(jù)的安全。
支持Intel?SGX加密計算、支持加密內(nèi)存,保障關(guān)鍵代碼和數(shù)據(jù)的機(jī)密性與完整性不受惡意軟件的破壞。
依托TPM/TCM芯片,從底層服務(wù)器硬件到GuestOS的啟動鏈均進(jìn)行度量和驗證,實現(xiàn)可信啟動。
例如,選擇c6t規(guī)格。關(guān)于安全增強(qiáng)型實例的更多信息,請參見安全增強(qiáng)型實例。
滿足三級等保合規(guī)鏡像
阿里云根據(jù)國家信息安全部發(fā)布的《GB/T22239-2019信息安全技術(shù)網(wǎng)絡(luò)安全等級保護(hù)基本要求》中對操作系統(tǒng)提出的一些等級保護(hù)要求,推出自研云原生操作系統(tǒng)Alibaba Cloud Linux等保2.0三級版鏡像。您使用本鏡像無需額外配置即可滿足身份鑒別、訪問控制、安全審計、入侵防范、惡意代碼防范的等保合規(guī)要求。
使用更安全的鏡像
使用公共鏡像并開啟鏡像安全加固
使用官方提供的公共鏡像。
公共實例鏡像啟用免費(fèi)安全加固能力,提供網(wǎng)站漏洞檢查、云產(chǎn)品安全配置檢查、主機(jī)登錄異常告警等安全功能。
使用加密的自定義鏡像
使用國際標(biāo)準(zhǔn)認(rèn)證的AES-256算法對鏡像進(jìn)行加密,避免鏡像丟失后數(shù)據(jù)泄露風(fēng)險。用戶可選擇創(chuàng)建加密的系統(tǒng)盤、數(shù)據(jù)盤,如果云盤是加密云盤,使用該云盤創(chuàng)建的快照也是加密鏡像,或者在對已有的未加密鏡像拷貝時選擇加密,生成的新鏡像為加密鏡像。如果自定義加密鏡像需要共享給其他阿里云賬號時,建議用戶為共享加密鏡像創(chuàng)建獨(dú)立的BYOK密鑰,避免KMS密鑰泄露導(dǎo)致安全風(fēng)險。更多信息,請參見復(fù)制自定義鏡像。
云盤數(shù)據(jù)加密(需開啟KMS)
選擇云盤數(shù)據(jù)加密,能夠最大限度保護(hù)您的數(shù)據(jù)安全,您的業(yè)務(wù)和應(yīng)用程序無需做額外的改動。同時,該云盤生成的快照及這些快照創(chuàng)建的云盤將自動延續(xù)加密屬性。數(shù)據(jù)加密適用于數(shù)據(jù)安全或法規(guī)合規(guī)等場景,幫助您加密保護(hù)存儲在阿里云ECS上的數(shù)據(jù)。無需自建和維護(hù)密鑰管理基礎(chǔ)設(shè)施,您就能保護(hù)數(shù)據(jù)的隱私性和自主性,為業(yè)務(wù)數(shù)據(jù)提供安全邊界。被加密的云盤可以是系統(tǒng)盤和數(shù)據(jù)盤。更多信息,請參見加密云盤。
快照容災(zāi)備份
使用快照備份
數(shù)據(jù)備份是容災(zāi)的基礎(chǔ),可以降低因系統(tǒng)故障、操作失誤以及安全問題而導(dǎo)致數(shù)據(jù)丟失的風(fēng)險。ECS自帶的快照功能可滿足大部分用戶數(shù)據(jù)備份的需求。您可根據(jù)自身業(yè)務(wù)需求選擇創(chuàng)建快照的方式。具體操作,請參見創(chuàng)建快照。
建議您每日創(chuàng)建一次自動快照,每個快照至少保留7天。養(yǎng)成良好的備份習(xí)慣,在故障發(fā)生時可以快速恢復(fù)重要數(shù)據(jù),減少損失。
使用加密的快照
ECS加密采用行業(yè)標(biāo)準(zhǔn)的AES-256加密算法,使用密鑰加密快照,避免快照丟失后數(shù)據(jù)泄露風(fēng)險。您可以選擇創(chuàng)建加密的云盤,如果云盤是加密云盤,使用該云盤創(chuàng)建的快照也是加密快照。
加固模式下訪問實例元數(shù)據(jù)
實例元數(shù)據(jù)包含了ECS實例在阿里云系統(tǒng)中的信息,您可以在運(yùn)行中的實例內(nèi)方便地查看實例元數(shù)據(jù),并基于實例元數(shù)據(jù)配置或管理實例。更多信息,請參見ECS實例元數(shù)據(jù)概述。
建議您在加固模式下使用實例元數(shù)據(jù),加固模式下實例和實例元數(shù)據(jù)服務(wù)器之間建立一個會話,并在查看實例元數(shù)據(jù)時通過Token驗證身份,超過有效期后關(guān)閉會話并清除Token。Token具有以下特點(diǎn):
僅適用于一臺實例。如果將Token文件復(fù)制到其他實例使用,會被拒絕訪問。
必須定義Token的有效期,范圍為1秒~21600秒(6小時)。在有效期內(nèi)可以重復(fù)使用,方便您平衡安全性和用戶體驗。
不接受代理訪問,如果創(chuàng)建Token的請求中包含X-Forwarded-For標(biāo)頭,則拒絕簽發(fā)Token。
向?qū)嵗灠l(fā)的Token數(shù)量沒有限制。
合理設(shè)置網(wǎng)絡(luò)資源權(quán)限隔離
云計算利用專有網(wǎng)絡(luò)VPC(Virtual Private Cloud)來抽象物理網(wǎng)絡(luò)并創(chuàng)建網(wǎng)絡(luò)資源池,實現(xiàn)數(shù)據(jù)鏈路層的隔離,為每個用戶提供一張獨(dú)立隔離的安全網(wǎng)絡(luò)環(huán)境。不同VPC之間內(nèi)部網(wǎng)絡(luò)完全隔離,只能通過對外映射的IP互連。在VPC內(nèi)部,用戶可以自定義IP地址范圍、網(wǎng)段、路由表和網(wǎng)關(guān)等。此外,用戶可以通過VPN網(wǎng)關(guān)、高速通道物理專線、智能接入網(wǎng)關(guān)等服務(wù)將本地數(shù)據(jù)中心和云上VPC打通,也可以通過云企業(yè)網(wǎng)實現(xiàn)全球網(wǎng)絡(luò)互通,從而形成一個按需定制的網(wǎng)絡(luò)環(huán)境,實現(xiàn)應(yīng)用的平滑遷移上云和對數(shù)據(jù)中心的擴(kuò)展。
此外,網(wǎng)絡(luò)是所有云服務(wù)的基礎(chǔ)要素,網(wǎng)絡(luò)攻擊種類多、危害大,是最難防護(hù)的風(fēng)險之一。云計算平臺會提供一套成熟的網(wǎng)絡(luò)安全架構(gòu),以應(yīng)對來自互聯(lián)網(wǎng)的各種威脅。在阿里云上,可以通過安全組、網(wǎng)絡(luò)ACL、路由策略或網(wǎng)絡(luò)專線來控制虛擬網(wǎng)絡(luò)的訪問權(quán)限。除了對內(nèi)網(wǎng)網(wǎng)絡(luò)訪問的控制之外,還需要配置云防火墻、應(yīng)用程序防火墻、DDoS防護(hù)等安全措施,針對各種外部網(wǎng)絡(luò)安全威脅進(jìn)行安全防護(hù)。
網(wǎng)絡(luò)資源隔離的安全建議
網(wǎng)絡(luò)資源隔離的安全建議如下:
建立網(wǎng)絡(luò)管理員,統(tǒng)一管理安全組、網(wǎng)絡(luò)ACL以及流量日志。
使用ACL限制不需要公開的任何內(nèi)容。
網(wǎng)絡(luò)資源隔離,預(yù)設(shè)較大的子網(wǎng),避免子網(wǎng)重疊使用。
圍繞訪問點(diǎn)而不是資源配置安全組。
搭建安全的網(wǎng)絡(luò)環(huán)境
合理設(shè)置安全組,網(wǎng)絡(luò)隔離減少攻擊面
安全組是重要的網(wǎng)絡(luò)安全隔離手段,用于設(shè)置單臺或多臺云服務(wù)器的網(wǎng)絡(luò)訪問控制。通過設(shè)置安全組規(guī)則,可以在網(wǎng)絡(luò)層過濾服務(wù)器的主動/被動訪問行為,限定服務(wù)器對外/對內(nèi)的端口訪問,授權(quán)訪問地址,從而減少攻擊面,保護(hù)服務(wù)器的安全。
例如Linux系統(tǒng)默認(rèn)遠(yuǎn)程管理端口22,不建議直接向外網(wǎng)開放,可以通過配置ECS公網(wǎng)訪問控制,只授權(quán)本地固定IP對服務(wù)器進(jìn)行訪問。如果您對訪問控制有更高要求,可以使用第三方VPN產(chǎn)品對登錄行為進(jìn)行數(shù)據(jù)加密。以下是安全組實踐的安全建議:
安全建議
說明
參考文檔
最小原則
安全組應(yīng)該是白名單性質(zhì)的,所以需盡量開放和暴露最少的端口,同時盡可能少地分配公網(wǎng)IP。如果需要訪問線上機(jī)器進(jìn)行任務(wù)日志或錯誤排查的時,盡量通過VPN或堡壘機(jī)方式登錄。如果配置不當(dāng)可能導(dǎo)致業(yè)務(wù)的端口或者IP暴露在互聯(lián)網(wǎng),造成安全威脅。
利用安全組限制,禁止私網(wǎng)訪問,公網(wǎng)安全組和私網(wǎng)安全組都只保留業(yè)務(wù)需要使用的端口。
ECS上安裝的高危服務(wù)端口,需要限制只允許本機(jī)訪問或者利用安全組限制訪問來源IP。
HTTP服務(wù)的管理后臺,需要利用安全組限制訪問來源IP。HTTP服務(wù)域名則需要開啟云安全中心Web應(yīng)用防火墻WAF(Web Application Firewall)功能。
避免設(shè)置
0.0.0.0/0
授權(quán)對象允許全部入網(wǎng)訪問是經(jīng)常犯的錯誤。使用
0.0.0.0/0
意味著所有的端口都對外暴露了訪問權(quán)限,這是非常不安全的。正確的做法是,拒絕所有的端口對外開放,設(shè)置安全組白名單訪問。例如,如果您需要暴露Web服務(wù),默認(rèn)情況下只開放80、8080和443等常用TCP端口,其他端口都應(yīng)關(guān)閉。關(guān)閉不需要的入網(wǎng)規(guī)則
如果您當(dāng)前使用的入規(guī)則已經(jīng)包含了
0.0.0.0/0
,您需要重新審視自己的應(yīng)用需要對外暴露的端口和服務(wù)。如果確定不需要讓某些端口直接對外提供服務(wù),您可以添加一條拒絕的規(guī)則。例如,您的服務(wù)器上安裝了MySQL數(shù)據(jù)庫服務(wù),默認(rèn)情況下不應(yīng)該將3306端口暴露到公網(wǎng),此時,您可以添加一條拒絕規(guī)則,并將其優(yōu)先級設(shè)置為100,即優(yōu)先級最低。以安全組為授權(quán)對象添加規(guī)則
不同的安全組按照最小原則開放相應(yīng)的出入規(guī)則。對于不同的應(yīng)用分層,應(yīng)該使用不同的安全組,不同的安全組應(yīng)有相應(yīng)的出入規(guī)則。
例如,如果是分布式應(yīng)用,您會區(qū)分不同的安全組,但是不同的安全組可能網(wǎng)絡(luò)不通,此時您不應(yīng)該直接授權(quán)IP或者CIDR網(wǎng)段,而是直接授權(quán)另一個安全組ID,所有的資源都可以直接訪問。
例如,您的應(yīng)用對Web、Database分別創(chuàng)建了不同的安全組sg-web和sg-database。在sg-database中,您可以添加規(guī)則,授權(quán)所有的sg-web安全組的資源訪問您的3306端口。
經(jīng)典網(wǎng)絡(luò)的內(nèi)網(wǎng)安全組規(guī)則不要使用CIDR或者IP授權(quán)
對于經(jīng)典網(wǎng)絡(luò)類型的ECS實例,阿里云默認(rèn)不開啟任何內(nèi)網(wǎng)的入站規(guī)則。內(nèi)網(wǎng)的授權(quán)一定要謹(jǐn)慎。
定義合理的安全組名稱和標(biāo)簽
合理的安全組名稱和描述有助于您快速識別當(dāng)前復(fù)雜的規(guī)則組合,您可以通過修改名稱和描述來幫助自己識別安全組。
您也可以通過為安全組設(shè)置標(biāo)簽來分組管理自己的安全組。您可以在控制臺直接設(shè)置標(biāo)簽,也可以通過API設(shè)置標(biāo)簽。
將需要互相通信的ECS實例加入同一個安全組
一個ECS實例最多可以加入5個安全組,而同一安全組內(nèi)的ECS實例之間是網(wǎng)絡(luò)互通的。如果您在規(guī)劃時已經(jīng)有多個安全組,且直接設(shè)置多個安全規(guī)則過于復(fù)雜,您可以新建一個安全組,然后將需要內(nèi)網(wǎng)通訊的ECS實例加入這個新的安全組。
不建議您將所有的ECS實例都加入同一個安全組,對于一個中大型應(yīng)用來說,每個服務(wù)器所扮演的角色不同,合理地規(guī)劃每個服務(wù)器的入方向請求和出方向請求是非常有必要的。
安全組內(nèi)實例間隔離
安全組是一種虛擬防火墻,具備狀態(tài)檢測和包過濾功能。安全組由同一個地域內(nèi)具有相同安全保護(hù)需求并相互信任的實例組成。為了滿足同安全組內(nèi)實例之間網(wǎng)絡(luò)隔離的需求,阿里云豐富了安全組網(wǎng)絡(luò)連通策略,支持安全組內(nèi)實現(xiàn)網(wǎng)絡(luò)隔離。
使用安全組五元組規(guī)則
安全組用于設(shè)置單臺或多臺ECS實例的網(wǎng)絡(luò)訪問控制,它是重要的網(wǎng)絡(luò)安全隔離手段,用于在云端劃分安全域。安全組五元組規(guī)則能精確控制源IP、源端口、目的IP、目的端口以及傳輸層協(xié)議。
公網(wǎng)服務(wù)的云服務(wù)器和內(nèi)網(wǎng)服務(wù)器盡量屬于不同的安全組
是否對外提供公網(wǎng)服務(wù),包括主動暴露某些端口對外部訪問(例如80、443等),被動地提供端口轉(zhuǎn)發(fā)規(guī)則(例如云服務(wù)器具有公網(wǎng)IP、EIP、NAT端口轉(zhuǎn)發(fā)規(guī)則等),都會導(dǎo)致自己的應(yīng)用可能被公網(wǎng)訪問。
兩種場景的云服務(wù)器所屬的安全組規(guī)則要采用最嚴(yán)格的規(guī)則,默認(rèn)情況下應(yīng)當(dāng)關(guān)閉所有的端口和協(xié)議,僅僅暴露對外提供需要服務(wù)的端口,例如80、443。由于僅對屬于對外公網(wǎng)訪問的服務(wù)器編組,調(diào)整安全組規(guī)則時也比較容易控制。
對于對外提供服務(wù)器編組的職責(zé)應(yīng)該比較明晰和簡單,避免在同樣的服務(wù)器上對外提供其他服務(wù)。例如MySQL、Redis等,建議將這些服務(wù)安裝在沒有公網(wǎng)訪問權(quán)限的云服務(wù)器上,然后通過安全組的組組授權(quán)來訪問。
合理配置安全域隔離企業(yè)內(nèi)部不同安全等級服務(wù)
您可以基于VPC專有網(wǎng)絡(luò),構(gòu)建自定義專屬網(wǎng)絡(luò),隔離企業(yè)內(nèi)部不同安全級別的服務(wù)器,避免互通網(wǎng)絡(luò)環(huán)境下受其他服務(wù)器影響。建議您創(chuàng)建一個專有網(wǎng)絡(luò),選擇自有IP地址范圍、劃分網(wǎng)段、配置路由表和網(wǎng)關(guān)等。然后將重要的數(shù)據(jù)存儲在一個跟互聯(lián)網(wǎng)網(wǎng)絡(luò)完全隔離的內(nèi)網(wǎng)環(huán)境,日常可以用彈性公網(wǎng)IP(EIP)或者跳板機(jī)的方式對數(shù)據(jù)進(jìn)行管理。具體操作,請參見創(chuàng)建和管理專有網(wǎng)絡(luò)。
使用跳板機(jī)或堡壘機(jī)防御內(nèi)部和外部入侵破壞
跳板機(jī)由于其自身的權(quán)限巨大,需要通過工具做好審計記錄,建議直接使用堡壘機(jī),保障網(wǎng)絡(luò)和數(shù)據(jù)不受來自外部和內(nèi)部用戶的入侵和破壞,而運(yùn)用各種技術(shù)手段監(jiān)控和記錄運(yùn)維人員對網(wǎng)絡(luò)內(nèi)的服務(wù)器、網(wǎng)絡(luò)設(shè)備、安全設(shè)備、數(shù)據(jù)庫等設(shè)備的操作行為,以便集中報警、及時處理及審計定責(zé)。
在專有網(wǎng)絡(luò)中,建議將跳板機(jī)分配在專有的虛擬交換機(jī)中,并為其提供相應(yīng)的EIP或者NAT端口轉(zhuǎn)發(fā)表。首先創(chuàng)建專有的安全組SG_BRIDGE,例如開放相應(yīng)的端口,如Linux TCP(22) 或者Windows RDP(3389)。為了限制安全組的入網(wǎng)規(guī)則,可以將能登錄的授權(quán)對象限制為企業(yè)的公網(wǎng)出口范圍,減少被登錄和掃描的概率。然后將作為跳板機(jī)的云服務(wù)器加入到該安全組中。為了讓該機(jī)器能訪問相應(yīng)的云服務(wù)器,可以配置相應(yīng)的組授權(quán)。例如在SG_CURRENT添加一條規(guī)則允許SG_BRIDGE訪問某些端口和協(xié)議。使用跳板機(jī)SSH時,建議您優(yōu)先使用密鑰對而不是密碼登錄。關(guān)于密鑰對的更多信息,請參見SSH密鑰對。
公網(wǎng)IP合理分配,降低公網(wǎng)攻擊風(fēng)險
不論是經(jīng)典網(wǎng)絡(luò)還是專有網(wǎng)絡(luò)(VPC)中,合理地分配公網(wǎng)IP可以讓系統(tǒng)更加方便地進(jìn)行公網(wǎng)管理,同時減少系統(tǒng)受攻擊的風(fēng)險。在專有網(wǎng)絡(luò)的場景下,創(chuàng)建虛擬交換機(jī)時,建議您盡量將需要公網(wǎng)訪問的服務(wù)區(qū)的IP地址區(qū)間放在固定的幾個交換機(jī)(子網(wǎng)CIDR)中,方便審計和區(qū)分,避免不小心暴露公網(wǎng)訪問。
在分布式應(yīng)用中,大多數(shù)應(yīng)用都有不同的分層和分組,對于不提供公網(wǎng)訪問的云服務(wù)器,盡量不提供公網(wǎng)IP,如果有多臺服務(wù)器提供公網(wǎng)訪問,建議您配置公網(wǎng)流量分發(fā)的負(fù)載均衡服務(wù)來提供公網(wǎng)服務(wù),以提升系統(tǒng)的可用性。更多信息,請參見負(fù)載均衡SLB。
當(dāng)您的云服務(wù)器需要訪問公網(wǎng)時,優(yōu)先建議您使用NAT網(wǎng)關(guān),用于為VPC內(nèi)無公網(wǎng)IP的ECS實例提供訪問互聯(lián)網(wǎng)的代理服務(wù),您只需要配置相應(yīng)的SNAT規(guī)則即可為具體的CIDR網(wǎng)段或子網(wǎng)提供公網(wǎng)訪問能力,避免因只需要訪問公網(wǎng)的能力而在分配了公網(wǎng)IP(EIP)之后也向公網(wǎng)暴露了服務(wù)。更多信息,請參見VPN網(wǎng)關(guān)。
使用云安全產(chǎn)品構(gòu)建安全防御體系
網(wǎng)絡(luò)流量攻擊防護(hù):基礎(chǔ)DDoS防御(免費(fèi))與DDoS高防
DDoS(Distributed Denial of Service,即分布式拒絕服務(wù))攻擊指借助于客戶、服務(wù)器技術(shù),聯(lián)合多個計算機(jī)作為攻擊平臺,對一個或多個目標(biāo)發(fā)動攻擊,成倍地提高拒絕服務(wù)攻擊的威力,影響業(yè)務(wù)和應(yīng)用對用戶提供服務(wù)。阿里云云安全中心可以防護(hù)SYN Flood、UDP Flood、ACK Flood、ICMP Flood、DNS Flood、CC攻擊等3到7層DDoS的攻擊。DDoS基礎(chǔ)防護(hù)免費(fèi)提供高達(dá)5 GB的默認(rèn)DDoS防護(hù)能力。
ECS實例默認(rèn)開啟DDoS基礎(chǔ)防護(hù)服務(wù)。使用DDoS基礎(chǔ)防護(hù)服務(wù),無需采購昂貴的清洗設(shè)備,受到DDoS攻擊時不會影響訪問速度,帶寬充足不會被其他用戶連帶影響,保證業(yè)務(wù)的可用性和穩(wěn)定性。ECS實例創(chuàng)建后,您可以設(shè)置清洗閾值,具體操作,請參見設(shè)置流量清洗閾值。
系統(tǒng)漏洞攻擊防護(hù):云安全中心(免費(fèi)版)
云安全中心是一個實時識別、分析、預(yù)警安全威脅的統(tǒng)一安全管理系統(tǒng),通過防勒索、防病毒、防篡改、合規(guī)檢查等安全能力,實現(xiàn)威脅檢測、響應(yīng)、溯源的自動化安全運(yùn)營閉環(huán),保護(hù)云上資產(chǎn)和本地主機(jī),并滿足監(jiān)管合規(guī)要求。
云安全中心自動為您開通免費(fèi)版功能。免費(fèi)版僅提供主機(jī)異常登錄檢測、漏洞檢測、云產(chǎn)品安全配置項檢測,如需更多高級威脅檢測、漏洞修復(fù)、病毒查殺等功能,請前往云安全中心控制臺購買付費(fèi)版。更多信息,請參見云安全中心免費(fèi)版簡介。
應(yīng)用漏洞攻擊防護(hù):云安全中心Web防火墻
云安全中心Web應(yīng)用防火墻(Web Application Firewall,簡稱WAF)基于云安全大數(shù)據(jù)能力實現(xiàn),通過防御SQL注入、XSS跨站腳本、常見Web服務(wù)器插件漏洞、木馬上傳、非授權(quán)核心資源訪問等OWASP常見攻擊,過濾海量惡意CC攻擊,避免您的網(wǎng)站資產(chǎn)數(shù)據(jù)泄露,保證網(wǎng)站的安全與可用性。更多信息,請參見什么是Web應(yīng)用防火墻。
接入Web應(yīng)用防火墻的好處如下:
無需安裝任何軟件、硬件,也無需更改網(wǎng)站配置和代碼,它可以輕松應(yīng)對各類Web應(yīng)用攻擊,確保網(wǎng)站的Web安全與可用性。除了具有強(qiáng)大的Web防御能力外,還可以為指定的網(wǎng)站提供專屬防護(hù)。適用于金融、電商、O2O、互聯(lián)網(wǎng)+、游戲、政府、保險等各類網(wǎng)站的Web應(yīng)用安全防護(hù)。
如果缺少WAF,只有前面介紹的防護(hù)措施,會存在短板,例如在面對數(shù)據(jù)泄露、惡意CC、木馬上傳篡改網(wǎng)頁等攻擊時,不能全面地防護(hù),可能會導(dǎo)致Web入侵。
接入Web應(yīng)用防火墻的具體操作,請參見快速使用WAF。
實例GuestOS系統(tǒng)內(nèi)應(yīng)用安全
實例登錄安全配置
實例登錄賬號權(quán)限默認(rèn)為非root權(quán)限,用戶需要在本地通過su或sudo提權(quán)至root,默認(rèn)狀態(tài)不支持root直接使用pem密鑰文件登錄。建議使用安全的訪問控制協(xié)議訪問ECS主機(jī),并根據(jù)鏡像類型選擇不同的登錄憑證。Linux系統(tǒng)建議配置只支持RSA密鑰對的方式登錄,不支持在控制臺創(chuàng)建口令。Windows系統(tǒng)建議使用8位以上、包含特殊字符的復(fù)雜密碼作為登錄憑證。
Linux實例:
默認(rèn)非root賬號登錄實例
如果您使用系統(tǒng)用戶root登錄Linux操作系統(tǒng)的ECS實例,則可以獲得系統(tǒng)最高權(quán)限。該方式雖然便于您進(jìn)行系統(tǒng)運(yùn)維操作,但如果ECS實例遭到入侵,就會面臨嚴(yán)重的數(shù)據(jù)安全風(fēng)險。建議您使用公共云鏡像Anolis OS 8.4或Ubuntu 20.04,這些鏡像支持將普通用戶ecs-user設(shè)置為登錄用戶名。
使用臨時下發(fā)的SSH密鑰對登錄實例
ECS推薦使用config_ecs_instance_connect插件連接Linux實例,可以將SSH公鑰發(fā)送到指定實例內(nèi)部供指定用戶使用,密鑰保留60秒。在60秒內(nèi),您可以通過SSH公鑰登錄的方式進(jìn)入實例,無需輸入密碼。更多信息,請參見通過config_ecs_instance_connect插件注冊公鑰免密連接Linux實例。
SSH密鑰對通過加密算法生成一對密鑰,默認(rèn)采用RSA 2048位的加密方式。相較于用戶名和密碼認(rèn)證方式,SSH密鑰對具有以下優(yōu)勢:
SSH密鑰對登錄認(rèn)證更為安全可靠。
密鑰對的安全強(qiáng)度遠(yuǎn)高于常規(guī)用戶口令,可以杜絕暴力破解威脅。
不可能通過公鑰推導(dǎo)出私鑰。
便捷性:
如果您將公鑰配置在Linux實例中,在本地或者另外一臺實例中,您可以使用私鑰通過SSH命令或相關(guān)工具登錄目標(biāo)實例,而不需要輸入密碼。
便于遠(yuǎn)程登錄大量Linux實例,方便管理。如果您需要批量維護(hù)多臺Linux實例,推薦使用這種方式登錄。要使用SSH密鑰對登錄Linux實例,您必須先創(chuàng)建一個密鑰對,并在創(chuàng)建實例時指定密鑰對或者創(chuàng)建實例后綁定密鑰對,然后使用私鑰連接實例。
建議配置sshd_config默認(rèn)禁止密碼登錄,只支持RSA密鑰對的方式登錄。在SSH配置文件中修改與密碼登錄相關(guān)的配置選項。
Windows實例:
設(shè)置復(fù)雜的密碼并定期更換。弱口令一直是數(shù)據(jù)泄露的一個大問題,因為弱口令是最容易出現(xiàn)的也是最容易被利用的漏洞之一。服務(wù)器的口令建議至少8位以上,從字符種類上增加口令復(fù)雜度,如包含大小寫字母、數(shù)字和特殊字符等,并且要定期更新口令,養(yǎng)成良好的安全運(yùn)維習(xí)慣。
ECS設(shè)置為強(qiáng)密碼:長度為8~30個字符,且必須同時包含大寫字母、小寫字母、數(shù)字、特殊字符中的任意三種,特殊字符為 ()`~!@#$%^&*_-+=|{}[]:;'<>,.?/ ,其中Windows實例不能以正斜線(/)為首字符。
避免服務(wù)弱口令
如果您的服務(wù)器使用弱口令登錄,黑客可能會非法登錄您的服務(wù)器,竊取服務(wù)器數(shù)據(jù)或破壞服務(wù)器。建議您為服務(wù)器設(shè)置復(fù)雜的登錄口令,并定期提升登錄口令的安全性。口令提升方法:
設(shè)置復(fù)雜口令。
不使用常見或公開的弱口令。
定期修改口令。
常見系統(tǒng)修改弱口令的操作步驟,請參見修改常見的服務(wù)器弱口令。
使用IDaaS認(rèn)證應(yīng)用系統(tǒng)身份權(quán)限
云身份服務(wù) IDaaS(Alibaba Cloud Identity as a Service)是阿里云為企業(yè)用戶提供的云原生的、經(jīng)濟(jì)的、便捷的、標(biāo)準(zhǔn)的身份、權(quán)限管理體系。IDaaS提供一站式組織架構(gòu)、賬戶全生命周期管理、應(yīng)用接入實現(xiàn)單點(diǎn)登錄(SSO),并控制賬號所具備的權(quán)限等能力。更多信息,請參見IDaaS。
數(shù)據(jù)傳輸加密
配置安全組或防火墻,僅允許已經(jīng)對數(shù)據(jù)加密的網(wǎng)絡(luò)服務(wù)的端口之間進(jìn)行通信。可使用傳輸層安全性(TLS1.2及以上版本)等加密協(xié)議加密在客戶端和實例之間傳輸?shù)拿舾袛?shù)據(jù)。
日志異常監(jiān)控與審計
根據(jù)FireEye M-Trends 2018報告,企業(yè)安全防護(hù)管理能力薄弱,尤其是亞太地區(qū)。全球范圍內(nèi)企業(yè)組織的攻擊從發(fā)生到發(fā)現(xiàn)所需時長平均101天,而亞太地域平均需要498天。企業(yè)需要可靠、無篡改的日志記錄與審計支持來持續(xù)縮短這個時間。
建議您使用云監(jiān)控、操作審計、日志審計、VPC流日志、應(yīng)用日志等構(gòu)建一套異常資源、權(quán)限訪問監(jiān)控告警體系,對及時發(fā)現(xiàn)問題、止損、優(yōu)化安全防御體系具有至關(guān)重要的意義。
使用云監(jiān)控設(shè)置賬單報警,防止DDoS攻擊。更多信息,請參見云監(jiān)控。
使用操作審計ActionTrail監(jiān)控未授權(quán)的訪問、識別潛在安全配置錯誤、威脅或意外行為,也用于支持質(zhì)量流程、法律或合規(guī)義務(wù),還可以用于威脅識別和響應(yīng)工作,請使用MFA限制ActionTrail訪問權(quán)限。更多信息,請參見操作審計。
啟用配置VPC流日志記錄VPC網(wǎng)絡(luò)中彈性網(wǎng)卡ENI傳入和傳出的流量信息,使用Flowlog日志中心用于VPC的策略統(tǒng)計、彈性網(wǎng)卡流量統(tǒng)計以及網(wǎng)段間流量統(tǒng)計,幫助您快速、有效地分析VPC流日志。
使用日志審計服務(wù),日志服務(wù)提供一站式數(shù)據(jù)采集、清洗、分析、可視化和告警功能,支持DevOps、運(yùn)營、安全、審計等日志服務(wù)相關(guān)場景。更多信息,請參見日志審計服務(wù)。
跟蹤應(yīng)用事件日志、API調(diào)用日志。
所有日志定期同步到SLS、OSS保存,并設(shè)置好訪問權(quán)限。
添加實例ID、地域、可用區(qū)、環(huán)境(測試、生產(chǎn))的附加信息到日志中存儲,便于排查問題。