Terraform adalah alat pengembangan open source yang dibuat oleh HashiCorp. Terraform memungkinkan Anda mengelola infrastruktur cloud dengan kode. Sebagai salah satu penyedia utama Terraform, Alibaba Cloud telah merilis beberapa sumber daya dan sumber data terkait Security Center di Terraform. Anda dapat menggunakan Terraform untuk mengelola sumber daya tersebut guna memenuhi kebutuhan bisnis seperti penyebaran otomatis dan peningkatan berkelanjutan infrastruktur cloud. Topik ini menjelaskan cara mengaktifkan Security Center melalui Terraform.
Anda bisa menjalankan kode contoh dengan satu klik.
Penyiapan
Untuk mengurangi risiko terkait akun Alibaba Cloud yang disusupi, kami menyarankan menggunakan pengguna RAM dan membuat pasangan AccessKey untuk mereka.
Tetapkan kebijakan berikut kepada pengguna RAM untuk memberikan izin minimum dalam mengelola sumber daya pada contoh ini.
Kebijakan ini memungkinkan pengguna RAM untuk melihat, memodifikasi, dan membuat sumber daya terkait Security Center. Sesuaikan tindakan dan ruang lingkup sumber daya dalam kebijakan sesuai kebutuhan Anda.
{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": [ "sas:Describe*", // Mengizinkan melihat informasi terkait Security Center "sas:CreateInstance", // Mengizinkan pembuatan instance Security Center "sas:UpdateInstance", // Mengizinkan peningkatan instance Security Center "sas:Modify*" // Tambahkan parameter ini jika Anda perlu memodifikasi pengaturan lainnya ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ecs:DescribeInstances" // Mungkin memerlukan izin untuk menanyakan instance ECS untuk dikaitkan dengan Security Center ], "Resource": "*" } ] }Siapkan lingkungan Terraform menggunakan salah satu metode berikut:
Gunakan Terraform di Terraform Explorer: Terraform Explorer yang disediakan oleh Alibaba Cloud memungkinkan pengembang menjalankan Terraform secara online tanpa instalasi. Metode ini ideal untuk menggunakan dan men-debug Terraform secara efisien dan nyaman tanpa biaya.
Gunakan Terraform di Cloud Shell: Cloud Shell dari Alibaba Cloud sudah dilengkapi dengan Terraform dan kredensial identitas yang dikonfigurasi, sehingga Anda dapat menjalankan perintah Terraform langsung. Metode ini ideal untuk menggunakan dan men-debug Terraform secara efisien, nyaman, dan hemat biaya.
Instal dan konfigurasikan Terraform: Metode ini paling cocok untuk skenario dengan konektivitas jaringan yang buruk atau ketika diperlukan lingkungan pengembangan kustom.
Sumber daya yang diperlukan
alicloud_threat_detection_instance: Sumber daya ini digunakan untuk mengonfigurasi dan mengelola layanan deteksi ancaman Alibaba Cloud.
Aktifkan Security Center
Setelah Anda mengaktifkan instance Security Center, pastikan untuk mengelola siklus hidupnya dengan hati-hati agar tidak terjadi biaya yang tidak perlu.
Berikut adalah contoh kode yang menunjukkan cara mengaktifkan edisi Enterprise Security Center dengan langganan di wilayah Hangzhou (cn-hangzhou).
Buat dan masuk ke direktori eksekusi.
mkdir /usr/local/terraform cd /usr/local/terraformCatatanAnda harus membuat direktori eksekusi untuk setiap proyek Terraform.
Buat file terraform.tf dan konfigurasikan isi file tersebut.
vim terraform.tfIsi file terraform.tf adalah sebagai berikut:
# Konfigurasikan penyedia sebagai Alibaba Cloud dan atur wilayah ke Hangzhou (cn-hangzhou) provider "alicloud" { region = "cn-hangzhou" } # Tentukan nama sumber daya. Nilai default adalah "terraform-example" variable "name" { default = "terraform-example" } # Kode versi. Nilai default adalah "level2" (Edisi Enterprise) variable "version_code" { default = "level2" } # Jumlah server yang akan dibeli. Nilai default adalah "30" variable "buy_number" { default = "30" } # Metode penagihan. Nilai default adalah "Subscription" variable "payment_type" { default = "Subscription" } # Durasi langganan. Nilai default adalah "1" (Satuan: bulan) variable "period" { default = "1" } # Status perpanjangan. Nilai default adalah "ManualRenewal" variable "renewal_status" { default = "ManualRenewal" } # Kapasitas penyimpanan log analisis. Nilai default adalah "100" (Satuan: GB) variable "sas_sls_storage" { default = "100" } # Kapasitas data anti-ransomware. Nilai default adalah "100" (Satuan: GB) variable "sas_anti_ransomware" { default = "100" } # Saklar Pencegahan Perusakan Web. Nilai default adalah "1" (Ya) variable "sas_webguard_boolean" { default = "1" } # Kuota Pencegahan Perusakan Web. Nilai default adalah "100" variable "sas_webguard_order_num" { default = "100" } # Saklar Honeypot Cloud. Nilai default adalah "1" (Ya) variable "honeypot_switch" { default = "1" } # Kuota Honeypot Cloud. Nilai default adalah "32" variable "honeypot" { default = "32" } # Saklar SDK Deteksi File Jahat. Nilai default adalah "1" (Ya) variable "sas_sdk_switch" { default = "1" } # Kuota SDK Deteksi File Jahat. Nilai default adalah "1000" (Satuan: 10.000 kali) variable "sas_sdk" { default = "1000" } # Jumlah pemindaian gambar kontainer. Ukuran langkah adalah 20, yang berarti hanya kelipatan 20 yang dapat dimasukkan variable "container_image_scan_new" { default = "100" } # Saklar CTDR variable "threat_analysis_switch" { default = "1" } # Data log CTDR. Penambahan adalah 100, yang berarti hanya kelipatan 100 yang dapat dimasukkan variable "threat_analysis_flow" { default = "100" } # Kapasitas penyimpanan log CTDR. Nilai default adalah "1000" (Satuan: GB) variable "threat_analysis_sls_storage" { default = "1000" } # Sumber daya deteksi ancaman yang ditentukan oleh variabel resource "alicloud_threat_detection_instance" "default" { version_code = var.version_code buy_number = var.buy_number payment_type = var.payment_type period = var.period renewal_status = var.renewal_status sas_sls_storage = var.sas_sls_storage sas_anti_ransomware = var.sas_anti_ransomware container_image_scan_new = var.container_image_scan_new sas_webguard_boolean = var.sas_webguard_boolean sas_webguard_order_num = var.sas_webguard_order_num honeypot_switch = var.honeypot_switch honeypot = var.honeypot sas_sdk_switch = var.sas_sdk_switch sas_sdk = var.sas_sdk threat_analysis_switch = var.threat_analysis_switch threat_analysis_flow = var.threat_analysis_flow threat_analysis_sls_storage = var.threat_analysis_sls_storage }Parameter
Diperlukan
Deskripsi
Nilai contoh
modify_type
Tidak
Jika Anda perlu meningkatkan atau menurunkan instance, parameter ini diperlukan. Tambahkan ke kode di atas. Nilai valid:
Upgrade: Tingkatkan Security Center.
Downgrade: Turunkan Security Center.
Upgrade
version_code
Ya
Edisi Security Center. Nilai valid:
level7: Anti-virus
level3: Lanjutan
level2: Enterprise
level8: Ultimate
level10: Rencana Nilai Tambah
level2
buy_number
Tidak
Jumlah server yang ingin Anda lindungi.
CatatanParameter ini diperlukan hanya saat version_code diatur ke level3, level2, atau level8.
30
v_core
Tidak
Jumlah CPU virtual (vCPU) dari server yang ingin Anda lindungi.
CatatanParameter ini diperlukan hanya saat version_code diatur ke level7 atau level8.
100
payment_type
Ya
Metode penagihan. Nilai valid:
Subscription
Subscription
period
Tidak
Durasi langganan. Satuan: bulan.
Nilai valid: 1, 6, 12, 24, 36, 60.
1
renewal_status
Tidak
Mode perpanjangan. Nilai valid:
AutoRenewal: Perpanjangan otomatis.
ManualRenewal (default): Perpanjangan manual.
ManualRenewal
renewal_period
Tidak
Durasi perpanjangan otomatis. Satuan: bulan.
CatatanParameter ini diperlukan saat renewal_status diatur ke AutoRenewal.
12
sas_sls_storage
Tidak
Kapasitas penyimpanan log. Satuan: GB.
Nilai valid: 0 hingga 600.000. Nilainya harus kelipatan 10.
CatatanUntuk mematuhi persyaratan Undang-Undang Keamanan Siber bahwa log harus disimpan setidaknya selama 180 hari, kami sarankan Anda mengonfigurasi kapasitas penyimpanan log sebesar 50 GB untuk setiap server.
100
sas_anti_ransomware
Tidak
Kapasitas cadangan data untuk anti-ransomware. Satuan: GB.
Nilai valid: 10 hingga 9.999.999.999. Harus kelipatan 10.
100
container_image_scan_new
Tidak
Pemindaian gambar kontainer. Kami sarankan Anda menyetel parameter ini ke jumlah gambar yang perlu dideteksi setiap bulan. Satuan: hitungan.
Nilai valid: 0 hingga 200.000. Harus kelipatan 20.
CatatanSecurity Center mengidentifikasi gambar berdasarkan nilai digest uniknya. Jika nilai digest tetap tidak berubah, hanya pemindaian pertama pada gambar yang mengonsumsi satu kuota pemindaian gambar kontainer. Jika berubah, pemindaian baru akan mengonsumsi kuota tambahan.
Sebagai contoh, jika Anda berencana memindai 10 gambar dan memperkirakan nilai digest berubah 20 kali selama langganan Anda, atur kuota menjadi 30. Total kuota ini terdiri dari jumlah gambar ditambah perubahan yang diantisipasi dalam nilai digest.
100
sas_webguard_boolean
Tidak
Menentukan apakah fitur Pencegahan Perusakan Web diaktifkan. Nilai valid:
1: Ya
0: Tidak
1
sas_webguard_order_num
Tidak
Kuota untuk fitur Pencegahan Perusakan Web. Satuan: kali.
Nilai valid: 0 hingga 9.999.
CatatanParameter ini diperlukan hanya saat sas_webguard_boolean diatur ke 1.
100
sas_sc
Tidak
Menentukan apakah dasbor keamanan diaktifkan. Nilai valid:
CatatanParameter ini tidak didukung di wilayah di luar China, dan hanya didukung saat version_code diatur ke level3, level2, atau level8.
true: Ya
false: Tidak
false
honeypot_switch
Tidak
Menentukan apakah fitur Honeypot Cloud diaktifkan. Nilai valid:
1: Ya
2: Tidak
1
honeypot
Tidak
Kuota untuk fitur Honeypot Cloud. Satuan: hitungan.
Nilai valid: 20 hingga 500.
CatatanParameter ini diperlukan hanya saat honeypot_switch diatur ke 1.
20
sas_sdk_switch
Tidak
Menentukan apakah SDK untuk deteksi file jahat diaktifkan. Nilai valid:
1: Ya
0: Tidak
1
sas_sdk
Tidak
Jumlah kali deteksi file jahat dilakukan. Satuan: 10.000 kali.
Nilai valid: 10 hingga 9.999.999.999. Nilainya harus kelipatan 10.
10
Threat_analysis_switch_1
Tidak
Menentukan apakah Cloud Threat Detection and Response (CTDR) diaktifkan. Nilai valid:
0: Tidak
1: Ya
1
Threat_analysis_flow
Tidak
Data log yang ditambahkan untuk CTDR. Satuan: GB/hari.
Nilai valid: 100 hingga 9.999.999.999. Nilainya harus kelipatan 100.
CatatanParameter ini diperlukan hanya saat Threat_analysis_switch_1 diatur ke 1.
100
Threat_analysis_sls_storage
Tidak
Kapasitas penyimpanan log untuk CTDR. Satuan: GB.
Nilai valid: 0 hingga 9.999.999.999. Nilainya harus kelipatan 1.000.
1000
Jalankan perintah
terraform inituntuk menginisialisasi konfigurasi.Jika pesan berikut muncul, Terraform telah diinisialisasi:

Jalankan perintah
terraform applyuntuk membuat instance Security Center. Selama eksekusi, masukkanyessaat diminta dan tekan tombol Enter. Tunggu hingga perintah selesai. Jika pesan berikut muncul, otorisasi selesai.Apakah Anda ingin melakukan tindakan ini? Terraform akan melakukan tindakan yang dijelaskan di atas. Hanya 'yes' yang akan diterima untuk menyetujui. Masukkan nilai:Jika pesan berikut muncul, Security Center telah diaktifkan:
Apply complete! Resources: 1 added, 0 changed, 0 destroyed.
Verifikasi hasil
Jalankan perintah Terraform show
Jalankan perintah berikut untuk menanyakan detail sumber daya yang dibuat dengan Terraform:
terraform show
Gunakan konsol
Masuk ke Konsol Security Center dan periksa apakah edisi Enterprise dan fitur terkait telah diaktifkan.

Referensi
Untuk informasi lebih lanjut tentang Terraform, lihat Apa itu Terraform?