Terraform是由HashiCorp開源的開發人員工具,支援以代碼的形式管理雲基礎設施。作為與Terraform整合的主流雲廠商之一,阿里雲已在Terraform社區發布了多個Security Center相關的資源(Resource)和資料來源(Data Source)。您可以使用Terraform管理這些資源,滿足通過簡單編碼自動化部署、持續演化雲基礎設施等業務訴求。本文介紹如何使用Terraform快速開通Security Center資源。
前提條件
已安裝Terraform運行環境。阿里雲支援以下方式使用Terraform:
在本地安裝和配置Terraform:需要您根據自己的開發環境安裝對應的Terraform版本並配置您的阿里雲身份憑證。
請確保安裝的Terraform版本不低於v0.14,且alicloud版本不低於v1.199.0+。
在Cloud Shell中使用Terraform:Cloud Shell預裝了Terraform組件並配置好身份憑證。登入狀態下您可直接在Cloud Shell中運行Terraform命令。
上述方式並無優劣之分,您可以根據業務情境和使用習慣選擇。本文以使用Cloud Shell為例,介紹如何在Cloud Shell中快速建立Security Center執行個體。
開通Security Center執行個體
建立並進入執行目錄。
mkdir /usr/local/terraform cd /usr/local/terraform
說明您需要為每個Terraform專案建立一個獨立的執行目錄。
建立terraform.tf檔案,並設定檔內容。
vim terraform.tf
terraform.tf檔案內容填寫如下:
resource "alicloud_threat_detection_instance" "default" { version_code = "level2" buy_number = "30" payment_type = "Subscription" period = 1 renewal_status = "ManualRenewal" sas_sls_storage = "100" sas_anti_ransomware = "100" container_image_scan = "30" sas_webguard_boolean = "1" sas_webguard_order_num = "100" honeypot_switch = "1" honeypot = "32" sas_sdk_switch = "1" sas_sdk = "1000" }
配置項
必填
說明
樣本值
version_code
是
Security Center的版本。取值:
level7:防病毒版
level3:進階版
level2:企業版
level8:旗艦版
level10:僅採購增值服務
level2
buy_number
否
要防護的伺服器台數。
說明僅當version_code設定為level3、level2或level8時,需要配置該參數。
30
v_core
否
要防護的伺服器總核心數( Vmcore總數)。
說明僅當version_code設定為level7或level8時,需要配置該參數。
100
payment_type
是
付費模式。取值:
Subscription:預付費模式。
Subscription
period
否
預付費周期。單位:月。
取值:1、6、12、24、36、60。
1
renewal_status
否
自動續約狀態,取值:
AutoRenewal:自動續約。
ManualRenewal(預設):手動續約。
ManualRenewal
renewal_period
否
自動續約周期,單位:月。
說明當renewal_status設定為AutoRenewal時,需要配置該參數。
12
sas_sls_storage
否
日誌分析容量,單位:GB。
取值範圍:0~600,000,步長為10。
說明應《網路安全法》日誌至少儲存180天的要求,推薦每台伺服器配置40 GB日誌儲存容量。
100
sas_anti_ransomware
否
防勒索病毒的防護資料容量。單位:GB。
取值範圍:10~9,999,999,999,步長為10。
100
container_image_scan
否
容器鏡像安全掃描,建議設定為每個月需要進行容器漏洞檢測的鏡像數量。單位:個。
取值範圍:0~200,000,步長為20。
說明Security Center是以摘要(Digest)值唯一標識一個鏡像,鏡像的摘要值不變時,只在第一次掃描時消耗一個鏡像安全掃描次數。摘要值變化後,執行掃描操作會重新消耗鏡像安全掃描次數。例如,您需要檢測10個鏡像,在購買Security Center服務的期限內,預計鏡像更新總次數為20次(即所有鏡像摘要值變更總次數為20次),則容器鏡像安全掃描數量需要設定為30(即10+20)。
30
sas_webguard_boolean
否
是否開啟網路防篡改。取值:
1:是
0:否
1
sas_webguard_order_num
否
網頁防篡改的檢測授權數。單位:次。
取值範圍:0~9,999。
說明僅當sas_webguard_boolean設定為1時,需要配置該參數。
100
honeypot_switch
否
是否開啟雲蜜罐。取值:
1:是
2:否
1
honeypot
否
雲蜜罐授權數。單位:個。
取值範圍:20~500。
說明僅當honeypot_switch設定為1時,需要配置該參數。
20
sas_sdk_switch
否
是否開啟惡意檔案檢測SDK。取值:
1:是
0:否
1
sas_sdk
否
惡意檔案檢測次數。單位:萬次。
取值範圍:10~9,999,999,999,步長為10。
10
執行
terraform init
命令,初始化配置。返回如下資訊時,表示初始化完成:
Terraform has been successfully initialized!
執行
terraform plan
命令,產生資源規劃。執行
terraform apply
命令,建立Security Center執行個體。當Cloud Shell返回以下資訊時,輸入yes。
Do you want to perform these actions? Terraform will perform the actions described above. Only 'yes' will be accepted to approve. Enter a value:
返回如下資訊時,表示建立成功:
Apply complete! Resources: 1 added, 0 changed, 0 destroyed.
升級與降配
您可以通過Terraform對已建立的Security Center執行個體進行升級與降配操作。
建立並進入執行目錄。
mkdir /usr/local/terraform cd /usr/local/terraform
說明您需要為每個Terraform專案建立一個獨立的執行目錄。
建立terraform.tf檔案,並設定檔內容。
vim terraform.tf
terraform.tf檔案內容填寫如下:
resource "alicloud_threat_detection_instance" "default" { modify_type = "Upgrade" version_code = "level2" buy_number = "30" payment_type = "Subscription" period = 1 renewal_status = "ManualRenewal" sas_sls_storage = "100" sas_anti_ransomware = "100" container_image_scan = "30" sas_webguard_boolean = "1" sas_webguard_order_num = "100" honeypot_switch = "1" honeypot = "32" sas_sdk_switch = "1" sas_sdk = "1000" }
配置項
必填
說明
樣本值
modify_type
是
升降配模式。取值:
Upgrade:升級配置。
Downgrade:降級配置。
Upgrade
version_code
是
Security Center的版本。取值:
level7:防病毒版
level3:進階版
level2:企業版
level8:旗艦版
level10:僅採購增值服務
level2
buy_number
否
要防護的伺服器台數。
說明僅當version_code設定為level3、level2或level8時,需要配置該參數。
30
v_core
否
要防護的伺服器總核心數( Vmcore總數)。
說明僅當version_code設定為level7或level8時,需要配置該參數。
100
payment_type
是
付費模式。取值:
Subscription:預付費模式。
Subscription
period
否
預付費周期。單位:月。
取值:1、6、12、24、36、60。
1
renewal_status
否
自動續約狀態,取值:
AutoRenewal:自動續約。
ManualRenewal(預設):手動續約。
ManualRenewal
renewal_period
否
自動續約周期,單位:月。
說明當renewal_status設定為AutoRenewal時,需要配置該參數。
12
sas_sls_storage
否
日誌分析容量,單位:GB。
取值範圍:0~600,000,步長為10。
說明應《網路安全法》日誌至少儲存180天的要求,推薦每台伺服器配置40 GB日誌儲存容量。
100
sas_anti_ransomware
否
防勒索病毒的防護資料容量。單位:GB。
取值範圍:10~9,999,999,999,步長為10。
100
container_image_scan
否
容器鏡像安全掃描,建議設定為每個月需要進行容器漏洞檢測的鏡像數量。單位:個。
取值範圍:0~200,000,步長為20。
說明Security Center是以摘要(Digest)值唯一標識一個鏡像,鏡像的摘要值不變時,只在第一次掃描時消耗一個鏡像安全掃描次數。摘要值變化後,執行掃描操作會重新消耗鏡像安全掃描次數。例如,您需要檢測10個鏡像,在購買Security Center服務的期限內,預計鏡像更新總次數為20次(即所有鏡像摘要值變更總次數為20次),則容器鏡像安全掃描數量需要設定為30(即10+20)。
30
sas_webguard_boolean
否
是否開啟網路防篡改。取值:
1:是
0:否
1
sas_webguard_order_num
否
網頁防篡改的檢測授權數。單位:次。
取值範圍:0~9,999。
說明僅當sas_webguard_boolean設定為1時,需要配置該參數。
100
honeypot_switch
否
是否開啟雲蜜罐。取值:
1:是
2:否
1
honeypot
否
雲蜜罐授權數。單位:個。
取值範圍:20~500。
說明僅當honeypot_switch設定為1時,需要配置該參數。
20
sas_sdk_switch
否
是否開啟惡意檔案檢測SDK。取值:
1:是
0:否
1
sas_sdk
否
惡意檔案檢測次數。單位:萬次。
取值範圍:10~9,999,999,999,步長為10。
10
執行
terraform init
命令,初始化配置。返回如下資訊時,表示初始化完成:
Terraform has been successfully initialized!
執行
terraform plan
命令,產生資源規劃。執行
terraform apply
命令,執行Security Center執行個體變更配置。當Cloud Shell返回以下資訊時,輸入yes。
Do you want to perform these actions? Terraform will perform the actions described above. Only 'yes' will be accepted to approve. Enter a value:
返回如下資訊時,表示建立成功:
Apply complete! Resources: 1 added, 0 changed, 0 destroyed.