Mengonfigurasi Cloud IDS

Gunakan petunjuk ini untuk mengonfigurasi Cloud IDS untuk aplikasi Anda. Untuk informasi konseptual tentang Cloud IDS, lihat ringkasan Cloud IDS.

Sebelum memulai

Sebelum mengonfigurasi Cloud IDS, Anda harus memenuhi persyaratan berikut.

Menyiapkan izin IAM untuk Cloud IDS

Cloud IDS memiliki beberapa peran Identity and Access Management (IAM). Anda dapat menggunakan contoh perintah untuk memberikan izin IAM yang diperlukan kepada akun utama.

  • Peran Admin Cloud IDS (roles/ids.admin). Akun utama project dengan peran ini dapat membuat endpoint IDS. Jika Anda adalah pemilik project, Anda sudah memiliki izin ini dan tidak memerlukan peran ids.admin eksplisit untuk membuat endpoint IDS.

    gcloud projects add-iam-policy-binding PROJECT_ID \
       --role=roles/ids.admin \
       --member=user:USER_NAME ;
    

    Peran ini memungkinkan operasi berikut:

    • Buat endpoint
    • Hapus endpoint
    • Mendapatkan endpoint
    • Mencantumkan endpoint
  • Peran Cloud IDS Viewer (roles/ids.viewer). Pelihat dan prinsipal project dengan peran ini memiliki akses hanya baca ke endpoint IDS. Jika Anda adalah pemilik, editor, atau pelihat project, Anda sudah memiliki izin ini.

    gcloud projects add-iam-policy-binding PROJECT_ID \
       --role=roles/ids.viewer \
       --member=user:USER_NAME ;
    
  • Peran pengguna duplikasi paket Compute (roles/compute.packetMirroringUser). Peran yang diperlukan untuk melampirkan kebijakan duplikasi paket ke endpoint IDS. Jika memiliki peran compute.securityAdmin atau container.serviceAgent, Anda sudah memiliki izin ini. Untuk mengetahui informasi selengkapnya tentang peran ini, lihat Referensi peran dasar dan bawaan IAM.

    gcloud projects add-iam-policy-binding PROJECT_ID \
       --role=roles/compute.packetMirroringUser \
       --member=user:USER_NAME ;
    
  • Peran Logs Viewer (roles/logging.viewer). Peran tambahan yang diperlukan untuk melihat ancaman terbaru, yang merupakan fitur inti penting dari Cloud IDS. Untuk mengetahui informasi selengkapnya tentang peran ini, lihat Panduan kontrol akses.

    gcloud projects add-iam-policy-binding PROJECT_ID \
       --role=roles/logging.viewer \
       --member=user:USER_NAME ;
    

Selain itu, Anda memerlukan izin lain berikut:

  • compute.regions.list
  • compute.zones.list

Menyiapkan akses layanan pribadi

Untuk membuat endpoint IDS, Anda harus mengaktifkan Service Networking API, dan menyiapkan peering jaringan untuk jaringan Virtual Private Cloud (VPC). Tindakan ini hanya perlu dilakukan sekali per project pelanggan dan dapat dilakukan dengan menggunakan Konsol Google Cloud atau Google Cloud CLI. Saat Anda mengalokasikan rentang alamat IP, rentang tersebut harus berupa rentang alamat IP pribadi yang mematuhi RFC 1918 (10.0.0.0/8, 172.16.0.0/12, atau 192.168.0.0/16), atau pembuatan endpoint akan gagal.

