溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

授權(quán)、撤銷安全組規(guī)則的方法

發(fā)布時間:2020-08-27 14:54:10 來源:億速云 閱讀:172 作者:小新 欄目:建站服務(wù)器

這篇文章給大家分享的是有關(guān)授權(quán)、撤銷安全組規(guī)則的方法的內(nèi)容。小編覺得挺實用的,因此分享給大家做個參考。一起跟隨小編過來看看吧。

本文將介紹安全組的以下幾個內(nèi)容:

授權(quán) 和 撤銷 安全組規(guī)則。

加入安全組 和 離開安全組。

阿里云的網(wǎng)絡(luò)類型分為 經(jīng)典網(wǎng)絡(luò) 和 VPC,它們對安全組支持不同的設(shè)置規(guī)則:

如果是經(jīng)典網(wǎng)絡(luò),您可以設(shè)置以下幾個規(guī)則:內(nèi)網(wǎng)入方向、內(nèi)網(wǎng)出方向、公網(wǎng)入方向和公網(wǎng)出方向。

如果是 VPC 網(wǎng)絡(luò),您可以設(shè)置:入方向 和 出方向。

安全組內(nèi)網(wǎng)通訊的概念

本文開始之前,您應(yīng)知道以下幾個安全組內(nèi)網(wǎng)通訊的概念:

默認只有同一個安全組的 ECS 實例可以網(wǎng)絡(luò)互通。即使是同一個賬戶下的 ECS 實例,如果分屬不同安全組,內(nèi)網(wǎng)網(wǎng)絡(luò)也是不通的。這個對于經(jīng)典網(wǎng)絡(luò)和 VPC 網(wǎng)絡(luò)都適用。所以,經(jīng)典網(wǎng)絡(luò)的 ECS 實例也是內(nèi)網(wǎng)安全的。

如果您有兩臺 ECS 實例,不在同一個安全組,您希望它們內(nèi)網(wǎng)不互通,但實際上它們卻內(nèi)網(wǎng)互通,那么,您需要檢查您的安全組內(nèi)網(wǎng)規(guī)則設(shè)置。如果內(nèi)網(wǎng)協(xié)議存在下面的協(xié)議,建議您重新設(shè)置。

允許所有端口;

授權(quán)對象為 CIDR 網(wǎng)段 (SourceCidrIp):0.0.0.0/0 或者 10.0.0.0/8 的規(guī)則。

如果是經(jīng)典網(wǎng)絡(luò),上述協(xié)議會造成您的內(nèi)網(wǎng)暴露給其它的訪問。

如果您想實現(xiàn)在不同安全組的資源之間的網(wǎng)絡(luò)互通,您應(yīng)使用安全組方式授權(quán)。對于內(nèi)網(wǎng)訪問,您應(yīng)使用源安全組授權(quán),而不是 CIDR 網(wǎng)段授權(quán)。

安全規(guī)則的屬性

安全規(guī)則主要是描述不同的訪問權(quán)限,包括如下屬性:

Policy:授權(quán)策略,參數(shù)值可以是 accept(接受)或 drop(拒絕)。

Priority:優(yōu)先級,根據(jù)安全組規(guī)則的創(chuàng)建時間降序排序匹配。規(guī)則優(yōu)先級可選范圍為 1-100,默認值為 1,即最高優(yōu)先級。數(shù)字越大,代表優(yōu)先級越低。

NicType:網(wǎng)絡(luò)類型。如果只指定了 SourceGroupId 而沒有指定 SourceCidrIp,表示通過安全組方式授權(quán),此時,NicType 必須指定為 intranet。

規(guī)則描述:

IpProtocol:IP 協(xié)議,取值:tcp | udp | icmp | gre | all。all 表示所有的協(xié)議。

PortRange:IP 協(xié)議相關(guān)的端口號范圍:

IpProtocol 取值為 tcp 或 udp 時,端口號取值范圍為 1~65535,格式必須是“起始端口號/終止端口號”,如“1/200”表示端口號范圍為1~200。如果輸入值為“200/1”,接口調(diào)用將報錯。

IpProtocol 取值為 icmp、gre 或 all 時,端口號范圍值為 -1/-1,表示不限制端口。

