請按照這些操作說明,為應用程式設定 Cloud IDS。如需 Cloud IDS 的概念資訊,請參閱 Cloud IDS 總覽。
事前準備
設定 Cloud IDS 前,請先完成下列必要條件。
設定 Cloud IDS 的 IAM 權限
Cloud IDS 具有多個 Identity and Access Management (IAM) 角色。您可以使用範例指令,將必要的 IAM 權限授予主體。
Cloud IDS 管理員角色 (
roles/ids.admin
)。具有此角色的專案主體可以建立 IDS 端點。如果您是專案擁有者,就已具備這項權限,不需要明確的ids.admin
角色即可建立 IDS 端點。gcloud projects add-iam-policy-binding PROJECT_ID \ --role=roles/ids.admin \ --member=user:USER_NAME ;
這個角色可執行下列作業:
- 建立端點
- 刪除端點
- 取得端點
- 列出端點
Cloud IDS 檢視者角色 (
roles/ids.viewer
)。專案檢視者和具有這個角色的主體,對 IDS 端點有唯讀存取權。如果您是專案擁有者、編輯者或檢視者,就表示您已具備這項權限。gcloud projects add-iam-policy-binding PROJECT_ID \ --role=roles/ids.viewer \ --member=user:USER_NAME ;
Compute 封包鏡像使用者角色 (
roles/compute.packetMirroringUser
)。將封包鏡像政策附加至入侵偵測系統端點時,需要這個角色。如果您具備compute.securityAdmin
或container.serviceAgent
角色,則已具備這項權限。如要進一步瞭解這個角色,請參閱 IAM 基本和預先定義的角色參考資料。gcloud projects add-iam-policy-binding PROJECT_ID \ --role=roles/compute.packetMirroringUser \ --member=user:USER_NAME ;
記錄檢視者角色 (
roles/logging.viewer
)。如要查看近期威脅,還需要額外角色,這是 Cloud IDS 的重要核心功能。如要進一步瞭解這個角色,請參閱存取權控管指南。gcloud projects add-iam-policy-binding PROJECT_ID \ --role=roles/logging.viewer \ --member=user:USER_NAME ;
此外,您還需要下列雜項權限:
compute.regions.list
compute.zones.list
設定私人服務連線
如要建立 IDS 端點,您必須啟用 Service Networking API,並設定虛擬私有雲 (VPC) 網路的網路對等互連。每個客戶專案只需執行一次,可使用Google Cloud 控制台或 Google Cloud CLI 執行。分配 IP 位址範圍時,必須是符合 RFC 1918 規範的私人 IP 位址範圍 (10.0.0.0/8
、172.16.0.0/12
或 192.168.0.0/16
),否則端點建立作業會失敗。
如要設定私人服務存取權,請按照下列步驟操作:
使用下列指令啟用 Service Networking API。請將
PROJECT_ID
改成您的專案 ID。gcloud services enable servicenetworking.googleapis.com \ --project=PROJECT_ID
如果您尚未在網路中分配 IP 位址範圍,請務必在虛擬私有雲網路中為 Google 服務分配 IP 範圍。在下列指令中,您可以省略
addresses
欄位,Google Cloud 會選取虛擬私有雲網路中未使用的位址範圍:gcloud compute addresses create RESERVED_RANGE_NAME \ --global \ --purpose=VPC_PEERING \ --addresses=192.168.0.0 \ --prefix-length=16 \ --description="DESCRIPTION" \ --network=VPC_NETWORK
更改下列內容:
RESERVED_RANGE_NAME
:分配範圍的名稱,例如my-allocated-range
DESCRIPTION
:範圍的說明,例如allocated for my-service
VPC_NETWORK
:虛擬私有雲網路的名稱,例如my-vpc-network
建立與服務供應商的私人連線。私人連線會在您的虛擬私有雲網路與服務供應商的網路之間,建立虛擬私有雲網路對等互連連線。
如果您已有私人連線,請使用
gcloud services vpc-peerings update
指令更新連線:gcloud services vpc-peerings update \ --service=servicenetworking.googleapis.com \ --ranges=RESERVED_RANGE_NAME \ --network=VPC_NETWORK \ --project=PROJECT_ID
如果沒有私人連線,請使用
gcloud services vpc-peerings connect
指令。這個指令會啟動長期執行作業並傳回作業名稱。gcloud services vpc-peerings connect \ --service=servicenetworking.googleapis.com \ --ranges=RESERVED_RANGE_NAME \ --network=VPC_NETWORK \ --project=PROJECT_ID
更改下列內容:
RESERVED_RANGE_NAME
:一或多個已分配範圍的名稱VPC_NETWORK
:虛擬私有雲網路名稱PROJECT_ID
:含有您 VPC 網路的專案 ID
如要檢查作業是否成功,請使用
gcloud services vpc-peerings operations describe
指令:gcloud services vpc-peerings operations describe \ --name=OPERATION_NAME
將
OPERATION_NAME
替換為先前步驟傳回的作業名稱。
針對要監控的每個 VPC 網路,重複執行步驟 2 和 3。
啟用 VPC Service Controls (選用)
啟用私人服務存取權後,您也可以在 Cloud IDS 上啟用 VPC Service Controls。如果已啟用,請執行 services vpc-peerings enable-vpc-service-controls
指令,為所有對等互連連線啟用 VPC Service Controls:
gcloud services vpc-peerings enable-vpc-service-controls \ --service=servicenetworking.googleapis.com \ --network=VPC_NETWORK \ --project=PROJECT_ID
更改下列內容:
VPC_NETWORK
:虛擬私有雲網路的名稱PROJECT_ID
:含有虛擬私有雲網路的專案 ID
瞭解最佳做法
建議您先瞭解最佳做法,再設定 Cloud IDS。詳情請參閱「Cloud IDS 最佳做法」。
設定 Cloud IDS 端點
以下各節說明如何建立 Cloud IDS 端點、將端點附加至封包鏡像政策、查看 Cloud IDS 端點、刪除 Cloud IDS 端點,以及設定威脅例外狀況。
建立 Cloud IDS 端點
建議您為部署工作負載的每個區域建立 IDS 端點。每個地區也可以建立多個 IDS 端點。請按照下列步驟建立入侵偵測系統端點,並指派入侵偵測系統服務設定檔。
控制台
前往 Google Cloud 控制台的「IDS Endpoints」(IDS 端點) 頁面。
設定端點:
- 按一下「建立端點」。
- 在「端點名稱」欄位中輸入名稱。
- 選用:在「說明」欄位中輸入說明。
- 按一下「網路」下拉式清單,然後選取要讓 Cloud IDS 檢查的網路。
- 從「Region」(區域) 和「Zone」(可用區) 下拉式清單中,選擇網路或子網路的區域和可用區。
- 按一下「繼續」。
選取 Cloud IDS 服務設定檔:
- 按一下「選取 IDS 服務設定檔」。
- 在「最低威脅嚴重性等級」下方,選取正確的快訊等級。
- 按一下「Create」(建立)。建立程序可能需要 10 至 15 分鐘。
gcloud
選用標記
本節中的指令可能包含下列部分或全部選用標記:
--no-async
--filter=EXPRESSION
--flatten
、--sort-by
、--filter
、--limit
。--limit=LIMIT
--flatten
、--sort-by
、--filter
、--limit
。--page-size=PAGE_SIZE
--filter
和 --limit
標記之前或之後,視服務而定。--sort-by=[FIELD,…]
~
)。這個旗標會與其他旗標互動,套用順序如下:--flatten
、--sort-by
、--filter
、--limit
。--uri
--threat-exceptions
操作說明
如要建立新的 IDS 端點,請按照下列步驟操作:
使用
gcloud ids endpoints create
指令。將ENDPOINT_NAME
、VPC_NETWORK
、ZONE
和SEVERITY
替換為與應用程式相符的資訊。gcloud ids endpoints create ENDPOINT_NAME \ --network=VPC_NETWORK \ --zone=ZONE \ --severity=SEVERITY \ [--no-async] \ [GCLOUD_WIDE_FLAG...]
嚴重程度標記為必填,且必須採用下列其中一個值:
- 參考用
- 低
- 中
- 高
- 嚴重
API
Cloud IDS 端點資源具有下列欄位:
欄位 | 類型 | 欄位說明 |
---|---|---|
createTime | 字串 | [Output Only] Creation timestamp in RFC 3339 text format. |
updateTime | 字串 | [Output Only] Last update timestamp in RFC 3339 text format. |
名稱 | 字串 | [僅限輸出] 端點名稱,格式為 projects/{project_id}/locations/{locationId}/endpoints/{endpointId} 。 |
網路 | 字串 | 與 IDS 端點連線的虛擬私有雲網路名稱。這個欄位可以包含虛擬私有雲網路名稱本身 (例如 "src-net" ),也可以包含網路的完整網址 (例如 "projects/{project_id}/global/networks/src-net" )。建立端點時,這個欄位為必填。 |
嚴重性 | 字串 | 端點回報的最低快訊嚴重性等級。 可能的值如下:
建立端點時,必須填寫這個欄位。 |
說明 | 字串 | 端點說明 (選填)。 |
endpoint_forwarding_rule | 字串 | [僅限輸出] 端點網路位址的網址,Packet Mirroring 會將流量傳送至該位址。 |
endpoint | 字串 | [僅限輸出] 端點網路進入點的內部 IP 位址。 |
如要建立 Cloud IDS 端點,請使用類似下列的 HTTP POST 要求,並視需要替換變數。ENDPOINT_NAME
長度須介於 1 至 63 個字元之間,只能包含小寫英文字母、數字和連字號,開頭須為小寫英文字母,結尾不得為連字號。
POST https://ids.googleapis.com/v1/projects/PROJECT_NAME/locations/ZONE/endpoints?endpointId=ENDPOINT_NAME { "network": "NETWORK_NAME", "severity": "SEVERITY_LEVEL", }
將封包鏡像政策附加至 Cloud IDS 端點
請按照下列步驟,將封包鏡像政策附加至 IDS 端點。
控制台
建立 IDS 端點後,請將 Packet Mirroring 政策附加至 IDS 端點:
前往 Google Cloud 控制台的「IDS Endpoints」(IDS 端點) 頁面。
按一下 IDS 端點旁邊的「附加」。
在「政策名稱」欄位中,輸入封包鏡像政策的名稱。
點選「下一步」。
選擇要建立鏡像的子網路或執行個體。您可以選取多個子網路和執行個體。
點選「下一步」。
決定要鏡像所有流量或篩選流量:
- 如要鏡像所有流量,請務必選取「鏡像所有流量」。
- 如要根據通訊協定、IP 位址範圍或輸入/輸出流量篩選流量,請選取「針對篩選的流量建立鏡像」:
- 選取「允許所有通訊協定」或「允許特定通訊協定」。
- 選取「允許所有 IP 範圍」或「允許特定 IP 範圍」。
按一下「提交」。端點已建立。
gcloud
建立端點後,請將封包鏡像政策附加至該端點。首先,請使用下列指令,從
endpoint_forwarding_rule
欄位取得網址:gcloud ids endpoints describe ENDPOINT_NAME
使用下列指令建立封包鏡像政策:
gcloud compute packet-mirrorings create POLICY_NAME \ --region=REGION \ --collector-ilb=ENDPOINT_FORWARDING_RULE \ --network=VPC_NETWORK \ --mirrored-subnets=SUBNET
Packet Mirroring 有多個選用旗標,包括可用於根據通訊協定、IP 位址範圍,或輸入或輸出流量篩選流量的旗標。如要進一步瞭解這些選用標記,請參閱「封包鏡像參考資料」。
說明 Cloud IDS 端點
請按照下列步驟說明 IDS 端點。
控制台
前往 Google Cloud 控制台的「IDS Endpoints」(IDS 端點) 頁面。
在「入侵偵測系統端點」頁面上,按一下入侵偵測系統端點的名稱。系統隨即會顯示「端點詳細資料」頁面。
gcloud
如要說明 IDS 端點,請使用 gcloud ids endpoints
describe
指令。將 ENDPOINT_NAME
、PROJECT_ID
和 ZONE
替換為符合您應用程式的資訊:
gcloud ids endpoints describe ENDPOINT_NAME \ [--project=PROJECT_ID] \ [--zone=ZONE] \ [GCLOUD_WIDE_FLAG...]
API
如要取得 Cloud IDS 端點,請使用類似下列的 HTTP GET
要求,並視需要替換變數:
GET https://ids.googleapis.com/v1/projects/PROJECT_NAME/locations/ZONE/endpoints?endpointId=ENDPOINT_NAME
列出 Cloud IDS 端點
請按照下列步驟列出所有 IDS 端點。
控制台
前往 Google Cloud 控制台的「IDS Endpoints」(IDS 端點) 頁面。
gcloud
如要列出 IDS 端點,請使用 gcloud ids endpoints list
指令:
gcloud ids endpoints list \ [--filter=EXPRESSION] \ [--limit=LIMIT] \ [--page-size=PAGE_SIZE] \ [--sort-by=[FIELD,...]] \ [--uri] \ [GCLOUD_WIDE_FLAG...]
更改下列內容:
EXPRESSION
:對要列出的每個資源項目套用布林值篩選器。如果運算式評估結果為 True,則會列出該項目。LIMIT
:要列出的資源數量上限。PAGE_SIZE
:每個頁面的資源數量上限。FIELD
:以逗號分隔的資源欄位鍵名稱清單,用於排序。
API
如要列出區域中的所有 Cloud IDS 端點,請使用類似下列的 HTTP GET
要求,並視需要替換變數:
GET https://ids.googleapis.com/v1/projects/PROJECT_NAME/locations/ZONE/endpoints
或者,如要列出所有可用區中的所有 Cloud IDS 端點,可以將 ZONE
替換為連字號,如下所示:
GET https://ids.googleapis.com/v1/projects/PROJECT_NAME/locations/-/endpoints
刪除 Cloud IDS 端點
請按照下列步驟刪除 IDS 端點。
控制台
前往 Google Cloud 控制台的「IDS Endpoints」(IDS 端點) 頁面。
在「入侵偵測系統端點」頁面上,按一下入侵偵測系統端點的名稱。系統隨即會顯示「端點詳細資料」頁面。
按一下「刪除端點」
。
gcloud
如要刪除 IDS 端點,請使用 gcloud ids endpoints
delete
指令。將 ENDPOINT_NAME
、PROJECT_ID
和 ZONE
替換為符合您應用程式的資訊:
gcloud ids endpoints delete ENDPOINT_NAME \ [--project=PROJECT_ID] \ [--zone=ZONE] \ [--no-async] \ [GCLOUD_WIDE_FLAG...]
API
如要刪除 Cloud IDS 端點,請使用類似下列內容的 HTTP DELETE
要求,並視需要替換變數:
DELETE https://ids.googleapis.com/v1/projects/PROJECT_NAME/locations/ZONE/endpoints?endpointId=ENDPOINT_NAME
選用:設定威脅例外狀況
建立或更新 Cloud IDS 端點時,可以使用 --threat-exceptions
標記停用雜訊或其他不必要的威脅 ID。以下範例會更新現有的 Cloud IDS 端點 ENDPOINT_NAME
,以排除威脅 ID THREAT_ID1
和 THREAT_ID2
:
gcloud ids endpoints update ENDPOINT_NAME \ --threat-exceptions=THREAT_ID1,THREAT_ID2
查看威脅記錄檔
請按照下列步驟檢查是否已產生任何威脅記錄。
前往 Google Cloud 控制台的「IDS Threats」(IDS 威脅) 頁面。
按一下威脅名稱,即可查看該威脅的「威脅詳細資料」頁面。
返回「威脅」分頁。
按一下 IDS 端點右側的「選單」
,然後選取「查看威脅記錄」。