Bagikan melalui


Keamanan ekstensi

Artikel ini menjelaskan dasar-dasar ekstensi VM untuk server dengan dukungan Azure Arc dan detail bagaimana pengaturan ekstensi dapat disesuaikan.

Dasar-dasar ekstensi

Ekstensi VM untuk server berkemampuan Azure Arc adalah add-on opsional yang memungkinkan fungsionalitas lain, seperti pemantauan, manajemen patch, dan eksekusi skrip. Ekstensi diterbitkan oleh Microsoft dan memilih pihak ketiga dari Marketplace Azure dan disimpan di akun penyimpanan yang dikelola Microsoft. Semua ekstensi dipindai untuk malware sebagai bagian dari proses penerbitan. Ekstensi untuk server berkemampuan Azure Arc identik dengan yang tersedia untuk Azure VM, memastikan konsistensi di seluruh lingkungan operasi Anda.

Ekstensi diunduh langsung dari Azure Storage (*.blob.core.windows.net) pada saat ekstensi diinstal atau ditingkatkan, kecuali Anda telah mengonfigurasi titik akhir privat. Akun penyimpanan secara teratur berubah dan tidak dapat diprediksi terlebih dahulu. Saat titik akhir privat digunakan, ekstensi diproksi melalui URL regional untuk layanan Azure Arc sebagai gantinya.

File katalog yang ditandatangani secara digital diunduh secara terpisah dari paket ekstensi dan digunakan untuk memverifikasi integritas setiap ekstensi sebelum manajer ekstensi membuka atau menjalankan paket ekstensi. Jika file ZIP yang diunduh untuk ekstensi tidak cocok dengan konten dalam file katalog, operasi ekstensi akan dibatalkan.

Ekstensi mungkin mengambil pengaturan untuk menyesuaikan atau mengonfigurasi penginstalan, seperti URL proksi atau kunci API untuk menghubungkan agen pemantauan ke layanan cloud-nya. Pengaturan ekstensi hadir dalam dua ragam: pengaturan reguler dan pengaturan yang dilindungi. Pengaturan yang dilindungi tidak bertahan di Azure dan dienkripsi saat tidak aktif di komputer lokal Anda.

Semua operasi ekstensi berasal dari Azure melalui panggilan API, CLI, PowerShell, atau tindakan Portal. Desain ini memastikan bahwa tindakan apa pun untuk menginstal, memperbarui, atau meningkatkan ekstensi di server akan dicatat di Log Aktivitas Azure. Agen Azure Connected Machine memungkinkan ekstensi dihapus secara lokal untuk tujuan pemecahan masalah dan pembersihan. Namun, jika ekstensi dihapus secara lokal dan layanan masih mengharapkan mesin menginstal ekstensi, ekstensi akan diinstal ulang saat manajer ekstensi disinkronkan dengan Azure.

Eksekusi Skrip

Manajer ekstensi dapat digunakan untuk menjalankan skrip pada komputer menggunakan Ekstensi Skrip Kustom atau Perintah Jalankan. Secara default, skrip ini akan berjalan dalam konteks pengguna manajer ekstensi - Sistem Lokal di Windows atau root di Linux - yang berarti skrip ini akan memiliki akses tidak terbatas ke komputer. Jika Anda tidak berniat menggunakan fitur-fitur ini, Anda dapat memblokirnya menggunakan daftar izin atau daftar blokir. Contoh disediakan di bagian berikutnya.

Kontrol keamanan agen lokal

Dimulai dengan agen versi 1.16, Anda dapat secara opsional membatasi ekstensi yang dapat diinstal di server Anda dan menonaktifkan Konfigurasi Tamu. Kontrol ini dapat berguna saat menyambungkan server ke Azure untuk satu tujuan, seperti mengumpulkan log peristiwa, tanpa mengizinkan kemampuan manajemen lain digunakan di server.

Kontrol keamanan ini hanya dapat dikonfigurasi dengan menjalankan perintah di server itu sendiri dan tidak dapat dimodifikasi dari Azure. Pendekatan ini mempertahankan niat admin server saat mengaktifkan skenario manajemen jarak jauh dengan Azure Arc, tetapi juga berarti bahwa mengubah pengaturan lebih sulit jika Anda kemudian memutuskan untuk mengubahnya. Fitur ini ditujukan untuk server sensitif (misalnya, Active Directory Domain Controllers, server yang menangani data pembayaran, dan server tunduk pada langkah-langkah kontrol perubahan yang ketat). Dalam kebanyakan kasus lain, tidak perlu mengubah pengaturan ini.