如果通過安全組授權(quán),應(yīng)指定 SourceGroupId,即源安全組 ID。此時,根據(jù)是否跨賬號授權(quán),您可以選擇設(shè)置源安全組所屬的賬號 SourceGroupOwnerAccount;

如果通過 CIDR 授權(quán),應(yīng)指定 SourceCidrIp,即源 IP 地址段,必須使用 CIDR 格式。

授權(quán)一條入網(wǎng)請求規(guī)則

在控制臺或者通過 API 創(chuàng)建一個安全組時,入網(wǎng)方向默認 deny all,即默認情況下您拒絕所有入網(wǎng)請求。這并不適用于所有的情況,所以您要適度地配置您的入網(wǎng)規(guī)則。

比如,如果您需要開啟公網(wǎng)的 80 端口對外提供 HTTP 服務(wù),因為是公網(wǎng)訪問,您希望入網(wǎng)盡可能多訪問,所以在 IP 網(wǎng)段上不應(yīng)做限制,可以設(shè)置為 0.0.0.0/0,具體設(shè)置可以參考以下描述,其中,括號外為控制臺參數(shù),括號內(nèi)為 OpenAPI 參數(shù),兩者相同就不做區(qū)分。

網(wǎng)卡類型(NicType):公網(wǎng)(internet)。如果是 VPC 類型的只需要填寫 intranet,通過 EIP 實現(xiàn)公網(wǎng)訪問。

授權(quán)策略(Policy):允許(accept)。

規(guī)則方向(NicType):入網(wǎng)。

協(xié)議類型(IpProtocol):TCP(tcp)。

端口范圍(PortRange):80/80。

授權(quán)對象(SourceCidrIp):0.0.0.0/0。

優(yōu)先級(Priority): 1。

注意:上面的建議僅對公網(wǎng)有效。內(nèi)網(wǎng)請求不建議使用 CIDR 網(wǎng)段,請參考 經(jīng)典網(wǎng)絡(luò)的內(nèi)網(wǎng)安全組規(guī)則不要使用 CIDR 或者 IP 授權(quán)。

禁止一個入網(wǎng)請求規(guī)則

禁止一條規(guī)則時,您只需要配置一條拒絕策略,并設(shè)置較低的優(yōu)先級即可。這樣,當(dāng)有需要時,您可以配置其它高優(yōu)先級的規(guī)則覆蓋這條規(guī)則。例如,您可以采用以下設(shè)置拒絕 6379 端口被訪問。

網(wǎng)卡類型(NicType):內(nèi)網(wǎng)(intranet)。

授權(quán)策略(Policy):拒絕(drop)。

規(guī)則方向(NicType):入網(wǎng)。

協(xié)議類型(IpProtocol):TCP(tcp)。

端口范圍(PortRange):6379/6379。

授權(quán)對象(SourceCidrIp):0.0.0.0/0。

優(yōu)先級(Priority):100。

經(jīng)典網(wǎng)絡(luò)的內(nèi)網(wǎng)安全組規(guī)則不要使用 CIDR 或者 IP 授權(quán)

對于經(jīng)典網(wǎng)絡(luò)的 ECS 實例,阿里云默認不開啟任何內(nèi)網(wǎng)的入規(guī)則。內(nèi)網(wǎng)的授權(quán)一定要謹慎。

為了安全考慮,不建議開啟任何基于 CIDR 網(wǎng)段的授權(quán)。

對于彈性計算來說,內(nèi)網(wǎng)的 IP 經(jīng)常變化,另外,這個 IP 的網(wǎng)段是沒有規(guī)律的,所以,對于經(jīng)典網(wǎng)絡(luò)的內(nèi)網(wǎng),建議您通過安全組授權(quán)內(nèi)網(wǎng)的訪問。

例如,您在安全組 sg-redis 上構(gòu)建了一個 redis 的集群,為了只允許特定的機器(如 sg-web)訪問這個 redis 的服務(wù)器編組,您不需要配置任何 CIDR,只需要添加一條入規(guī)則:指定相關(guān)的安全組 ID 即可。

網(wǎng)卡類型(NicType):內(nèi)網(wǎng)(intranet)。

授權(quán)策略(Policy):允許(accept)。

規(guī)則方向(NicType):入網(wǎng)。

協(xié)議類型(IpProtocol):TCP(tcp)。

