Akses keamanan yang ditingkatkan ke aplikasi web multi-penyewa dari jaringan lokal

Azure App Service
Azure Virtual Network
Azure Private Link
Azure Key Vault
Azure Storage Accounts

Artikel ini menunjukkan cara menyiapkan konektivitas privat dengan keamanan yang ditingkatkan ke aplikasi web multipenyewa atau aplikasi fungsi dari jaringan lokal atau dari dalam jaringan virtual Azure. Ini juga menunjukkan cara mengatur konektivitas keamanan yang ditingkatkan antara aplikasi dan layanan Azure PaaS lainnya melalui Azure Private Link, tanpa menggunakan internet publik.

Sistem

Diagram yang menunjukkan arsitektur referensi untuk akses aman ke aplikasi web multipenyewa dari jaringan lokal.

Unduh file Visio arsitektur ini.

Aliran data

  • Menggunakan Azure App Service integrasi jaringan virtual regional, aplikasi web tersambung ke layanan Azure melalui subnet yang didelegasikan VNet Integration Subnet di jaringan virtual Azure.

    • Subnet Integrasi VNet dan jaringan Subnet Titik Akhir Privat adalah jaringan virtual terpisah dalam langganan yang berbeda. Kedua jaringan di-peering dengan Hub Virtual Network sebagai bagian dari konfigurasi jaringan hub-and-spoke. Untuk integrasi jaringan virtual regional, jaringan virtual yang di-peering harus berada di wilayah Azure yang sama.
  • Layanan Azure Private Link menyiapkan titik akhir privat untuk layanan PaaS, aplikasi web, database Azure SQL, akun penyimpanan Azure, dan brankas kunci Azure di Private Endpoint Virtual Network.

    Dalam contoh ini, jaringan virtual ini hanya didedikasikan untuk penyebaran titik akhir privat. Tidak ada sumber daya lain, seperti komputer virtual (VM), yang akan disebarkan di jaringan virtual ini. Permintaan di masa mendatang untuk menambahkan titik akhir privat diperhitungkan ketika ukuran subnet dipilih.

  • Jaringan lokal dan jaringan virtual Azure dapat disambungkan melalui VPN Site-to-Site (S2S) atau peering privat Azure ExpressRoute. Pengguna di jaringan lokal mengakses aplikasi secara pribadi dan dengan keamanan yang ditingkatkan melalui jaringan privat saja.

    Dalam contoh ini, jaringan lokal dan jaringan virtual Azure tersambung melalui peering privat ExpressRoute.

  • Untuk jaringan lokal yang sudah memiliki solusi Sistem Nama Domain (DNS), solusi DNS lokal dikonfigurasi untuk meneruskan lalu lintas DNS ke catatan DNS privat Azure (misalnya, azurewebsites.net) melalui penerus kondisional yang meneruskan permintaan ke titik akhir masuk layanan DNS Private Resolver yang disebarkan di Azure. Dns Private Resolver meminta Azure DNS dan menerima informasi tentang tautan jaringan virtual Azure Private DNS. Kemudian resolusi dilakukan oleh zona DNS privat yang ditautkan ke jaringan virtual.

    Zona DNS privat juga disebarkan dalam langganan yang sama dengan Virtual Network Titik Akhir Privat.

    Dalam contoh ini, komputer penerus DNS di alamat IP 192.168.0.254 di jaringan lokal meneruskan semua permintaan resolusi DNS ke nama host azurewebsites.net ke titik akhir masuk layanan DNS Private Resolver di Azure di alamat 10.0.0.132. Kemudian permintaan diselesaikan oleh layanan DNS yang disediakan Azure, yang memiliki alamat IP 168.63.129.16, melalui zona DNS Privat Azure yang ditautkan ke jaringan virtual.

    Titik akhir keluar diperlukan untuk mengaktifkan resolusi nama penerusan bersyarat dari Azure ke lokal, penyedia cloud lain, atau server DNS eksternal, menggunakan seperangkat aturan penerusan DNS.

    Mengonfigurasi seperangkat aturan penerusan DNS tidak diperlukan untuk skenario ini.

    Konfigurasi layanan aplikasi ini harus ada:

    Tombol Nilai
    WEBSITE_DNS_SERVER 168.63.129.16
  • Jaringan virtual ditautkan ke semua zona DNS privat Azure.

    • Jaringan virtual yang memiliki titik akhir privat secara otomatis ditautkan ke zona DNS privat. Anda perlu menghubungkan jaringan virtual lainnya secara terpisah.
  • Aplikasi web berkomunikasi dengan titik akhir privat dari layanan PaaS di Virtual Network Titik Akhir Privat melalui Azure Firewall.

  • Di Azure Firewall, aturan aplikasi dikonfigurasi untuk memungkinkan komunikasi antara VNet Integration Subnet dan titik akhir privat sumber daya PaaS. Target nama domain yang sepenuhnya memenuhi syarat (FQDN) adalah:

    • *.azurewebsites.net
    • *.database.windows.net
    • *.core.windows.net
    • *.vaultcore.azure.net
  • Konfigurasi firewall dan jaringan virtual untuk Azure SQL, Akun Azure Storage, dan Azure Key Vault hanya mengizinkan lalu lintas dari VNet Integration Subnet. Konfigurasi tidak mengizinkan komunikasi dengan jaringan virtual lain atau dengan internet publik.

