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 menyelesaikan 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). Entity 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). Pengakses lihat-saja dan akun utama project dengan peran ini memiliki akses hanya baca ke endpoint IDS. Jika Anda adalah pemilik, editor, atau pelihat project, berarti 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 komputasi (roles/compute.packetMirroringUser). Peran 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, baca referensi peran dasar dan standar 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 diperlukan untuk melihat ancaman terbaru, yang merupakan fitur inti penting 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-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). Langkah 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 sesuai dengan 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 Anda. Dalam perintah berikut, Anda dapat menghilangkan kolom addresses dan Google Cloud akan memilih rentang alamat 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. Membuat 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 secara opsional mengaktifkan Kontrol Layanan VPC di Cloud IDS. Jika diaktifkan, jalankan perintah services vpc-peerings enable-vpc-service-controls guna 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

  • PROJECT_ID: ID project yang berisi jaringan VPC Anda

Membuat endpoint Cloud IDS

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

Konsol

  1. Di Konsol Google Cloud, buka IDS Endpoints.

    Buka Endpoint IDS

Konfigurasikan endpoint:

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

Pilih profil layanan Cloud IDS:

  1. Klik Select IDS service profile.
  2. Di bagian Tingkat keparahan ancaman minimum, pilih tingkat notifikasi 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 Endpoint.
  2. Di samping endpoint IDS, klik Lampirkan.
  3. Di kolom Nama kebijakan, masukkan nama untuk kebijakan Duplikasi Paket.
  4. Klik Next.
  5. Pilih subnet atau instance yang akan diduplikasi. Anda dapat memilih beberapa subnet dan instance.
  6. Klik Next.
  7. Tentukan apakah Anda ingin menduplikasi semua traffic atau memfilter traffic:
    1. Jika Anda ingin menduplikasi semua traffic, pastikan Cerminkan Semua Traffic dipilih.
    2. Jika Anda ingin memfilter traffic berdasarkan protokol, rentang alamat IP, atau traffic masuk atau keluar, pilih Duplikasi traffic yang difilter:
      1. Pilih Izinkan semua protokol atau Izinkan protokol tertentu.
      2. Pilih Izinkan semua rentang IP atau Izinkan rentang IP tertentu.
  8. Klik Submit. Endpoint 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 Detail ancaman untuk ancaman tersebut.
  3. Kembali ke tab Ancaman.
  4. Klik Menu di sebelah kanan endpoint IDS Anda, lalu pilih View ancaman logs.

gcloud

Tanda opsional

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

--no-async
Tunggu operasi yang sedang berlangsung, bukan langsung kembali.
--filter=EXPRESSION
Terapkan EKSPRESI filter Boolean ke setiap item resource yang akan dicantumkan. Jika ekspresi bernilai Benar (True), item tersebut akan dicantumkan. Untuk mengetahui detail dan contoh ekspresi filter lebih lanjut, jalankan filter topik $ gcloud. Tanda ini berinteraksi dengan tanda lain yang diterapkan dalam urutan ini: --flatten, --sort-by, --filter, --limit.
--limit=LIMIT
Jumlah maksimum resource yang akan dicantumkan. Setelan default-nya tidak terbatas. Tanda ini berinteraksi dengan tanda lain yang diterapkan dalam urutan ini: --flatten, --sort-by, --filter, --limit.
--page-size=PAGE_SIZE
Cloud IDS mengelompokkan output daftar resource ke dalam halaman. Tanda ini menentukan jumlah maksimum resource per halaman. Nilai default ditentukan oleh layanan jika mendukung paging; jika tidak, layanan tidak terbatas (tanpa paging). Paging dapat diterapkan sebelum atau setelah --filter dan --limit, bergantung pada layanannya.
--sort-by=[FIELD,…]
Daftar nama kunci kolom resource yang dipisahkan koma yang akan diurutkan. Urutan defaultnya adalah menaik. Awali kolom dengan ``~ ' ` untuk urutan menurun pada kolom tersebut. Tanda ini berinteraksi dengan tanda 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. Tanda tingkat keparahan diperlukan dan menggunakan salah satu nilai berikut:

    • INFORMASI
    • RENDAH
    • SEDANG
    • TINGGI
    • KRITIS
  3. Setelah endpoint dibuat, lampirkan kebijakan Duplikasi Paket ke endpoint. 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 yang dapat Anda gunakan untuk memfilter traffic berdasarkan protokol, rentang alamat IP, atau traffic masuk atau keluar. Untuk mengetahui informasi selengkapnya tentang tanda 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 menjelaskan 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 menampilkan daftar 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 [Khusus Output] Stempel waktu pembuatan dalam format teks RFC 3339.
updateTime string [Hanya Output] Stempel waktu pembaruan terakhir dalam format teks RFC 3339.
name string [Khusus Output] Nama endpoint dalam format projects/{project_id}/locations/{locationId}/endpoints/{endpointId}.
jaringan string Nama jaringan VPC yang terhubung ke endpoint IDS. Endpoint 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 wajib diisi saat membuat endpoint.
tingkat keseriusan string

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

  • INFORMASI
  • RENDAH
  • SEDANG
  • TINGGI
  • KRITIS

Kolom ini wajib ada saat membuat endpoint.

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

Untuk membuat endpoint Cloud IDS, gunakan permintaan POST HTTP seperti berikut, dengan mengganti variabel sesuai kebutuhan. Panjang 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 yang sesuai:

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 yang sesuai:

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

Untuk menampilkan daftar semua endpoint Cloud IDS dalam suatu 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 berisik atau tidak perlu dengan 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