Gunakan langkah-langkah berikut untuk menyiapkan akses layanan pribadi:

  1. Aktifkan Service Networking API menggunakan perintah berikut. Ganti PROJECT_ID dengan project ID Anda.

    gcloud services enable servicenetworking.googleapis.com \
     --project=PROJECT_ID
    
  2. Jika belum mengalokasikan rentang alamat IP di jaringan, Anda harus mengalokasikan rentang IP untuk layanan Google di jaringan VPC. Dalam perintah berikut, Anda dapat menghilangkan kolom addresses dan Google Cloud akan memilih rentang alamat IP yang tidak digunakan di jaringan VPC Anda:

    gcloud compute addresses create RESERVED_RANGE_NAME \
      --global \
      --purpose=VPC_PEERING \
      --addresses=192.168.0.0 \
      --prefix-length=16 \
      --description="DESCRIPTION" \
      --network=VPC_NETWORK
    

    Ganti kode berikut:

    • RESERVED_RANGE_NAME: nama untuk rentang yang dialokasikan, seperti my-allocated-range

    • DESCRIPTION: deskripsi untuk rentang, seperti allocated for my-service

    • VPC_NETWORK: nama jaringan VPC Anda, seperti my-vpc-network

  3. Buat koneksi pribadi ke produsen layanan. Koneksi pribadi membuat koneksi Peering Jaringan VPC antara jaringan VPC Anda dan jaringan produsen layanan.

    Jika Anda sudah memiliki koneksi pribadi, gunakan perintah gcloud services vpc-peerings update untuk memperbaruinya:

    gcloud services vpc-peerings update \
      --service=servicenetworking.googleapis.com \
      --ranges=RESERVED_RANGE_NAME \
      --network=VPC_NETWORK \
      --project=PROJECT_ID
    

    Jika Anda belum memiliki koneksi pribadi, gunakan perintah gcloud services vpc-peerings connect. Perintah ini memulai operasi yang berjalan lama yang menampilkan nama operasi.

    gcloud services vpc-peerings connect \
      --service=servicenetworking.googleapis.com \
      --ranges=RESERVED_RANGE_NAME \
      --network=VPC_NETWORK \
      --project=PROJECT_ID
    

    Ganti kode berikut:

    • RESERVED_RANGE_NAME: nama satu atau beberapa rentang yang dialokasikan

    • VPC_NETWORK: nama jaringan VPC Anda

    • PROJECT_ID: ID project yang berisi jaringan VPC Anda

    Untuk memeriksa apakah operasi berhasil, gunakan perintah gcloud services vpc-peerings operations describe:

    gcloud services vpc-peerings operations describe \
        --name=OPERATION_NAME
    

    Ganti OPERATION_NAME dengan nama operasi yang ditampilkan dari langkah sebelumnya.

Ulangi langkah 2 dan 3 untuk setiap jaringan VPC yang ingin Anda pantau.

Opsional: Mengaktifkan Kontrol Layanan VPC

Setelah akses layanan pribadi diaktifkan, Anda dapat mengaktifkan Kontrol Layanan VPC di Cloud IDS secara opsional. Jika diaktifkan, jalankan perintah services vpc-peerings enable-vpc-service-controls untuk mengaktifkan Kontrol Layanan VPC untuk semua koneksi peering Anda:

gcloud services vpc-peerings enable-vpc-service-controls \
    --service=servicenetworking.googleapis.com \
    --network=VPC_NETWORK \
    --project=PROJECT_ID

Ganti kode berikut:

  • VPC_NETWORK: nama jaringan VPC Anda

  • PROJECT_ID: ID project yang berisi jaringan VPC Anda

Membuat endpoint Cloud IDS

Sebaiknya buat endpoint IDS untuk setiap region tempat Anda men-deploy workload. Anda juga dapat membuat beberapa endpoint IDS per region. Gunakan langkah-langkah berikut untuk membuat endpoint IDS dan menetapkan profil layanan IDS kepadanya.

Konsol

  1. Di konsol Google Cloud, buka IDS Endpoints.

    Buka Endpoint IDS

Konfigurasikan endpoint:

  1. Klik Buat endpoint.
  2. Masukkan nama di kolom Endpoint name.
  3. Opsional: Masukkan deskripsi di kolom Deskripsi.
  4. Klik menu drop-down Network, lalu pilih jaringan yang ingin Anda periksa dengan Cloud IDS.
  5. Pilih region dan zona jaringan atau subnet Anda dari menu drop-down Region dan Zone.
  6. Klik Lanjutkan.

Pilih profil layanan Cloud IDS:

  1. Klik Pilih profil layanan IDS.
  2. Di bagian Tingkat keparahan ancaman minimum, pilih tingkat pemberitahuan yang benar.
  3. Klik Create. Proses pembuatan dapat memerlukan waktu 10-15 menit.

Setelah endpoint IDS dibuat, lampirkan kebijakan Duplikasi Paket ke endpoint IDS:

  1. Pilih tab Endpoints.
  2. Di samping endpoint IDS, klik Lampirkan.
  3. Di kolom Policy name, masukkan nama untuk kebijakan Packet Mirroring.
  4. Klik Berikutnya.
  5. Pilih subnet atau instance yang akan diduplikasi. Anda dapat memilih beberapa subnet dan instance.
  6. Klik Berikutnya.
  7. Tentukan apakah Anda ingin menduplikasi semua traffic atau memfilter traffic:
    1. Jika Anda ingin menduplikasi semua traffic, pastikan Mirror All Traffic dipilih.
    2. Jika Anda ingin memfilter traffic berdasarkan protokol, rentang alamat IP, atau traffic masuk atau keluar, pilih Mirror filtered traffic:
      1. Pilih Izinkan semua protokol atau Izinkan protokol tertentu.
      2. Pilih Izinkan semua rentang IP atau Izinkan rentang IP tertentu.
  8. Klik Kirim. Endpoint telah dibuat.