Daftar izin dan daftar blokir

Agen Azure Connected Machine mendukung daftar yang diizinkan dan daftar blokir untuk membatasi ekstensi mana yang dapat diinstal pada komputer Anda. Daftar izin bersifat eksklusif, yang berarti bahwa hanya ekstensi tertentu yang Anda sertakan dalam daftar yang dapat diinstal. Daftar blokir bersifat eksklusif, yang berarti apa pun kecuali ekstensi tersebut dapat diinstal. Daftar yang diizinkan lebih disukai untuk memblokir daftar karena secara inheren memblokir ekstensi baru yang tersedia di masa mendatang. Daftar izin dan daftar blokir dikonfigurasi secara lokal per server. Ini memastikan bahwa tidak ada, bahkan pengguna dengan izin Pemilik atau Administrator Global di Azure, dapat mengambil alih aturan keamanan Anda dengan mencoba menginstal ekstensi yang tidak sah. Jika seseorang mencoba menginstal ekstensi yang tidak sah, manajer ekstensi akan menolak untuk menginstalnya dan menandai laporan penginstalan ekstensi kegagalan ke Azure. Daftar izin dan daftar blokir dapat dikonfigurasi kapan saja setelah agen diinstal, termasuk sebelum agen tersambung ke Azure.

Jika tidak ada daftar yang diizinkan atau daftar blokir yang dikonfigurasi pada agen, semua ekstensi diizinkan.

Opsi yang paling aman adalah secara eksplisit memungkinkan ekstensi yang Anda harapkan untuk diinstal. Ekstensi apa pun yang tidak ada dalam daftar yang diizinkan diblokir secara otomatis. Untuk mengonfigurasi agen Azure Connected Machine agar hanya mengizinkan Agen Azure Monitor untuk Linux, jalankan perintah berikut di setiap server:

azcmagent config set extensions.allowlist "Microsoft.Azure.Monitor/AzureMonitorLinuxAgent"

Berikut adalah contoh daftar blokir yang memblokir semua ekstensi dengan kemampuan menjalankan skrip arbitrer:

azcmagent config set extensions.blocklist "Microsoft.Cplat.Core/RunCommandHandlerWindows, Microsoft.Cplat.Core/RunCommandHandlerLinux,Microsoft.Compute/CustomScriptExtension,Microsoft.Azure.Extensions/CustomScript,Microsoft.Azure.Automation.HybridWorker/HybridWorkerForWindows,Microsoft.Azure.Automation/HybridWorkerForLinux,Microsoft.EnterpriseCloud.Monitoring/MicrosoftMonitoringAgent, Microsoft.EnterpriseCloud.Monitoring/OMSAgentForLinux"

Tentukan ekstensi dengan penerbit dan jenisnya, dipisahkan oleh garis miring /. Lihat daftar ekstensi yang paling umum di dokumen atau cantumkan ekstensi VM yang sudah diinstal di server Anda di portal, Azure PowerShell, atau Azure CLI.

Tabel menjelaskan perilaku saat melakukan operasi ekstensi terhadap agen yang memiliki daftar izin atau daftar blokir yang dikonfigurasi.

Operasi Dalam daftar yang diizinkan Dalam daftar blokir Dalam daftar izin dan daftar blokir Tidak dalam daftar apa pun, tetapi daftar yang diizinkan dikonfigurasi
Menginstal ekstensi Diizinkan Terblokir Terblokir Terblokir
Memperbarui ekstensi (konfigurasi ulang) Diizinkan Terblokir Terblokir Terblokir
Tingkatkan ekstensi Diizinkan Terblokir Terblokir Terblokir
Hapus ekstensi Diizinkan Diizinkan Diizinkan Diizinkan

Penting

Jika ekstensi sudah diinstal di server Anda sebelum Anda mengonfigurasi daftar yang diizinkan atau daftar blokir, ekstensi tidak akan dihapus secara otomatis. Anda bertanggung jawab untuk menghapus ekstensi dari Azure untuk sepenuhnya menghapusnya dari komputer. Permintaan penghapusan selalu diterima untuk mengakomodasi skenario ini. Setelah dihapus, daftar izin dan daftar blokir menentukan apakah akan mengizinkan upaya penginstalan di masa mendatang atau tidak.

