(Source: Salesforce)
Dalam upaya melindungi data sensitif, banyak orang berfokus pada enkripsi, kontrol akses, dan keamanan login. Namun, salah satu cara paling sederhana data sensitif dapat terekspos tanpa sengaja, atau bocor, seringkali terabaikan: menempatkan data sensitif di dalam Uniform Resource Locator (URL). Di Salesforce, ini dapat berarti mengekspos detail pengguna, informasi sesi, atau data pribadi lainnya setiap kali seseorang mengeklik tautan, memuat sumber daya, atau membagikan halaman. Risiko ini mudah terlewatkan, tetapi juga mudah diperbaiki, setelah Anda memahami cara kerjanya.
Apa itu Data Sensitif
Data sensitif adalah apa pun yang dapat membahayakan pengguna atau bisnis Anda jika terekspos. Di Salesforce, contoh umum meliputi nama pengguna, kata sandi, atau token autentikasi yang dapat memungkinkan seseorang meniru identitas pengguna, alamat email atau informasi kontak pribadi yang dapat disalahgunakan untuk phishing atau spam, ID Organisasi Salesforce atau ID objek yang dapat mengungkapkan bagaimana sistem Anda terstruktur, dan data kustom unik untuk bisnis Anda jika tidak dimaksudkan untuk publik, seharusnya tidak berada di URL. Jika Anda tidak yakin, tanyakan pada diri sendiri: Apakah saya akan merasa nyaman melihat data ini di riwayat peramban publik, atau dibagikan dengan situs web eksternal?
Informasi dalam URL menciptakan risiko ketika pengguna mengeklik tautan atau ketika halaman web mereka memuat gambar atau script, peramban mereka dapat secara otomatis mengirim bagian dari URL halaman saat ini sebagai referrer ke situs web berikutnya. Jika URL mengandung informasi sensitif baik dalam query string atau, yang kurang umum, tertanam langsung di URL itu sendiri misalnya, ftp://user:pass@host data tersebut dapat terekspos ke layanan pihak ketiga seperti host gambar atau platform analitik, situs eksternal yang diklik pengguna dari halaman Salesforce Anda, atau log yang diambil oleh sistem perantara atau plugin peramban. Kebanyakan pengguna tidak menyadari bahwa pembagian ini terjadi secara default dengan beberapa kustomisasi atau integrasi.
Penjagaan Data Sensitif
Secara default, Salesforce menjaga data sensitif tidak masuk ke dalam URL. Namun, masalah dapat muncul ketika kustomisasi atau integrasi melewati data melalui query strings atau parameter rute. Contoh skenario di mana ini mungkin terjadi adalah halaman Visualforce menambahkan email pengguna ke URL untuk memfilter hasil, komponen Lightning menyertakan ID Org dalam jalur halaman, atau integrasi mengirimkan kredensial sebagai bagian dari permintaan GET, alih-alih menggunakan POST yang lebih aman. Pintasan ini mungkin terlihat tidak berbahaya selama pengembangan, tetapi jika tidak diperiksa, dapat menimbulkan risiko keamanan jangka panjang.
Untuk melindungi organisasi Anda, praktik terbaik yang direkomendasikan adalah menjaga data sensitif agar tidak masuk ke URL. Jangan lewatkan nama pengguna, kata sandi, token, atau data pribadi sebagai parameter kueri. Gunakan mekanisme penyimpanan yang aman seperti session state, secure cookies, atau kontroler Apex. Periksa halaman Visualforce, komponen Lightning, dan integrasi Anda untuk pola URL yang tidak aman. Selain itu, kontrol apa yang dibagikan oleh Salesforce dengan mengaktifkan Perlindungan Referrer Policy di Pengaturan. Di Setup Session Settings, aktifkan header HTTP referrer policy untuk mengontrol bagian mana dari URL Salesforce Anda yang dibagikan dengan situs eksternal. Pengaturan yang disarankan adalah strict origin when cross origin ini menjaga asal Anda tetap terlihat saat dibutuhkan tetapi menyembunyikan URL lengkap dari situs eksternal.
Penting untuk memantau dan mendidik. Audit log internal dan eksternal Anda untuk data URL sensitif. Jadikan desain URL yang aman bagian dari proses pengembangan dan tinjauan kode Anda. Bagikan pengetahuan ini dengan administrator, tim pengembangan, dan mitra keamanan Anda, karena perlindungan terbaik adalah pencegahan. Jika Anda tidak melakukannya, privasi pengguna dapat terancam, penyerang mungkin menggunakan informasi tersebut untuk menargetkan pengguna atau organisasi Anda, dan log, riwayat peramban, atau sistem eksternal dapat secara tidak sengaja menyimpan informasi pribadi. Di luar risiko teknis, ini mengikis kepercayaan yang diberikan pengguna pada aplikasi Salesforce Anda.