Komponen

  • Azure App Service menghosting aplikasi web dan aplikasi fungsi, memungkinkan penskalaan otomatis dan ketersediaan tinggi tanpa mengharuskan Anda mengelola infrastruktur.
  • Azure SQL Database adalah layanan terkelola database relasional tujuan umum yang mendukung data relasional, data spasial, JSON, dan XML.
  • Akun Azure Storage menyediakan namespace unik untuk data Azure Storage yang dapat diakses dari mana saja di dunia melalui HTTP atau HTTPS. Ini berisi semua objek data Azure Storage: blob, berbagi file, antrean, tabel, dan disk.
  • Azure Key Vault adalah layanan untuk menyimpan dan mengakses kunci API, sandi, sertifikat, kunci kriptografik, atau rahasia lain yang digunakan oleh aplikasi dan layanan cloud dengan aman.
  • Azure Virtual Network adalah blok bangunan dasar untuk jaringan privat di Azure. Sumber daya Azure seperti VM dapat berkomunikasi satu sama lain dengan aman, internet, dan jaringan lokal melalui jaringan virtual.
  • Azure Private Link menyediakan titik akhir privat di jaringan virtual untuk konektivitas ke layanan Azure PaaS seperti Azure Storage dan SQL Database, atau ke layanan pelanggan atau mitra.
  • Peering privat Azure ExpressRoute memperluas jaringan lokal ke cloud Microsoft melalui koneksi privat. Anda juga dapat membuat VPN Site-to-Site antara lokal dan jaringan Azure daripada menggunakan Azure ExpressRoute.
  • Azure Firewall adalah layanan keamanan jaringan berbasis cloud terkelola yang membantu melindungi sumber daya Azure Virtual Network.
  • Zona DNS Privat menyediakan layanan DNS yang andal dan aman untuk mengelola dan menyelesaikan nama domain di jaringan virtual.
  • Dns Private Resolver memungkinkan kueri zona privat Azure DNS dari lingkungan lokal, dan sebaliknya, tanpa menyebarkan server DNS berbasis VM.

Alternatif

Untuk konektivitas privat, pendekatan alternatif adalah menggunakan Lingkungan App Service untuk menghosting aplikasi web di lingkungan yang terisolasi. Untuk database, Anda dapat menyebarkan Azure SQL Managed Instance secara asli di jaringan virtual, sehingga Anda tidak memerlukan Integrasi VNet atau titik akhir privat. Penawaran ini biasanya lebih mahal karena menyediakan penyebaran terisolasi penyewa tunggal dan fitur lainnya.

