Pengumpulan dan keamanan data klien penemuan

Dokumen ini membahas masalah dan pertanyaan tentang penginstalan discovery client Pusat Migrasi di pusat data. Hal ini menekankan pentingnya keamanan, kepatuhan, dan performa saat menemukan dan mengumpulkan data dari aset IT pelanggan di lingkungan yang diatur dengan ketat.

Cara pengumpulan data dilakukan

Klien penemuan menggunakan beberapa metode untuk mengumpulkan data dari mesin target. Data yang dikumpulkan bervariasi bergantung pada metodenya. Di tingkat tamu, data dikumpulkan menggunakan skrip pengumpulan; di tingkat hypervisor, data dikumpulkan menggunakan API platform yang mendasarinya.

Layanan dan proses Discovery client

Klien penemuan berjalan sebagai layanan yang disebut GoogleMCDC dalam proses yang disebut mcdc_service.exe.

Skrip koleksi

Semua metode pengumpulan tingkat tamu yang digunakan oleh klien penemuan menjalankan skrip pengumpulan di mesin target. Anda dapat meninjau skrip sebenarnya yang digunakan untuk pengumpulan di link berikut:

Skrip pengumpulan menyimpan hasil dalam file arsip (zip atau tar) yang kemudian diambil oleh discovery client.

Mekanisme pengumpulan

Klien penemuan dapat menggunakan satu atau beberapa mekanisme pengumpulan yang dijelaskan di bagian berikut untuk mengumpulkan data dari mesin target.

SSH (Linux)

Selama pengumpulan SSH, proses berikut akan terjadi:

  1. Sesi SSH dimulai antara komputer kolektor dan server target.
  2. Direktori sementara dibuat di bagian ~/.mcdc-temp/.
  3. Skrip pengumpulan disalin ke direktori tersebut.
  4. Skrip pengumpulan dieksekusi.
  5. Arsip hasil diambil menggunakan SCP.
  6. Direktori sementara akan dibersihkan.

WMI (Windows)

Selama pengumpulan WMI di Windows, proses berikut akan terjadi:

  1. Koneksi WMI dimulai ke mesin target.
  2. Kunci registry sementara (volatil) dibuat di mesin target di bagian HKLM:\SOFTWARE\Google\Collector\data.
  3. Skrip pengumpulan disalin ke kunci registry.
  4. Direktori sementara dibuat di bagian C:\temp.
  5. Skrip pengumpulan ditulis ke direktori sementara.
  6. Skrip pengumpulan dieksekusi.
  7. Hasil pengumpulan ditulis ke kunci registry yang tidak stabil.
  8. Hasilnya disalin ke mesin kolektor.

VMware Guest Tools (Linux dan Windows)

Selama pengumpulan VMware untuk Linux dan Windows, proses berikut akan terjadi:

  1. Direktori sementara dibuat menggunakan alat tamu VMware.
  2. Skrip pengumpulan disalin ke direktori tersebut.
  3. Skrip pengumpulan dieksekusi.
  4. Arsip hasil diambil menggunakan alat tamu VMware.
  5. Direktori sementara akan dibersihkan.

Pengumpulan data berkala

Klien penemuan mengumpulkan data dari semua server yang dikonfigurasi secara berkala. Ada dua jenis koleksi:

  • Pengumpulan lengkap: Berjalan sekali sehari untuk setiap server. Pengumpulan ini menjalankan skrip pengumpulan lengkap yang mengumpulkan berbagai informasi di VM seperti hardware, lingkungan, software yang diinstal, proses yang berjalan, dan lainnya.
  • Pengumpulan performa: Berjalan setiap 10 menit di setiap server. Kumpulan ini mengeksekusi skrip pengumpulan performa yang mengumpulkan data tentang penggunaan CPU, memori, jaringan, dan disk.

Data yang dikumpulkan

Skrip pengumpulan mengumpulkan data tentang VM target untuk memahami cara VM tersebut dikonfigurasi dan resource yang digunakannya. Hal ini membantu dalam menilai dan merencanakan migrasi mereka ke cloud.

Daftar berikut menjelaskan data yang dikumpulkan:

  • Informasi sistem: Informasi dasar yang penting untuk menentukan ukuran VM, persyaratan performa, dan dependensi pada hardware atau driver tertentu. Hal ini mencakup:
    • Sistem operasi (versi dan rilis)
    • Hardware (detail CPU, memori, BIOS)
    • Konfigurasi jaringan (antarmuka jaringan, alamat IP, tabel perutean)
    • Penyimpanan (drive disk, partisi, titik pemasangan)
  • Software dan layanan yang diinstal: Skrip mengumpulkan daftar paket yang diinstal dan layanan yang berjalan untuk memahami stack software VM dan perannya. Hal ini mencakup:
    • Server web (Apache, Tomcat, JBoss)
    • Database (bukti SQL Server dikumpulkan dalam skrip Windows)
    • Aplikasi lain yang mungkin memerlukan konfigurasi tertentu selama migrasi.
  • Konfigurasi aplikasi: Skrip juga mengumpulkan file konfigurasi untuk server web (IIS, Apache, Tomcat, JBoss, WordPress). Hal ini membantu dalam memahami setelan dan dependensi tertentu dari aplikasi ini, yang sangat penting untuk memastikan transisi yang lancar ke lingkungan cloud.
  • Deteksi VMWare dan lingkungan cloud: Skrip Linux dan Windows mencoba mendeteksi apakah VM sudah berjalan di lingkungan cloud (AWS atau Google Cloud), atau di cluster VCenter. Hal ini dilakukan dengan membuat permintaan ke server metadata penyedia cloud tersebut. Jika VM sudah ada di cloud, skrip akan mengumpulkan metadata yang relevan seperti ID instance, jenis instance, dan detail lainnya.
  • Metrik performa: Skrip pengumpulan performa mengukur penggunaan resource. Hal ini mencakup hal berikut:
    • CPU
    • Memori
    • Operasi I/O
    • Jaringan
  • Koneksi jaringan: Skrip mengumpulkan koneksi terbuka untuk membantu membuat gambaran tentang berbagai dependensi pada resource jaringan.

