2023年2月28日 星期二

AWS Region與VPC關係介紹及NACL與SG介紹和網路安全配置

一、以下為Region與VPC關係介紹

  1. Region(地區):雲端商會在世界各大地區建立基礎設施,例如東京,而一個實體地區 的概念對到AWS的架構中,即為Region。

  2. Availability Zone(邏輯資料中心):簡稱AZ一個Region上面可以有三個AZ,但其為 邏輯資料中心,故還不是一個實體的對應,一個AZ中會有多個實體資料中心, 也就是實際放上主機與硬體設備的地方。

  3. VPC(虛擬的網路區域):虛擬資源將放入這個網路區域進行管理,例如EC2, VPC會幫我們管理其中的網路流通。

  4. Subnet(更小單位的虛擬網路區域):每個VPC中可以涵蓋多個Subnet,而每個Subnet都會 對應到一個AZ。




二、以下為NACL與SG的介紹

  1. Network Access Control List(網路存取控制清單):簡稱NACL,用於規範何種請求可以進出 指定之Subnet,當請求想進出在Private Subnet內的EC2時,會遇到Subnet階層的保護工具, 也就是NACL,當成功通過NACL的規範後,請求可以繼續往裡面走。

  2. Security Group(安全組):簡稱SG,是一個類似防火牆規範的工具,當請求通過NACL後, 必須再通過此規範(SG),才能進到EC2。 


從【EC2發出請求】的角度看,請求離開EC2時第一層會先遇到SG,離開SG時不需再驗證一次, 因SG是一個stateful的工具,因此它能記得該請求從哪來且允許過該請求進來,離開時便不會再驗證一次, 通過後,第二層會遇到NACL,必須獲得NACL允許,才能成功出去,最後到達目的地IP。


三、VPC安全SG和NACL網路安全配置的設定

在進行SG和NACL設置練習前,必須先將環境建立好,才能進行,因此前面會先進行VPC、 Subnet、Internet Gateway及EC2的建立方法

  1. 首先須建立VPC,於AWS介面上方搜尋VPC並點擊

  2. 點擊左方「您的VPC」

  3. 接著確認地區後點擊右上方「建立VPC」

  4. 這邊可以自訂自己的VPC名稱、給VPC一個網路空間10.1.0.0/16,其他皆為預設

  5. 之後按下「建立VPC」 C:\Users\g-achisu\AppData\Local\Microsoft\Windows\INetCache\Content.Word\05.jpg

  6. 接著回到左邊選單,點擊「子網路」

  7. 一樣確認地區後,點擊右上方「建立子網路」

  8. VPC選擇剛剛建立的noctest-01

  9. 自訂子網路名稱、可用區、並給Subnet一個小於VPC的網路空間10.1.1.0/24

  10. 最後按下建立子網路,即可完成子網路的建立

  11. 為了讓Subnet變成public,則必須建立Internet Gateway,點擊左邊選單的「網際網路閘道」

  12. 一樣確認地區後,點擊右上方「建立網際網路閘道」

  13. 自訂名稱後,按下「建立網際網路閘道」

  14. 可以看到建立好的Internet Gateway為Detached狀態,代表還未被任何VPC使用, 此時需勾選該Internet Gateway後點擊右上方動作→連線至VPC

  15. VPC選擇剛剛建立好的noctest-01,然後點擊「連線網際網路閘道」

  16. 即可看到狀態變更為Attached,代表Internet Gateway已經被此VPC使用

  17. 接著回到左側選單點擊「子網路」,勾選剛剛建立的subnet,點擊下方的「路由表」後 再點擊下方的「路由表」

  18. 可將其更改好辨認的名稱,之後看到下方路由有預設的VPC位置,此時點擊右邊「編輯路由」

  19. 點擊「新增路由」

  20. 目的地選擇0.0.0.0/0,讓它能去任何地方,目標選擇「網際網路閘道」,再選擇剛剛 建立的Internet Gateway,然後按右下方「儲存變更」

  21. 此時可以看到下方路由這邊,已經完成剛剛的設定,去internet時會導到剛剛建立 的Internet Gateway

  22. 接著我們要建立EC2,首先上方搜尋EC2後點選EC2下方的執行個體

  23. 確認好地區後,點擊右上方「啟動新執行個體」

  24. 由於本篇主要介紹VPC的練習,因此創建EC2的部分就不詳細說明,只須注意網路設定 這邊,點擊「編輯」,VPC、子網路選擇剛剛建立好的,自動指派公有IP選擇啟用

  25. 防火牆的部分選擇建立安全群組,下方點擊「新增安全群組」,類型選擇所有ICMP – IPv4, 來源選擇隨處,即可允許外界ping這台主機,接著點擊右邊「啟動執行個體」


  26. 此時EC2就已建立完成,接著記下這台主機的公有IP,因為待會要測試是否能ping到這台 主機時,就會ping這個IP

  27. 此時先確認是否能ping到,確認可以後

  28. 於上方搜尋VPC,進入後點選左邊網路ACL (NACL)

  29. 可以看到此NACL被剛剛建立的subnet使用,勾選後點擊下方「傳入規則(Inbound Rules)」, 再點擊右邊的「編輯傳入規則」

  30. 將允許所有請求的規則移除

  31. 此時回來ping便可發現是無法連線的

  32. 再次回來「編輯傳入規則」,新增規則,使所有請求被允許


  33. 此時回來ping得知恢復可連線狀態

  34. 接著測試傳出規則(Outbound Rules),一樣在NACL勾選後,點擊下方「傳出規則」, 再點擊右邊「編輯傳出規則」

  35. 將允許所有請求的規則移除

  36. 此時回來ping便可發現是無法連線的,儘管NACL允許所有進入的請求,但卻不允許傳出, 因此一樣收不到回應

  37. 再次回來「編輯傳出規則」,新增規則,使所有請求被允許


  38. 此時回來ping得知恢復可連線狀態

  39. 再來要進行安全組(SG)的練習,首先於上方搜尋EC2,點擊執行個體

  40. 找到並勾選剛剛建立的EC2,點擊下方的安全性,再點擊下方安全群組

  41. 找到下方傳入規則,點擊「編輯傳入規則」

  42. 可以看到SG的傳入規則(Inbound Rules)目前允許所有請求都可以透過ICMP,ping連進來, 所以我們現在要將ICMP的規則先刪除後儲存規則

  43. 可以看到這時ping無法連線

  44. 再次回來「編輯傳入規則」,新增規則,使所有請求被允許


  45. 此時回來ping得知恢復可連線狀態

  46. 接著測試傳出規則(Outbound Rules),回來點擊下方「傳出規則」,再點擊右邊「編輯傳出規則」

  47. 將允許所有請求的規則刪除,儲存規則

  48. 此時回來ping,發現仍然可以連線,儘管SG的傳出規則(Outbound Rules)都不允許, 仍然可以收到回應,可以驗證SG是stateable,一旦記得曾經允許過的請求,傳出時 就不會受到限制。

沒有留言:

張貼留言

搜尋此網誌