Jika Anda memiliki Lingkungan App Service tetapi tidak menggunakan SQL Managed Instance, Anda masih dapat menggunakan titik akhir privat untuk konektivitas privat ke database Azure SQL. Jika Anda sudah memiliki SQL Managed Instance tetapi menggunakan App Service multipenyewa, Anda masih dapat menggunakan Integrasi VNet regional untuk menyambung ke alamat privat SQL Managed Instance.

Untuk beberapa layanan Azure lainnya, seperti Key Vault atau Storage, tidak ada alternatif untuk menggunakan titik akhir privat untuk koneksi yang sangat aman dan privat dari Web Apps.

Kemungkinan kasus penggunaan

  • Akses aplikasi web multipenyewa atau aplikasi fungsi secara privat dengan keamanan yang ditingkatkan melalui titik akhir privatnya dari jaringan lokal atau dari dalam jaringan virtual Azure.
  • Koneksi dari aplikasi web atau aplikasi fungsi ke penawaran platform as a service (PaaS) Azure:
    • Aplikasi web lain
    • SQL Database
    • Azure Storage
    • Key Vault
    • Layanan lain apa pun yang mendukung titik akhir privat Azure untuk konektivitas masuk

Pertimbangan

Pertimbangan ini mengimplementasikan pilar Azure Well-Architected Framework, yang merupakan serangkaian tenet panduan yang dapat digunakan untuk meningkatkan kualitas beban kerja. Untuk informasi selengkapnya, lihat Microsoft Azure Well-Architected Framework.

Keamanan

Keamanan memberikan jaminan terhadap serangan yang disukai dan penyalahgunaan data dan sistem berharga Anda. Untuk informasi selengkapnya, lihat Gambaran Umum pilar keamanan.

Menggunakan Titik Akhir Privat untuk aplikasi web memungkinkan Anda:

  • Membantu mengamankan aplikasi web Anda dengan mengonfigurasi titik akhir privat, menghilangkan paparan publik.
  • Tersambung dengan keamanan yang ditingkatkan ke Web Apps dari jaringan lokal yang tersambung ke jaringan virtual menggunakan peering privat VPN atau ExpressRoute. Koneksi masuk ke aplikasi web diizinkan dari jaringan lokal atau dari dalam jaringan virtual Azure saja.
  • Menghindari penyelundupan data apa pun dari jaringan virtual Anda.

Anda dapat lebih meningkatkan keamanan koneksi masuk ke aplikasi web dengan menampilkan aplikasi dengan layanan seperti Azure Application Gateway atau Azure Front Door, opsional dengan Azure Web Application Firewall. Saat Anda mengaktifkan Titik Akhir Privat untuk aplikasi web Anda, konfigurasi pembatasan akses aplikasi web tidak dievaluasi.

Skenario ini juga meningkatkan keamanan koneksi keluar dari aplikasi web App Service ke dependensi hilir seperti database, Storage, atau Key Vault.

Anda dapat mengonfigurasi perutean aplikasi untuk merutekan semua lalu lintas atau hanya lalu lintas privat (juga dikenal sebagai lalu lintas RFC1918) ke jaringan virtual Anda. Anda mengonfigurasi perilaku ini menggunakan pengaturan Rutekan Semua. Jika Rutekan Semua dinonaktifkan, aplikasi web hanya merutekan lalu lintas privat ke jaringan virtual Anda. Untuk memblokir lalu lintas ke alamat publik, aktifkan pengaturan Rutekan Semua ke jaringan virtual. Anda juga dapat menggunakan grup keamanan jaringan untuk memblokir lalu lintas keluar ke sumber daya di jaringan virtual atau internet Anda. Bila Rutekan Semua tidak diaktifkan, NSG hanya diterapkan pada lalu lintas RFC1918.

Dalam contoh ini, aplikasi web tidak perlu berkomunikasi dengan layanan apa pun yang tidak ada di jaringan virtual, jadi Rutekan Semua diaktifkan.