Dampak performa pada mesin target

Penilaian pemanfaatan resource

Penggunaan resource skrip pengumpulan di mesin target bergantung pada parameter seperti jumlah proses yang berjalan, jumlah aplikasi yang di-deploy, jumlah koneksi jaringan aktif, dan lainnya.

Di Windows, skrip pengumpulan berjalan menggunakan prioritas terendah yang tersedia melalui Threading API. Di Linux, nilai nice 5 digunakan untuk meminimalkan gangguan pada beban kerja produksi, dan memastikan bahwa beban kerja tersebut memiliki prioritas yang lebih tinggi daripada skrip pengumpulan.

Pengumpulan biasa mungkin memerlukan penggunaan CPU inti tunggal yang tinggi selama 5-20 detik di mesin yang tidak dimuat. Mungkin perlu waktu lebih lama jika ada beban kerja lain, karena beban kerja ini memiliki prioritas yang lebih tinggi.

Strategi mitigasi

Klien penemuan menyediakan mekanisme untuk mencegah pengumpulan server tertentu selama jam tertentu. Fitur ini dapat digunakan untuk mencegah pengumpulan dari server yang menjalankan beban kerja penting selama jam sibuk.

Pertimbangan keamanan

Autentikasi dan otorisasi

Komunikasi dengan mesin target

  • Klien penemuan menggunakan saluran aman untuk mengautentikasi dan berkomunikasi dengan mesin target. Hal ini mencakup SSH, WMI, alat VMware, dan koneksi VCenter. Klien penemuan menggunakan langkah-langkah keamanan bawaan sebagai bagian dari protokol ini.
  • Di SSH, klien penemuan mengizinkan autentikasi berbasis nama pengguna dan sandi. Untuk mengetahui daftar lengkap jenis pasangan kunci yang didukung, lihat Persyaratan aset target.

Komunikasi dengan Google Cloud

  • Discovery client terdaftar berkomunikasi dengan Migration Center Google Cloud selama operasi normalnya. Komunikasi terjadi melalui akun layanan dengan binding peran roles/migrationcenter.discoveryClient. Akun layanan dibuat secara otomatis, atau diberikan oleh pengguna selama proses pendaftaran.
  • Kunci pribadi akun layanan dienkripsi di komputer klien penemuan menggunakan mekanisme enkripsi yang dijelaskan di bagian berikut.
  • Semua komunikasi ke Google Cloud diautentikasi menggunakan akun layanan ini, dan dienkripsi menggunakan SSL/TLS.

Enkripsi data

  • Dalam pengiriman: semua saluran komunikasi klien penemuan menggunakan enkripsi untuk melindungi data dalam pengiriman. Hal ini mencakup komunikasi dengan mesin target menggunakan berbagai protokol (SSH/WMI), dan komunikasi dengan Google Cloud menggunakan HTTPS.
  • Dalam penyimpanan: PII, SPII, dan secret klien penemuan semuanya dienkripsi dalam penyimpanan menggunakan algoritma AES128_GCM dan menggunakan DPAPI Windows untuk menyimpan kunci enkripsi dengan aman.

Deteksi dan pencegahan penyusupan

Karena klien penemuan digunakan untuk menghubungkan dan menjalankan skrip di banyak VM di organisasi Anda, klien penemuan dapat memicu pemberitahuan EDR atau xDR. Hal ini sangat bergantung pada cara alat keamanan Anda dikonfigurasi dan alat tertentu yang Anda gunakan. Perhatikan dan pertimbangkan untuk membuat pengecualian untuk pemberitahuan dan perangkat tertentu.

Logging dan dukungan

Discovery client mengumpulkan log selama operasinya untuk memungkinkan proses debug dan dukungan. Log klien penemuan dikumpulkan menggunakan dua mekanisme:

  • Log lokal: Log ditulis ke file di bagian C:\ProgramData\Google\mcdc\logs. File log dirotasi dan dikompresi.
  • Log cloud: Klien terdaftar juga mengirim log ke Google Cloud sehingga log tersebut dapat digunakan oleh tim dukungan Google Cloud saat masalah pelanggan dilaporkan.