Sekarang Anda dapat memeriksa apakah ada log ancaman yang telah dibuat. Langkah-langkah berikut bersifat opsional:

  1. Klik tab IDS Threats.
  2. Klik nama ancaman untuk melihat halaman Threat details untuk ancaman tersebut.
  3. Kembali ke tab Ancaman.
  4. Klik Menu di sebelah kanan endpoint IDS, lalu pilih Lihat log ancaman.

gcloud

Flag opsional

Perintah di bagian ini mungkin memiliki beberapa atau semua flag opsional berikut:

--no-async
Tunggu hingga operasi yang sedang berlangsung selesai, bukan langsung ditampilkan.
--filter=EXPRESSION
Terapkan EKSPRESI filter Boolean ke setiap item resource yang akan dicantumkan. Jika ekspresi bernilai True, item tersebut akan dicantumkan. Untuk mengetahui detail dan contoh ekspresi filter selengkapnya, jalankan $ gcloud topic filters. Flag ini berinteraksi dengan flag lain yang diterapkan dalam urutan ini: --flatten, --sort-by, --filter, --limit.
--limit=LIMIT
Jumlah maksimum resource yang akan dicantumkan. Setelan defaultnya adalah tidak terbatas. Flag ini berinteraksi dengan flag lain yang diterapkan dalam urutan ini: --flatten, --sort-by, --filter, --limit.
--page-size=PAGE_SIZE
Cloud IDS mengelompokkan output daftar resource ke dalam halaman. Flag ini menentukan jumlah maksimum resource per halaman. Defaultnya ditentukan oleh layanan jika mendukung paging; jika tidak, tidak terbatas (tanpa paging). Pembagian halaman dapat diterapkan sebelum atau setelah --filter dan --limit, bergantung pada layanan.
--sort-by=[FIELD,…]
Daftar yang dipisahkan koma dari nama kunci kolom resource yang digunakan untuk pengurutan. Urutan defaultnya adalah menaik. Beri awalan kolom dengan ``~´´ untuk urutan menurun pada kolom tersebut. Flag ini berinteraksi dengan flag lain yang diterapkan dalam urutan ini: --flatten, --sort-by, --filter, --limit.
--uri
Mencetak daftar URI resource, bukan output default.
--threat-exceptions
Daftar ID ancaman yang dipisahkan koma untuk dikecualikan dari pemberitahuan di endpoint ini. Dibatasi hingga 99 pengecualian per endpoint.

Petunjuk

Untuk membuat endpoint IDS baru, lakukan langkah-langkah berikut:

  1. Gunakan perintah gcloud ids endpoints create. Ganti ENDPOINT_NAME, VPC_NETWORK, ZONE, dan SEVERITY dengan informasi yang cocok dengan aplikasi Anda.

    gcloud ids endpoints create ENDPOINT_NAME \
      --network=VPC_NETWORK \
      --zone=ZONE \
      --severity=SEVERITY \
     [--no-async] \
     [GCLOUD_WIDE_FLAG...]
    
  2. Flag tingkat keparahan diperlukan, dan menggunakan salah satu nilai berikut:

    • INFORMASI
    • RENDAH
    • SEDANG
    • TINGGI
    • KRITIS
  3. Setelah endpoint dibuat, lampirkan kebijakan Duplikasi Paket ke endpoint tersebut. Pertama, dapatkan URL dari kolom endpoint_forwarding_rule menggunakan perintah berikut:

    gcloud ids endpoints describe ENDPOINT_NAME
    
  4. Buat kebijakan Duplikasi Paket menggunakan perintah berikut:

    gcloud compute packet-mirrorings create POLICY_NAME \
    --region=REGION --collector-ilb=ENDPOINT_FORWARDING_RULE \
    --network=VPC_NETWORK --mirrored-subnets=SUBNET
    
  5. Duplikasi Paket memiliki beberapa flag opsional, termasuk flag yang dapat Anda gunakan untuk memfilter traffic berdasarkan protokol, rentang alamat IP, atau traffic masuk atau keluar. Untuk mengetahui informasi selengkapnya tentang flag opsional ini, lihat referensi Duplikasi Paket.

Untuk menghapus endpoint IDS, gunakan perintah gcloud ids endpoints delete. Ganti ENDPOINT_NAME, PROJECT_ID, dan ZONE dengan informasi yang cocok dengan aplikasi Anda:

gcloud ids endpoints delete ENDPOINT_NAME \
   [--project=PROJECT_ID] \
   [--zone=ZONE] \
   [--no-async] \
   [GCLOUD_WIDE_FLAG...]