Pertimbangan keamanan penting dalam skenario ini adalah konfigurasi firewall untuk sumber daya PaaS.

Opsi firewall SQL Database

Tanpa menggunakan konektivitas privat, Anda dapat menambahkan aturan firewall yang mengizinkan lalu lintas masuk hanya dari rentang alamat IP yang ditentukan. Pendekatan lain adalah mengizinkan layanan Azure mengakses server. Pendekatan ini mengunci firewall untuk mengizinkan lalu lintas hanya dari dalam Azure. Tapi lalu lintas ini mencakup semua wilayah Azure dan pelanggan lainnya.

Anda juga dapat menambahkan aturan firewall yang lebih ketat untuk mengizinkan hanya alamat IP keluar aplikasi Anda yang mengakses database. Namun karena App Service adalah layanan multipenyewa, alamat IP ini dibagikan dengan dan mengizinkan lalu lintas dari pelanggan lain pada tanda penyebaran yang sama, yang menggunakan alamat IP keluar yang sama.

Menggunakan konektivitas privat melalui jaringan virtual menyediakan opsi firewall ini untuk membantu mencegah orang lain mengakses database:

  • Buat aturan jaringan virtual yang mengizinkan lalu lintas hanya dari subnet regional yang didelegasikan oleh VNet Integration, VNet Integration Subnet dalam contoh ini. Subnet yang didelegasikan harus memiliki titik akhir layanan yang dikonfigurasi untuk Microsoft.Sql sehingga database dapat mengidentifikasi lalu lintas dari subnet tersebut.
  • Konfigurasikan firewall untuk menolak akses jaringan publik. Melakukannya akan menonaktifkan semua aturan firewall lainnya dan membuat database hanya dapat diakses melalui titik akhir privatnya.

Pilihan untuk menolak akses jaringan publik adalah konfigurasi yang paling aman. Tetapi jika Anda menggunakan opsi ini, akses database hanya mungkin digunakan melalui jaringan virtual yang menghosting titik akhir privat. Untuk tersambung ke database, apa pun selain aplikasi web harus memiliki konektivitas langsung ke jaringan virtual.

Misalnya, penyebaran atau koneksi manual yang mendesak dari SQL Server Management Studio (SSMS) di komputer lokal tidak dapat menjangkau database kecuali melalui konektivitas VPN atau ExpressRoute ke jaringan virtual. Anda juga dapat tersambung dari jarak jauh ke VM di jaringan virtual dan menggunakan SQL Server Management Studio dari sana. Untuk situasi luar biasa, Anda dapat mengizinkan akses jaringan publik untuk sementara dan mengurangi risiko dengan menggunakan opsi konfigurasi lain.

Opsi firewall Akun Storage dan Key Vault

Akun Storage dan brankas kunci memiliki titik akhir publik yang dapat diakses dari internet. Anda juga dapat membuat titik akhir privat untuk akun penyimpanan Anda dan brankas kunci. Melakukan hal tersebut akan memberikan layanan ini alamat IP privat dari jaringan virtual Anda dan membantu mengamankan semua lalu lintas antara jaringan virtual Anda dan layanan terkait melalui tautan privat.

Saat Anda membuat titik akhir privat, VNet Integration Subnet dapat mengakses layanan secara privat dan dengan keamanan yang ditingkatkan melalui tautan privat. Tetapi akun penyimpanan dan brankas kunci masih dapat diakses dari jaringan virtual Azure lainnya. Untuk memblokir akses dari jaringan virtual lainnya, buat titik akhir layanan untuk subnet yang didelegasikan ini.

Ketersediaan

Dukungan Private Link untuk App Service, Azure SQL Database, Azure Storage, dan Azure Key Vault tersedia di semua wilayah publik. Untuk memeriksa ketersediaan di wilayah lain, lihat Ketersediaan Azure Private Link