端口范圍(PortRange):6379/6379。

授權(quán)對象(SourceGroupId):sg-web。

優(yōu)先級(Priority):1。

對于 VPC 類型的實例,如果您已經(jīng)通過多個 VSwitch 規(guī)劃好自己的 IP 范圍,您可以使用 CIDR 設(shè)置作為安全組入規(guī)則;但是,如果您的 VPC 網(wǎng)段不夠清晰,建議您優(yōu)先考慮使用安全組作為入規(guī)則。

將需要互相通信的 ECS 實例加入同一個安全組

一個 ECS 實例最多可以加入 5 個安全組,而同一安全組內(nèi)的 ECS 實例之間是網(wǎng)絡(luò)互通的。如果您在規(guī)劃時已經(jīng)有多個安全組,而且,直接設(shè)置多個安全規(guī)則過于復(fù)雜的話,您可以新建一個安全組,然后將需要內(nèi)網(wǎng)通訊的 ECS 實例加入這個新的安全組。

安全組是區(qū)分網(wǎng)絡(luò)類型的,一個經(jīng)典網(wǎng)絡(luò)類型的 ECS 實例只能加入經(jīng)典網(wǎng)絡(luò)的安全組;一個 VPC 類型的 ECS 實例只能加入本 VPC 的安全組。

這里也不建議您將所有的 ECS 實例都加入一個安全組,這將會使得您的安全組規(guī)則設(shè)置變成夢魘。對于一個中大型應(yīng)用來說,每個服務(wù)器編組的角色不同,合理地規(guī)劃每個服務(wù)器的入方向請求和出方向請求是非常有必要的。

在控制臺上,您可以根據(jù)文檔 加入安全組 的描述將一個實例加入安全組。

如果您對阿里云的 OpenAPI 非常熟悉,您可以參考 使用 OpenAPI 彈性管理 ECS 實例,通過 OpenAPI 進行批量操作。對應(yīng)的 Python 片段如下。

def join_sg(sg_id, instance_id):
    request = JoinSecurityGroupRequest()
    request.set_InstanceId(instance_id)
    request.set_SecurityGroupId(sg_id)
    response = _send_request(request)
    return response
# send open api request
def _send_request(request):
    request.set_accept_format('json')
    try:
        response_str = clt.do_action(request)
        logging.info(response_str)
        response_detail = json.loads(response_str)
        return response_detail
    except Exception as e:
        logging.error(e)

將 ECS 實例移除安全組

如果 ECS 實例加入不合適的安全組,將會暴露或者 Block 您的服務(wù),這時您可以選擇將 ECS 實例從這個安全組中移除。但是在移除安全組之前必須保證您的 ECS 實例已經(jīng)加入其它安全組。

注意:將 ECS 實例從安全組移出,將會導(dǎo)致這個 ECS 實例和當(dāng)前安全組內(nèi)的網(wǎng)絡(luò)不通,建議您在移出之前做好充分的測試。

對應(yīng)的 Python 片段如下。

def leave_sg(sg_id, instance_id):
    request = LeaveSecurityGroupRequest()
    request.set_InstanceId(instance_id)
    request.set_SecurityGroupId(sg_id)
    response = _send_request(request)
    return response
# send open api request
def _send_request(request):
    request.set_accept_format('json')
    try:
        response_str = clt.do_action(request)
        logging.info(response_str)
        response_detail = json.loads(response_str)
        return response_detail
    except Exception as e:
        logging.error(e)

定義合理的安全組名稱和標(biāo)簽

合理的安全組名稱和描述有助于您快速識別當(dāng)前復(fù)雜的規(guī)則組合。您可以通過修改名稱和描述來幫助自己識別安全組。

您也可以通過為安全組設(shè)置標(biāo)簽分組管理自己的安全組。您可以在控制臺直接 設(shè)置標(biāo)簽,也通過 API 設(shè)置標(biāo)簽。

刪除不需要的安全組

安全組中的安全規(guī)則類似于一條條白名單和黑名單。所以,請不要保留不需要的安全組,以免因為錯誤加入某個 ECS 實例而造成不必要的麻煩。

感謝各位的閱讀!關(guān)于授權(quán)、撤銷安全組規(guī)則的方法就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI