商城類電商軟件及服務(wù)提供商--HiShop海商,歡迎您!

北京公司| 深圳公司|

注冊(cè)有禮

  云服務(wù)器實(shí)踐:配置安全組(二)

2019-04-29|HiShop|閱讀量:
導(dǎo)讀:云服務(wù)器安全組配置...

 

   云服務(wù)器自帶的安全組設(shè)置可以提供虛擬防火墻功能,達(dá)到重要的安全隔離手段。那么創(chuàng)建ECS云服務(wù)器時(shí)怎么樣來配置安全組呢?上期說到了配置安全組的入網(wǎng)規(guī)則和安全組內(nèi)網(wǎng)通訊的概念,本文接著闡述下安全規(guī)則的屬性。

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

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

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

  安全規(guī)則的屬性

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

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

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

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

  · 規(guī)則描述:

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

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

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

  · IpProtocol 取值為 icmp、gre 或 all 時(shí),端口號(hào)范圍值為 -1/-1,表示不限制端口。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  禁止一條規(guī)則時(shí),您只需要配置一條拒絕策略,并設(shè)置較低的優(yōu)先級(jí)即可。這樣,當(dāng)有需要時(shí),您可以配置其它高優(yōu)先級(jí)的規(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)對(duì)象(SourceCidrIp):0.0.0.0/0。

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

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

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

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

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

  例如,您在安全組 sg-redis 上構(gòu)建了一個(gè) redis 的集群,為了只允許特定的機(jī)器(如 sg-web)訪問這個(gè) 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)對(duì)象(SourceGroupId):sg-web。

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

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

  將需要互相通信的 ECS 實(shí)例加入同一個(gè)安全組

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

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

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

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

  如果您對(duì)阿里云的 OpenAPI 非常熟悉,您可以參考 使用 OpenAPI 彈性管理 ECS 實(shí)例,通過 OpenAPI 進(jìn)行批量操作。對(duì)應(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 實(shí)例移除安全組

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

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

  對(duì)應(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)簽

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

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

  刪除不需要的安全組

  安全組中的安全規(guī)則類似于一條條白名單和黑名單。所以,請(qǐng)不要保留不需要的安全組,以免因?yàn)殄e(cuò)誤加入某個(gè) ECS 實(shí)例而造成不必要的麻煩。

  在安全組的使用過程中,通常會(huì)將所有的云服務(wù)器放置在同一個(gè)安全組中,從而可以減少初期配置的工作量。但從長(zhǎng)遠(yuǎn)來看,業(yè)務(wù)系統(tǒng)網(wǎng)絡(luò)的交互將變得復(fù)雜和不可控。在執(zhí)行安全組變更時(shí),您將無法明確添加和刪除規(guī)則的影響范圍。

  合理規(guī)劃和區(qū)分不同的安全組將使得您的系統(tǒng)更加便于調(diào)整,梳理應(yīng)用提供的服務(wù)并對(duì)不同應(yīng)用進(jìn)行分層。這里推薦您對(duì)不同的業(yè)務(wù)規(guī)劃不同的安全組,并設(shè)置不同的安全組規(guī)則。

 

  【阿里云,阿里巴巴集團(tuán)旗下云計(jì)算品牌,全球卓越的云計(jì)算技術(shù)和服務(wù)提供商。海商(westcoastpropertyservices.com)作為阿里云湖南唯一授權(quán)服務(wù)中心,國(guó)內(nèi)知名商城系統(tǒng)商城網(wǎng)站建設(shè)提供商,專為企業(yè)提供專業(yè)完善電商整體解決方案、微商云、視頻云、醫(yī)療云等,咨詢阿里云服務(wù)器詳情可電聯(lián):18684778716(微信同號(hào))】


  云服務(wù)器實(shí)踐:配置安全組(二)

    產(chǎn)品推薦
    • 社區(qū)新零售
      一款為「社區(qū)團(tuán)購」業(yè)務(wù)模式量身打造的商城系統(tǒng),適用于社區(qū)連鎖門店、社區(qū)服務(wù)型企業(yè)、擁有貨源優(yōu)勢(shì)的商家、連鎖物業(yè)等。通過招募社區(qū)業(yè)主/店主當(dāng)「團(tuán)長(zhǎng)」,建立社區(qū)微信群,在群內(nèi)發(fā)起「團(tuán)購」,以鄰里關(guān)系聚合客源,群內(nèi)互動(dòng)讓復(fù)購率更高。商家集中運(yùn)營(yíng)管理,輕松布局千百個(gè)社區(qū)! 詳情
    關(guān)注HiShop