Keamanan di Azure App Service

Artikel ini memperlihatkan kepada Anda cara Azure App Service membantu mengamankan aplikasi web, aplikasi ujung belakang seluler, aplikasi API, dan aplikasi fungsi Anda. Ini juga menunjukkan cara Anda dapat mengamankan aplikasi Anda lebih lanjut dengan fitur App Service bawaan.

Komponen platform App Services, termasuk VM Azure, penyimpanan, koneksi jaringan, kerangka kerja web, fitur manajemen dan integrasi, diamankan dan diperkuat secara aktif. App Service menjalani pemeriksaan kepatuhan yang ketat secara berkelanjutan untuk memastikan bahwa:

  • Sumber daya aplikasi Anda dilindungi dari sumber daya Azure pelanggan lain.
  • Instans VM dan perangkat lunak runtime diperbarui secara berkala untuk mengatasi kerentanan yang baru ditemukan.
  • Komunikasi rahasia (seperti string koneksi) antara aplikasi Anda dan sumber daya Azure lainnya (seperti SQL Database) tetap berada dalam Azure dan tidak melewati batas jaringan apa pun. Rahasia selalu dienkripsi saat disimpan.
  • Semua komunikasi melalui fitur konektivitas App Service, seperti koneksi hibrid, dienkripsi.
  • Koneksi dengan alat manajemen jarak jauh seperti Azure PowerShell, Azure CLI, SDK Azure, REST API, semuanya dienkripsi.
  • Manajemen ancaman 24 jam melindungi infrastruktur dan platform dari malware, distributed denial-of-service (DDoS), man-in-the-middle (MITM), dan ancaman lainnya.

Untuk informasi selengkapnya tentang infrastruktur dan keamanan platform di Azure, lihat Pusat Kepercayaan Azure.

Bagian berikut menunjukkan cara melindungi aplikasi App Service Anda lebih lanjut dari ancaman.

HTTPS dan Sertifikat

App Service memungkinkan Anda mengamankan aplikasi dengan HTTPS. Saat aplikasi Anda dibuat, nama domain defaultnya (<app_name>.azurewebsites.net) sudah dapat diakses menggunakan HTTPS. Jika Anda mengonfigurasi domain kustom untuk aplikasi Anda, Anda juga harus mengamankannya dengan sertifikat TLS/SSL sehingga browser klien dapat membuat koneksi HTTPS aman ke domain kustom Anda. Ada beberapa jenis sertifikat yang didukung oleh App Service:

  • Sertifikat Terkelola App Service Gratis
  • Sertifikat App Service
  • Sertifikat pihak ketiga
  • Sertifikat yang diimpor dari Azure Key Vault

Untuk informasi selengkapnya, lihat Menambahkan sertifikat TLS/SSL di Azure App Service.

Protokol tidak aman (HTTP, TLS 1.0, FTP)

Untuk mengamankan aplikasi Anda dari semua koneksi yang tidak terenkripsi (HTTP), App Service menyediakan konfigurasi satu klik untuk memberlakukan HTTPS. Permintaan yang tidak aman ditolak sebelum mereka bahkan mencapai kode aplikasi Anda. Untuk informasi selengkapnya, lihat Memberlakukan HTTPS.

TLS 1.0 tidak lagi dianggap aman menurut standar industri, seperti PCI DSS. App Service memungkinkan Anda menonaktifkan protokol yang sudah kedaluwarsa dengan memberlakukan TLS 1.1/1.2.

App Service mendukung FTP dan FTPS untuk menyebarkan file Anda. Namun, FTPS harus digunakan daripada FTP jika memungkinkan. Ketika salah satu atau kedua protokol ini tidak digunakan, Anda harus menonaktifkannya.

Pembatasan IP statis

Secara default, aplikasi App Service Anda menerima permintaan dari semua alamat IP dari internet, tetapi Anda dapat membatasi akses tersebut ke sebagian kecil alamat IP. App Service di Windows memungkinkan Anda menentukan daftar alamat IP yang diizinkan untuk mengakses aplikasi Anda. Daftar yang diizinkan dapat mencakup alamat IP individual atau rentang alamat IP yang ditentukan oleh subnet mask. Untuk informasi selengkapnya, lihat Pembatasan IP Statik Azure App Service.

Untuk Azure App Service di Windows, Anda juga dapat membatasi alamat IP secara dinamis dengan mengonfigurasi web.config. Untuk informasi selengkapnya, lihat Keamanan IP Dinamis <dynamicIpSecurity>.

Autentikasi dan otorisasi klien

Azure App Service menyediakan autentikasi dan otorisasi putar kunci pengguna atau aplikasi klien. Saat diaktifkan, aplikasi dapat membuat pengguna dan klien masuk dengan sedikit atau tanpa kode aplikasi. Anda dapat menerapkan solusi autentikasi dan otorisasi Anda sendiri, atau mengizinkan App Service untuk menanganinya untuk Anda sebagai gantinya. Modul autentikasi dan otorisasi menangani permintaan web sebelum menyerahkannya ke kode aplikasi Anda, dan modul menolak permintaan yang tidak sah sebelum serangan mencapai kode Anda.

Autentikasi dan otorisasi App Service mendukung beberapa penyedia autentikasi, termasuk ID Microsoft Entra, akun Microsoft, Facebook, Google, dan Twitter. Untuk informasi selengkapnya, lihatAutentikasi dan otorisasi di Azure App Service.