Dimulai dengan agen versi 1.35, ada nilai Allow/Nonedaftar izin khusus , yang menginstruksikan manajer ekstensi untuk berjalan, tetapi tidak mengizinkan ekstensi apa pun diinstal. Ini adalah konfigurasi yang direkomendasikan saat menggunakan Azure Arc untuk mengirimkan Pembaruan Keamanan Diperpanjang (ESU) Windows Server 2012 tanpa berniat menggunakan ekstensi lain.

azcmagent config set extensions.allowlist "Allow/None"

Kebijakan Azure juga dapat digunakan untuk membatasi ekstensi mana yang dapat diinstal. Kebijakan Azure memiliki keuntungan dapat dikonfigurasi di cloud dan tidak memerlukan perubahan pada setiap server individu jika Anda perlu mengubah daftar ekstensi yang disetujui. Namun, siapa pun yang memiliki izin untuk mengubah penetapan kebijakan dapat mengambil alih atau menghapus perlindungan ini. Jika Anda memilih untuk menggunakan Kebijakan Azure untuk membatasi ekstensi, pastikan Anda meninjau akun mana di organisasi Anda yang memiliki izin untuk mengedit penetapan kebijakan dan langkah-langkah kontrol perubahan yang sesuai telah diterapkan.

Praktik terbaik mesin terkunci

Saat mengonfigurasi agen Azure Connected Machine dengan serangkaian kemampuan yang berkurang, penting untuk mempertimbangkan mekanisme yang dapat digunakan seseorang untuk menghapus batasan tersebut dan menerapkan kontrol yang sesuai. Siapa pun yang mampu menjalankan perintah sebagai administrator atau pengguna root di server dapat mengubah konfigurasi agen Azure Connected Machine. Ekstensi dan kebijakan konfigurasi tamu dijalankan dalam konteks istimewa di server Anda, dan dengan demikian mungkin dapat mengubah konfigurasi agen. Jika Anda menerapkan kontrol keamanan agen lokal untuk mengunci agen, Microsoft merekomendasikan praktik terbaik berikut untuk memastikan hanya admin server lokal yang dapat memperbarui konfigurasi agen:

  • Gunakan daftar izin untuk ekstensi alih-alih daftar blokir jika memungkinkan.
  • Jangan sertakan Ekstensi Skrip Kustom dalam daftar yang diizinkan ekstensi untuk mencegah eksekusi skrip arbitrer yang dapat mengubah konfigurasi agen.
  • Nonaktifkan Konfigurasi Tamu untuk mencegah penggunaan kebijakan Konfigurasi Tamu kustom yang dapat mengubah konfigurasi agen.

Contoh konfigurasi untuk skenario pemantauan dan keamanan

Biasanya menggunakan Azure Arc untuk memantau server Anda dengan Azure Monitor dan Microsoft Sentinel dan mengamankannya dengan Microsoft Defender untuk Cloud. Bagian ini berisi contoh cara mengunci agen untuk hanya mendukung skenario pemantauan dan keamanan.

Khusus Agen Azure Monitor

Di server Windows Anda, jalankan perintah berikut di konsol perintah yang ditingkatkan:

azcmagent config set extensions.allowlist "Microsoft.Azure.Monitor/AzureMonitorWindowsAgent"
azcmagent config set guestconfiguration.enabled false

Di server Linux Anda, jalankan perintah berikut:

sudo azcmagent config set extensions.allowlist "Microsoft.Azure.Monitor/AzureMonitorLinuxAgent"
sudo azcmagent config set guestconfiguration.enabled false

Log Analytics dan dependensi (Azure Monitor VM Insights) saja

Konfigurasi ini untuk agen Analitik Log warisan dan agen dependensi.

Di server Windows Anda, jalankan perintah berikut di konsol yang ditingkatkan:

azcmagent config set extensions.allowlist "Microsoft.EnterpriseCloud.Monitoring/MicrosoftMonitoringAgent,Microsoft.Azure.Monitoring.DependencyAgent/DependencyAgentWindows"
azcmagent config set guestconfiguration.enabled false

Di server Linux Anda, jalankan perintah berikut:

sudo azcmagent config set extensions.allowlist "Microsoft.EnterpriseCloud.Monitoring/OMSAgentForLinux,Microsoft.Azure.Monitoring.DependencyAgent/DependencyAgentLinux"
sudo azcmagent config set guestconfiguration.enabled false

