Perlindungan beberapa lapis untuk akses Azure Virtual Machine

Microsoft Entra ID
Azure Bastion
Azure Role-based access control
Microsoft Defender for Cloud

Ide solusi

Artikel ini adalah ide solusi. Jika Anda ingin kami memperluas konten dengan informasi lebih lanjut, seperti potensi kasus penggunaan, layanan alternatif, pertimbangan implementasi, atau panduan harga, beri tahu kami dengan memberikan umpan balik GitHub.

Solusi ini menyediakan pendekatan berlapis untuk melindungi mesin virtual (VM) di Azure. Pengguna perlu terhubung ke VM untuk tujuan manajemen dan administratif. Sangat penting untuk meminimalkan permukaan serangan yang dibuat konektivitas.

Solusi ini mencapai akses terperinci non-persisten ke VM dengan menggabungkan beberapa mekanisme perlindungan. Hal ini sejalan dengan prinsip hak istimewa minimal (PoLP) dan konsep pemisahan tugas. Untuk mengurangi paparan serangan, solusi ini mengunci lalu lintas masuk ke VM, tetapi membuat koneksi VM dapat diakses bila diperlukan. Menerapkan jenis perlindungan ini meminimalkan risiko banyak serangan cyber populer pada VM, seperti serangan brute-force dan serangan denial-of-service (DDoS) terdistribusi.

Solusi ini menggunakan banyak layanan dan fitur Azure termasuk:

  • Microsoft Entra Privileged Identity Management (PIM).
  • Fitur akses VM just-in-time (JIT) dari Microsoft Defender untuk Cloud.
  • Azure Bastion.
  • Peran kustom kontrol akses berbasis peran Azure (Azure RBAC).
  • Microsoft Entra Conditional Access, secara opsional.

Kemungkinan kasus penggunaan

Pertahanan secara mendalam adalah ide utama di balik arsitektur ini. Strategi ini menantang pengguna dengan beberapa garis pertahanan sebelum memberikan pengguna akses ke VM. Tujuannya adalah untuk memastikan bahwa:

  • Setiap pengguna sah.
  • Setiap pengguna memiliki niat hukum.
  • Komunikasi aman.
  • Akses ke VM di Azure hanya disediakan saat diperlukan.

Strategi pertahanan secara mendalam dan solusi dalam artikel ini berlaku untuk banyak skenario:

  • Administrator perlu mengakses Azure VM dalam situasi seperti ini:

    • Administrator perlu memecahkan masalah, menyelidiki perilaku, atau menerapkan pembaruan penting.
    • Administrator menggunakan Remote Desktop Protocol (RDP) untuk mengakses VM Windows atau shell aman (SSH) untuk mengakses VM Linux.
    • Akses harus mencakup jumlah minimum izin yang dibutuhkan pekerjaan.
    • Akses harus berlaku hanya untuk waktu yang terbatas.
    • Setelah akses berakhir, sistem harus mengunci akses VM untuk mencegah upaya akses berbahaya.
  • Karyawan memerlukan akses ke stasiun kerja jarak jauh yang dihosting di Azure sebagai VM. Ketentuan berikut berlaku:

    • Karyawan harus mengakses VM hanya selama jam kerja.
    • Sistem keamanan harus mempertimbangkan permintaan untuk mengakses VM di luar jam kerja yang tidak perlu dan berbahaya.
  • Pengguna ingin terhubung ke beban kerja Azure VM. Sistem harus menyetujui koneksi yang hanya dari perangkat yang dikelola dan sesuai.

  • Sistem telah mengalami banyak sekali serangan brute-force:

    • Serangan ini telah menargetkan Azure VM pada port RDP dan SSH 3389 dan 22.
    • Serangan telah mencoba menebak info masuk.
    • Solusinya harus mencegah port akses seperti 3389 dan 22 terpapar internet atau lingkungan lokal.

Arsitektur

Architecture diagram showing how a user gains temporary access to an Azure V M.

Unduh file Visio arsitektur ini.

Aliran data

  1. Keputusan autentikasi dan akses: Pengguna diautentikasi terhadap ID Microsoft Entra untuk akses ke portal Azure, AZURE REST API, Azure PowerShell, atau Azure CLI. Jika autentikasi berhasil, kebijakan Akses Bersyarat Microsoft Entra akan berlaku. Kebijakan tersebut memverifikasi apakah pengguna memenuhi kriteria tertentu. Contohnya termasuk menggunakan perangkat terkelola atau masuk dari lokasi yang dikenal. Jika pengguna memenuhi kriteria, Akses Bersyarat memberikan akses pengguna ke Azure melalui portal Microsoft Azure atau antarmuka lain.

  2. Akses just-in-time berbasis identitas: Selama otorisasi, Microsoft Entra PIM menetapkan peran kustom jenis pengguna yang memenuhi syarat. Kelayakan terbatas pada sumber daya yang diperlukan dan merupakan peran yang terikat waktu, bukan yang permanen. Dalam jangka waktu tertentu, pengguna meminta aktivasi peran ini melalui antarmuka Azure PIM. Permintaan tersebut dapat memicu tindakan lain, seperti memulai alur kerja persetujuan atau mendorong pengguna untuk autentikasi multifaktor untuk memverifikasi identitas. Dalam alur kerja persetujuan, orang lain perlu menyetujui permintaan tersebut. Jika tidak, pengguna tidak diberikan peran kustom dan tidak dapat melanjutkan ke langkah berikutnya.

  3. Akses just-in-time berbasis jaringan: Setelah autentikasi dan otorisasi, peran kustom ditautkan ke identitas pengguna untuk sementara. Kemudian pengguna meminta akses JIT VM. Akses itu membuka koneksi dari subnet Azure Bastion di port 3389 untuk RDP atau port 22 untuk SSH. Koneksi berjalan langsung ke kartu antarmuka jaringan (NIC) atau subnet VM NIC. Azure Bastion membuka sesi RDP internal dengan menggunakan koneksi tersebut. Sesi ini terbatas pada jaringan virtual Azure dan tidak terpapar ke internet publik.

  4. Koneksi ke Azure VM: Pengguna mengakses Azure Bastion dengan menggunakan token sementara. Melalui layanan ini, pengguna membuat koneksi RDP tidak langsung ke Azure VM. Koneksi hanya berfungsi untuk waktu yang terbatas.

