Konfigurasi Keamanan Jariangan Android dengan API 24 atau yang Lebih Tinggi

Google menerapkan keamanan jaringan pada android mulai dari API 24 dengan versi android 7.0 (Nauget) atau yang lebih tinggi.

Fitur Konfigurasi Keamanan Jaringan memungkinkan aplikasi menyesuaikan setelan keamanan jaringan mereka dalam file konfigurasi deklaratif yang aman tanpa memodifikasi kode aplikasi. Setelan ini bisa dikonfigurasi untuk domain dan aplikasi tertentu. Kemampuan utama fitur ini adalah sebagai berikut:

  • Anchor kepercayaan kustom: Menyesuaikan Otoritas Sertifikat (CA) mana yang dipercaya untuk sambungan aman suatu aplikasi. Misalnya, mempercayai sertifikat tertentu yang ditandatangani sendiri atau membatasi kumpulan CA umum yang dipercaya aplikasi.
  • Penggantian khusus debug: Melakukan debug sambungan aman tanpa masalah di aplikasi tanpa menambah risiko pada basis yang diinstal.
  • Memilih tidak menggunakan traffic cleartext: Melindungi aplikasi dari penggunaan traffic cleartext yang tidak disengaja.
  • Pemasangan pin pada sertifikat: Membatasi sambungan aman aplikasi ke sertifikat tertentu.

Lebih lengkapnya anda bisa pelajari di google developer


Dengan menerapkan keamanan jaringan Anda bisa berkomunikasi jariangan dengan aman terlebih Anda bertukar data melalui internet, seringkali dengan server selain yang anda percayai, Anda perlu berhati-hati saat mengirim dan menerima informasi yang sensitif dan pribadi.

Berlaku pada android API 24 atau yang lebih tinggi, jika anda seringkali mengalami masalah pada jaringan tidak bisa terhubung dengan jaringan server, Pertama yang anda harus lakukan menambahkan URL pada file gradle.properties.

postsUrl="http://storage.googleapis.com/network-security-conf-codelab.appspot.com/v1/posts.json"
Tujuannya pada aplikasi menggunakan cache lokal supaya membatasi jumlah permintaan jaringan jarak jauh.

Konfigurasi Keamanan Jaringan

Konfigurasi Keamanan Jaringan memungkinkan aplikasi menyesuaikan pengaturan keamanan jaringan mereka melalui file konfigurasi deklaratif. Seluruh konfigurasi terkandung dalam file XML, dan tidak diperlukan perubahan kode.

Ini memungkinkan untuk konfigurasi berikut ini:

  • Penyisihan trafik Cleartext: Nonaktifkan trafik cleartext.
  • Penanda kepercayaan khusus: Tentukan Otoritas Sertifikat dan sumber yang dipercayai aplikasi.
  • Override khusus debug: Men-debug koneksi aman dengan aman tanpa memengaruhi build rilis.
  • Penyematan sertifikat: Batasi koneksi aman ke sertifikat tertentu.

File dapat diatur oleh domain, memungkinkan pengaturan keamanan jaringan diterapkan ke semua URL atau hanya untuk domain tertentu.

Buat file XML Konfigurasi Keamanan Jaringan

Buat file resource xml baru dengan nama network_security_config.xml. Di Panel Proyek Android di sisi kiri, klik kanan res, lalu pilih New > Android Resurce File.

Kemudian atur sesuai gambar dibawah

Buka file xml/network_security_config.xml ganti isinya dengan code berikut

<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
    <base-config cleartextTrafficPermitted="false" >
    </base-config>
</network-security-config>

Konfigurasi ini berlaku untuk konfigurasi dasar, atau konfigurasi keamanan default, dari aplikasi dan menonaktifkan semua lalu lintas teks yang jelas.

  • Jika cleartextTrafficPermitted="false" untuk menonaktifkan semua lalu lintas (traffic) text aplikasi

  • Jika cleartextTrafficPermitted="true" untuk mengaktifkan semua lalu lintas (traffic) text aplikasi

Selanjutnya, tambahkan entri ke dalam konfigurasi aplikasi dalam AndroidManifest.xml file dan referensi file konfigurasi keamanan jaringan yang baru dibuat.

Tambahkan android:networkSecurityConfig properti ke applicationelemen di AndroidManifest.

 <application
... 
 android:networkSecurityConfig="@xml/network_security_config"
... >

Masalah Umum: Pembaruan sisi server

Konfigurasi Keamanan Jaringan dapat melindungi dari kerentanan ketika aplikasi membuat permintaan melalui koneksi yang tidak aman.

Masalah umum yang ditangani oleh Konfigurasi Keamanan Jaringan adalah perubahan sisi server yang memengaruhi URL yang dimuat ke aplikasi Android. Misalnya, di aplikasi kami, bayangkan server mulai mengembalikan URL HTTP tanpa jaminan untuk gambar profil alih-alih URL HTTPS yang diamankan. Konfigurasi Keamanan Jaringan yang memberlakukan koneksi HTTPS kemudian akan menimbulkan pengecualian karena persyaratan ini tidak akan dipenuhi saat runtime.

Demikian yang dapat saya sampaikan dari artikel ini semoga bermanfaat, jika ada yang ditanyakan silahkan di kolom komentar dibawah, selamat mencoba.

Share Comments
comments powered by Disqus