Pemantauan dan keamanan

Microsoft Defender untuk Cloud menyebarkan ekstensi di server Anda untuk mengidentifikasi perangkat lunak yang rentan di server Anda dan mengaktifkan Microsoft Defender untuk Titik Akhir (jika dikonfigurasi). Microsoft Defender untuk Cloud juga menggunakan Konfigurasi Tamu untuk fitur kepatuhan terhadap peraturannya. Karena penetapan Konfigurasi Tamu kustom dapat digunakan untuk membatalkan batasan agen, Anda harus mengevaluasi dengan hati-hati apakah Anda memerlukan fitur kepatuhan peraturan atau tidak dan, akibatnya, Konfigurasi Tamu diaktifkan pada komputer.

Di server Windows Anda, jalankan perintah berikut di konsol perintah yang ditingkatkan:

azcmagent config set extensions.allowlist "Microsoft.EnterpriseCloud.Monitoring/MicrosoftMonitoringAgent,Qualys/WindowsAgent.AzureSecurityCenter,Microsoft.Azure.AzureDefenderForServers/MDE.Windows,Microsoft.Azure.AzureDefenderForSQL/AdvancedThreatProtection.Windows"
azcmagent config set guestconfiguration.enabled true

Di server Linux Anda, jalankan perintah berikut:

sudo azcmagent config set extensions.allowlist "Microsoft.EnterpriseCloud.Monitoring/OMSAgentForLinux,Qualys/LinuxAgent.AzureSecurityCenter,Microsoft.Azure.AzureDefenderForServers/MDE.Linux"
sudo azcmagent config set guestconfiguration.enabled true

Mode agen

Cara yang lebih sederhana untuk mengonfigurasi kontrol keamanan lokal untuk skenario pemantauan dan keamanan adalah dengan menggunakan mode monitor, tersedia dengan agen versi 1.18 dan yang lebih baru. Mode adalah konfigurasi yang telah ditentukan sebelumnya dari daftar izin ekstensi dan agen konfigurasi tamu yang dikelola oleh Microsoft. Saat ekstensi baru tersedia yang memungkinkan skenario pemantauan, Microsoft akan memperbarui daftar izin dan konfigurasi agen untuk menyertakan atau mengecualikan fungsionalitas baru, sebagaimana mewajarkan.

Ada dua mode yang dapat dipilih:

  1. full - mode default. Ini memungkinkan semua fungsionalitas agen.
  2. monitor - mode terbatas yang menonaktifkan agen kebijakan konfigurasi tamu dan hanya memungkinkan penggunaan ekstensi yang terkait dengan pemantauan dan keamanan.

Untuk mengaktifkan mode monitor, jalankan perintah berikut:

azcmagent config set config.mode monitor

Anda dapat memeriksa mode agen saat ini dan ekstensi yang diizinkan dengan perintah berikut:

azcmagent config list

Saat dalam mode pemantauan, Anda tidak dapat mengubah daftar izin ekstensi atau daftar blokir. Jika Anda perlu mengubah salah satu daftar, ubah agen kembali ke mode penuh dan tentukan daftar izin dan daftar blokir Anda sendiri.

Untuk mengubah agen kembali ke mode penuh, jalankan perintah berikut:

azcmagent config set config.mode full

Menonaktifkan manajer ekstensi

Jika Anda tidak perlu menggunakan ekstensi dengan Azure Arc, Anda juga dapat menonaktifkan manajer ekstensi sepenuhnya. Anda dapat menonaktifkan manajer ekstensi dengan perintah berikut (berjalan secara lokal di setiap komputer):

azcmagent config set extensions.enabled false

Menonaktifkan manajer ekstensi tidak akan menghapus ekstensi apa pun yang sudah diinstal di server Anda. Ekstensi yang dihosting di layanan Windows atau Linux mereka sendiri, seperti Agen Analitik Log, mungkin terus berjalan meskipun manajer ekstensi dinonaktifkan. Ekstensi lain yang dihosting oleh manajer ekstensi itu sendiri, seperti Agen Azure Monitor, tidak berjalan jika manger ekstensi dinonaktifkan. Anda harus menghapus ekstensi apa pun sebelum menonaktifkan manajer ekstensi untuk memastikan tidak ada ekstensi yang terus berjalan di server.