Komponen

Solusi ini menggunakan komponen-komponen berikut:

  • Azure Virtual Machines merupakan infrastruktur sebagai layanan (IaaS) yang ditawarkan. Anda dapat menggunakan Virtual Machines untuk menyebarkan sumber daya komputasi sesuai permintaan dan terukur. Di lingkungan produksi yang menggunakan solusi ini, terapkan beban kerja Anda di Azure VM. Kemudian hapus eksposur yang tidak perlu ke VM dan aset Azure Anda.

  • MICROSOFT Entra ID adalah layanan identitas berbasis cloud yang mengontrol akses ke Azure dan aplikasi cloud lainnya.

  • PIM adalah layanan Microsoft Entra yang mengelola, mengontrol, dan memantau akses ke sumber daya penting. Dalam solusi ini, layanan ini:

    • Membatasi akses administrator permanen ke peran istimewa standar dan kustom.
    • Menyediakan akses berbasis identitas just-in-time ke peran kustom.
  • Akses JIT VM adalah fitur Defender untuk Cloud yang menyediakan akses berbasis jaringan just-in-time ke VM. Fitur ini menambahkan aturan penolakan ke grup keamanan jaringan Azure yang melindungi antarmuka jaringan VM atau subnet yang berisi antarmuka jaringan VM. Aturan itu meminimalkan permukaan serangan VM dengan memblokir komunikasi yang tidak perlu ke VM. Saat pengguna meminta akses ke VM, layanan menambahkan aturan izinkan sementara ke grup keamanan jaringan. Karena aturan izinkan memiliki prioritas yang lebih tinggi daripada aturan penolakan, pengguna dapat terhubung ke VM. Azure Bastion berfungsi paling baik untuk menghubungkan ke VM. Tetapi pengguna juga dapat menggunakan sesi RDP atau SSH langsung.

  • Azure RBAC adalah sistem otorisasi yang menyediakan manajemen akses yang mendetail ke sumber daya Azure.

  • Peran kustom Azure RBAC menyediakan cara untuk memperluas peran bawaan Azure RBAC. Anda dapat menggunakannya untuk menetapkan izin pada tingkat yang memenuhi kebutuhan organisasi Anda. Peran ini mendukung PoLP. Mereka hanya memberikan izin yang dibutuhkan pengguna untuk tujuan pengguna. Untuk mengakses VM dalam solusi ini, pengguna mendapatkan izin untuk:

    • Menggunakan Azure Bastion.
    • Meminta akses JIT VM di Defender untuk Cloud.
    • Membaca atau membuat daftar VM.
  • Microsoft Entra Conditional Access adalah alat yang digunakan MICROSOFT Entra ID untuk mengontrol akses ke sumber daya. Kebijakan Akses Bersyarat mendukung model keamanan zero trust. Dalam solusi ini, kebijakan memastikan bahwa hanya pengguna yang diautentikasi yang mendapatkan akses ke sumber daya Azure.

  • Azure Bastion menyediakan konektivitas RDP dan SSH yang aman dan lancar ke VM dalam jaringan. Dalam solusi ini, Azure Bastion menghubungkan pengguna yang menggunakan Microsoft Edge atau browser internet lain untuk HTTPS, atau lalu lintas aman di port 443. Azure Bastion menyiapkan koneksi RDP ke VM. Port RDP dan SSH tidak terpapar ke internet atau asal pengguna.

    Azure Bastion bersifat opsional dalam solusi ini. Pengguna dapat terhubung langsung ke Azure VM dengan menggunakan protokol RDP. Jika Anda mengonfigurasi Azure Bastion di jaringan virtual Azure, siapkan subnet terpisah yang disebut AzureBastionSubnet. Kemudian kaitkan grup keamanan jaringan dengan subnet tersebut. Dalam grup tersebut, tentukan sumber lalu lintas HTTPS seperti blok perutean antar-domain tanpa kelas (CIDR) IP lokal pengguna. Dengan menggunakan konfigurasi ini, Anda memblokir koneksi yang tidak berasal dari lingkungan lokal pengguna.

    Kontributor

Artikel ini dikelola oleh Microsoft. Ini awalnya ditulis oleh kontributor berikut.

Penulis utama:

Untuk melihat profil LinkedIn non-publik, masuk ke LinkedIn.

Langkah berikutnya