Untuk mendeskripsikan endpoint IDS, gunakan perintah gcloud ids endpoints describe. Ganti ENDPOINT_NAME, PROJECT_ID, dan ZONE dengan informasi yang cocok dengan aplikasi Anda:

gcloud ids endpoints describe ENDPOINT_NAME \
   [--project=PROJECT_ID] \
   [--zone=ZONE] \
   [GCLOUD_WIDE_FLAG...]

Untuk mencantumkan endpoint IDS, gunakan perintah gcloud ids endpoints list:

gcloud ids endpoints list /
    [--filter=EXPRESSION] \
    [--limit=LIMIT] \
    [--page-size=PAGE_SIZE] \
    [--sort-by=[FIELD,...]] \
    [--uri] \
    [GCLOUD_WIDE_FLAG...]

API

Resource endpoint Cloud IDS memiliki kolom berikut:

Kolom Jenis Deskripsi kolom
createTime string [Output Only] Stempel waktu pembuatan dalam format teks RFC 3339.
updateTime string [Output Only] Stempel waktu pembaruan terakhir dalam format teks RFC 3339.
nama string [Output Only] Nama endpoint dalam format projects/{project_id}/locations/{locationId}/endpoints/{endpointId}.
jaringan string Nama jaringan VPC yang terhubung ke endpoint IDS. Kolom ini dapat berisi nama jaringan VPC itu sendiri (seperti "src-net") atau URL lengkap ke jaringan (seperti "projects/{project_id}/global/networks/src-net"). Kolom ini diperlukan saat membuat endpoint.
tingkat keseriusan, string

Tingkat keparahan pemberitahuan minimum yang dilaporkan oleh endpoint. Kemungkinan nilainya adalah sebagai berikut:

  • INFORMASI
  • RENDAH
  • SEDANG
  • TINGGI
  • KRITIS

Kolom ini wajib diisi saat membuat endpoint.

deskripsi string Deskripsi opsional endpoint.
endpoint_forwarding_rule string [Output Only] URL alamat jaringan endpoint tempat traffic akan dikirim oleh Duplikasi Paket.
endpoint string [Output Only] Alamat IP internal titik entri jaringan endpoint.

Untuk membuat endpoint Cloud IDS, gunakan permintaan POST HTTP seperti berikut, dengan mengganti variabel sebagaimana mestinya. ENDPOINT_NAME harus antara 1-63 karakter; hanya boleh berisi huruf kecil, angka, dan tanda hubung; harus dimulai dengan huruf kecil; dan tidak boleh diakhiri dengan tanda hubung.

POST https://ids.googleapis.com/v1/projects/PROJECT_NAME/locations/ZONE/endpoints?endpointId=ENDPOINT_NAME
{
    "network": "NETWORK_NAME",
    "severity": "SEVERITY_LEVEL",
}

Untuk menghapus endpoint Cloud IDS, gunakan permintaan HTTP DELETE seperti berikut, dengan mengganti variabel sebagaimana mestinya:

DELETE https://ids.googleapis.com/v1/projects/PROJECT_NAME/locations/ZONE/endpoints?endpointId=ENDPOINT_NAME

Untuk mendapatkan endpoint Cloud IDS, gunakan permintaan HTTP GET seperti berikut, dengan mengganti variabel sebagaimana mestinya:

GET https://ids.googleapis.com/v1/projects/PROJECT_NAME/locations/ZONE/endpoints?endpointId=ENDPOINT_NAME

Untuk mencantumkan semua endpoint Cloud IDS di zona, gunakan permintaan HTTP GET seperti berikut, dengan mengganti variabel yang sesuai:

GET https://ids.googleapis.com/v1/projects/PROJECT_NAME/locations/ZONE/endpoints

Atau, untuk mencantumkan semua endpoint Cloud IDS di semua zona, Anda dapat mengganti ZONE dengan tanda hubung seperti berikut:

GET https://ids.googleapis.com/v1/projects/PROJECT_NAME/locations/-/endpoints

Opsional: Mengonfigurasi pengecualian ancaman

Anda dapat menonaktifkan ID ancaman yang berisi derau atau tidak perlu menggunakan flag --threat-exceptions saat membuat atau memperbarui endpoint Cloud IDS. Contoh berikut memperbarui endpoint Cloud IDS yang ada ENDPOINT_NAME untuk mengecualikan ID ancaman THREAT_ID1 dan THREAT_ID2:

   gcloud ids endpoints update ENDPOINT_NAME 
--threat-exceptions=THREAT_ID1,THREAT_ID2

Langkah selanjutnya