Autentikasi layanan-ke-layanan

Saat mengautentikasi terhadap layanan back-end, App Service menyediakan dua mekanisme berbeda tergantung pada kebutuhan Anda:

Konektivitas ke sumber daya jarak jauh

Ada tiga jenis sumber daya jarak jauh yang mungkin perlu diakses oleh aplikasi Anda:

Dalam setiap kasus ini, App Service menyediakan cara bagi Anda untuk membuat koneksi yang aman, tetapi Anda harus tetap mengamati praktik terbaik keamanan. Misalnya, selalu gunakan koneksi terenkripsi meskipun sumber daya back-end mengizinkan koneksi yang tidak terenkripsi. Selain itu, pastikan bahwa layanan Azure back-end Anda mengizinkan kumpulan alamat IP minimum. Anda dapat menemukan alamat IP keluar untuk aplikasi Anda di alamat IP Masuk dan keluar di Azure App Service.

Sumber daya Azure

Saat aplikasi Anda terhubung ke sumber daya Azure, seperti SQL Database dan Azure Storage, koneksi tetap berada di Azure dan tidak melewati batas jaringan apa pun. Namun, koneksi melalui jaringan bersama di Azure, jadi selalu pastikan koneksi Anda dienkripsi.

Jika aplikasi Anda hosting di lingkungan App Service, Anda harus terhubung ke layanan Azure yang didukung menggunakan titik akhir layanan Jaringan Virtual.

Sumber daya di dalam Jaringan Virtual Azure

Aplikasi Anda dapat mengakses sumber daya di Jaringan Virtual Azure melalui integrasi Jaringan Virtual. Integrasi ini dibuat dengan Virtual Network menggunakan VPN titik ke situs. Aplikasi ini kemudian dapat mengakses sumber daya di Virtual Network menggunakan alamat IP pribadi mereka. Namun, koneksi titik ke situs masih melintasi jaringan bersama di Azure.

Untuk mengisolasi konektivitas sumber daya sepenuhnya dari jaringan bersama di Azure, buat aplikasi Anda di lingkungan App Service. Karena lingkungan App Service selalu diterapkan ke Virtual Network khusus, konektivitas antara aplikasi dan sumber daya Anda dalam Jaringan Virtual sepenuhnya terisolasi. Untuk aspek keamanan jaringan lainnya di lingkungan App Service, lihat Isolasi jaringan.

Sumber daya lokal

Anda dapat mengakses sumber daya lokal dengan aman, seperti database, dalam tiga cara:

Rahasia aplikasi

Jangan menyimpan rahasia aplikasi, seperti kredensial database, token API, dan kunci pribadi dalam kode atau file konfigurasi Anda. Pendekatan yang diterima secara umum adalah mengaksesnya sebagai variabel lingkungan menggunakan pola standar dalam bahasa komputer pilihan Anda. Dalam App Service, cara untuk menentukan variabel lingkungan adalah melalui pengaturan aplikasi (dan, terutama untuk aplikasi .NET, string koneksi). Pengaturan aplikasi dan string koneksi yang disimpan dienkripsi di Azure, dan hanya didekripsi sebelum disuntikkan ke memori proses aplikasi Anda saat aplikasi dimulai. Kunci enkripsi diputar secara teratur.

Atau, Anda dapat mengintegrasikan aplikasi App Service dengan Azure Key Vault untuk manajemen rahasia tingkat lanjut. Dengan mengakses Azure Key Vault dengan identitas terkelola, aplikasi App Service Anda dapat mengakses rahasia yang Anda butuhkan dengan aman.

Isolasi jaringan

Kecuali untuk tingkat harga terisolasi, semua tingkatan menjalankan aplikasi Anda di infrastruktur jaringan bersama di App Service. Misalnya, alamat IP publik dan penyeimbang muatan front-end dibagikan dengan penyewa lain. Tingkat Terisolasi memberi Anda isolasi jaringan lengkap dengan menjalankan aplikasi Anda di dalam lingkungan App Service khusus. Lingkungan App Service berjalan dalam instans Azure Virtual Network Anda sendiri. Ini memungkinkan Anda:

  • Menyajikan aplikasi Anda melalui titik akhir publik khusus, dengan ujung depan khusus.
  • Melayani aplikasi internal menggunakan penyeimbang beban internal (ILB), yang memungkinkan akses hanya dari dalam Jaringan Virtual Azure Anda. ILB memiliki alamat IP dari subnet pribadi Anda, yang menyediakan isolasi total aplikasi Anda dari internet.
  • Gunakan ILB di belakang firewall aplikasi web (WAF). WAF menawarkan perlindungan tingkat perusahaan untuk aplikasi publik Anda, seperti perlindungan DDoS, pemfilteran URI, dan pencegahan injeksi SQL.

Perlindungan DDoS

Untuk beban kerja web, sebaiknya gunakan perlindungan Azure DDoS dan firewall aplikasi web untuk melindungi dari serangan DDoS yang muncul. Opsi lain adalah menyebarkan Azure Front Door bersama dengan firewall aplikasi web. Azure Front Door menawarkan perlindungan tingkat platform terhadap serangan DDoS tingkat jaringan.

Untuk informasi selengkapnya, lihat Pengenalan Lingkungan Azure App Service.