Private Link memperkenalkan komponen lain dan pertimbangan ketersediaan ke dalam arsitektur. Layanan Private Link memiliki SLA ketersediaan tinggi. Anda perlu mempertimbangkan SLA ini saat menghitung SLA gabungan dari seluruh solusi.

Skalabilitas

Untuk informasi tentang mengintegrasikan Azure Private Link untuk layanan PaaS dengan zona Azure Private DNS di arsitektur jaringan hub-and-spoke, lihat Private Link dan integrasi DNS dalam skala.

Peering global

Layanan apa pun di wilayah Azure mana pun yang dapat tersambung melalui jaringan virtual dapat mencapai titik akhir privat layanan PaaS, misalnya, melalui peering jaringan virtual dalam topologi hub-and-spoke. Namun, untuk Integrasi VNet regional App Service, jaringan virtual yang di-peer harus berada di wilayah Azure yang sama.

Kurangnya dukungan peering global berarti Anda tidak dapat menggunakan solusi ini untuk konektivitas lintas wilayah dari App Service ke database atau titik akhir privat lainnya di wilayah Azure lain. Misalnya, solusi ini tidak akan berfungsi untuk penyebaran multiwilayah untuk mendukung failover parsial, di mana aplikasi web tetap aktif di satu wilayah tetapi harus tersambung ke database failover di wilayah lain, atau sebaliknya. Tetapi ada solusi lain untuk situasi ini.

Jika Anda perlu menghubungkan Web Apps ke jaringan virtual di wilayah lain, Anda dapat mengatur Integrasi VNet yang diperlukan gateway. Batasannya adalah bahwa Integrasi VNet yang diperlukan gateway tidak dapat digunakan dengan jaringan virtual yang tersambung dengan Azure ExpressRoute.

Pengelogan dan pemantauan

Azure Private Link terintegrasi dengan Azure Monitor, yang memungkinkan Anda melihat apakah data mengalir.

Anda juga dapat menggunakan layanan pemecahan masalah koneksi di Network Watcher Azure untuk melacak konektivitas dari VM di jaringan virtual ke FQDN sumber daya Titik Akhir Privat.

Pengoptimalan biaya

Optimalisasi biaya adalah tentang mencari cara untuk mengurangi pengeluaran yang tidak perlu dan meningkatkan efisiensi operasional. Untuk informasi selengkapnya, lihat Gambaran umum pilar pengoptimalan biaya.

Tidak ada biaya tambahan untuk Integrasi VNet regional App Service dalam tingkat harga yang didukung di paket Dasar, Standar, Premium v2, Premium v3, App Service Terisolasi v2, dan Azure Functions Premium.

Titik akhir privat tersedia untuk aplikasi web Windows dan aplikasi web Linux, dikontainerisasi atau tidak, dihosting pada paket App Service Dasar, Standar, Standar, Premium v2, Premium v3, dan Terisolasi v2, dan juga untuk aplikasi fungsi yang disebarkan ke paket Premium.

Layanan Azure Private Link yang memungkinkan titik akhir privat untuk layanan PaaS memiliki biaya terkait yang didasarkan pada biaya per jam ditambah premium pada bandwidth. Lihat halaman harga Private Link untuk detailnya. Koneksi dari jaringan virtual klien ke Azure Firewall di jaringan virtual hub dikenakan biaya. Anda tidak dikenakan biaya untuk koneksi dari Azure Firewall di jaringan virtual hub ke titik akhir privat di jaringan virtual yang di-peering.

Biaya zona DNS Privat Azure didasarkan pada jumlah zona DNS yang dihosting di Azure dan jumlah kueri DNS yang diterima.

Untuk mempelajari biaya menjalankan skenario ini, lihat perkiraan kalkulator harga Azure. Semua layanan yang dijelaskan dalam artikel ini telah dikonfigurasikan sebelumnya dengan nilai default yang wajar untuk aplikasi skala kecil. Untuk melihat bagaimana harga akan berubah untuk kasus penggunaan Anda, ubah variabel yang sesuai agar sesuai dengan penggunaan yang Anda harapkan.

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