Meningkatkan keamanan aplikasi menggunakan prinsip Zero Trust

Perimeter jaringan aman di sekitar aplikasi yang dikembangkan tidak dapat diasumsikan. Hampir setiap aplikasi yang dikembangkan akan sengaja diakses dari luar perimeter jaringan. Aplikasi tidak dapat dijamin aman saat dikembangkan atau akan tetap aman setelah disebarkan. Pengembang aplikasi bertanggung jawab untuk tidak hanya memaksimalkan keamanan aplikasi, tetapi juga meminimalkan kerusakan yang dapat ditimbulkan aplikasi jika disusupi.

Selain itu, tanggung jawab tersebut mencakup mendukung kebutuhan pelanggan dan pengguna yang terus berkembang, yang mengharapkan aplikasi memenuhi persyaratan keamanan Zero Trust. Pelajari prinsip-prinsip model Zero Trust dan adopsi praktiknya. Dengan mempelajari dan mengadopsi prinsip tersebut, aplikasi dapat dikembangkan dengan lebih aman dan meminimalkan kerusakan yang dapat ditimbulkan jika ada gangguan keamanan.

Model Zero Trust menetapkan budaya verifikasi eksplisit daripada kepercayaan implisit. Model ini berlabuh pada tiga Prinsip Panduan Utama:

  • Memverifikasi secara eksplisit
  • Gunakan akses yang paling tidak istimewa
  • Mengasumsikan pembobolan

Praktik terbaik Zero Trust

Ikuti praktik terbaik ini untuk membangun aplikasi yang mendukung Zero Trust dengan platform identitas Microsoft dan alatnya.

Memverifikasi secara eksplisit

Platform identitas Microsoft menawarkan mekanisme autentikasi untuk memverifikasi identitas seseorang atau layanan yang mengakses sumber daya. Terapkan praktik terbaik yang dijelaskan di bawah ini untuk memverifikasi secara eksplisit setiap entitas yang perlu mengakses data atau sumber daya.

Praktik terbaik Manfaat keamanan aplikasi
Menggunakan Microsoft Authentication Libraries (MSAL). MSAL adalah satu set Microsoft Authentication Library untuk pengembang. Dengan MSAL, pengguna dan aplikasi dapat diautentikasi, dan token dapat diperoleh untuk mengakses sumber daya perusahaan hanya dengan menggunakan beberapa baris kode. MSAL menggunakan protokol modern (OpenID Connect dan OAuth 2.0) yang membuat aplikasi tidak perlu lagi menangani informasi masuk secara langsung. Penanganan informasi masuk ini sangat meningkatkan keamanan bagi pengguna dan aplikasi karena penyedia identitas menjadi perimeter keamanan. Juga, protokol ini terus berkembang untuk mengatasi paradigma baru, peluang, dan tantangan baru dalam keamanan identitas.
Mengadopsi ekstensi keamanan yang ditingkatkan seperti Evaluasi Akses Berkelanjutan (CAE) dan konteks autentikasi Akses Bersyarat bila diperlukan. Di ID Microsoft Entra, beberapa ekstensi yang paling banyak digunakan termasuk Akses Bersyar, konteks autentikasi Akses Bersyar, dan CAE. Aplikasi yang menggunakan fitur keamanan yang disempurnakan seperti CAE dan konteks autentikasi Akses Bersyarat harus disiapkan untuk menangani tantangan klaim. Protokol terbuka memungkinkan tantangan klaim dan permintaan klaim digunakan untuk meminta kemampuan klien tambahan. Kemampuannya mungkin untuk melanjutkan interaksi dengan ID Microsoft Entra, seperti ketika ada anomali atau jika kondisi autentikasi pengguna berubah. Ekstensi ini dapat dikodekan ke dalam aplikasi tanpa mengganggu alur kode utama untuk autentikasi.
Gunakan alur autentikasi yang benar menurut jenis aplikasi. Untuk aplikasi web, selalu gunakan alur rahasia klien. Untuk aplikasi seluler, gunakan broker atau browser sistem untuk autentikasi. Alur untuk aplikasi web yang dapat menyimpan rahasia (klien rahasia) dianggap lebih aman daripada klien publik (misalnya: aplikasi Desktop dan Konsol). Ketika browser web sistem digunakan untuk mengautentikasi aplikasi seluler, pengalaman akses menyeluruh (SSO) yang aman memungkinkan penggunaan kebijakan perlindungan aplikasi.

Gunakan akses yang paling tidak istimewa

Pengembang menggunakan platform identitas Microsoft untuk memberikan izin (cakupan) dan memverifikasi bahwa pemanggil telah diberikan izin yang tepat sebelum mengizinkan akses. Terapkan akses dengan hak istimewa paling rendah dalam aplikasi dengan mengaktifkan izin terperinci yang memungkinkan jumlah akses terkecil yang diperlukan untuk diberikan. Pertimbangkan praktik berikut untuk memastikan kepatuhan terhadap prinsip hak istimewa paling rendah:

  • Evaluasi izin yang diminta untuk memastikan bahwa hak istimewa paling rendah diatur untuk menyelesaikan pekerjaan. Jangan membuat izin "cakup-semua" dengan akses ke seluruh permukaan API.
  • Saat merancang API, berikan izin terperinci untuk memungkinkan akses yang paling tidak istimewa. Mulailah dengan membagi fungsionalitas dan akses data menjadi beberapa bagian yang dapat dikontrol dengan menggunakan cakupan dan Peran aplikasi. Jangan menambahkan API ke izin yang ada dengan cara yang mengubah semantik izin.
  • Menawarkan izin baca-saja . Write akses, termasuk hak istimewa untuk membuat, memperbarui, dan menghapus operasi. Klien seharusnya tidak pernah memerlukan akses tulis hanya untuk membaca data.
  • Menawarkan izin aplikasi dan deligasi. Melewatkan izin aplikasi dapat membuat persyaratan sulit bagi klien untuk mencapai skenario umum seperti otomatisasi, layanan mikro, dan lainnya.
  • Pertimbangkan izin akses "standar" dan "penuh" jika bekerja dengan data sensitif. Batasi properti sensitif sehingga tidak dapat diakses menggunakan izin akses "standar", misalnya Resource.Read. Kemudian, terapkan izin akses "penuh", misalnya Resource.ReadFull yang menampilkan semua properti yang tersedia termasuk informasi sensitif.

Mengasumsikan pembobolan

Portal pendaftaran aplikasi platform identitas Microsoft adalah titik masuk utama untuk aplikasi yang bermaksud menggunakan platform untuk autentikasi dan kebutuhan terkait. Saat mendaftar dan mengonfigurasi aplikasi, ikuti praktik yang dijelaskan di bawah ini untuk meminimalkan kerusakan yang dapat ditimbulkan jika ada pelanggaran keamanan. Untuk informasi selengkapnya, lihat Praktik terbaik keamanan pendaftaran aplikasi Microsoft Entra.

Pertimbangkan tindakan berikut untuk mencegah pelanggaran dalam keamanan:

  • Tentukan URI pengalihan dengan benar untuk aplikasi. Jangan gunakan pendaftaran aplikasi yang sama untuk beberapa aplikasi.
  • Verifikasi URI pengalihan yang digunakan dalam pendaftaran aplikasi untuk kepemilikan dan untuk menghindari pengambilalihan domain. Jangan membuat aplikasi sebagai multipenyewa kecuali itu dimaksudkan. |
  • Pastikan pemilik aplikasi dan perwakilan layanan selalu didefinisikan dan dikelola untuk aplikasi yang terdaftar di penyewa.

Lihat juga