Bagikan melalui


Praktik terbaik untuk melindungi rahasia

Artikel ini memberikan panduan tentang melindungi rahasia Anda dan mengurangi risiko akses yang tidak sah. Ikuti panduan ini untuk membantu memastikan Anda tidak menyimpan informasi sensitif seperti info masuk dalam kode, repositori GitHub, log, alur integrasi berkelanjutan/penyebaran berkelanjutan (CI/CD), dan sebagainya. Panduan dalam artikel ini dikompilasi dari rekomendasi layanan individu, serta dari Microsoft Cloud Security Benchmark (MCSB).

Praktik terbaik umum

Dalam lanskap digital saat ini, mengamankan informasi sensitif seperti info masuk dan rahasia aplikasi sangat penting. Pelanggaran dapat menyebabkan konsekuensi parah, termasuk kehilangan data, penalti keuangan, dan kerusakan reputasi. Menerapkan strategi manajemen rahasia yang komprehensif sangat penting untuk mengurangi risiko ini.

Melakukan audit untuk mengidentifikasi rahasia

Sebelum Anda dapat mengamankan rahasia Anda, Anda perlu tahu di mana mereka berada. Melakukan audit menyeluruh terhadap sistem dan aplikasi Anda membantu mengidentifikasi semua informasi sensitif yang membutuhkan perlindungan. Ini termasuk kata sandi, kunci API, string koneksi, dan kredensial lainnya. Audit reguler memastikan bahwa rahasia baru diperhitungkan dan yang sudah ada dikelola dengan benar.

Penting untuk dicatat bahwa bahkan rahasia yang dibuat secara dinamis, seperti token OAuth, yang mungkin bersifat sementara, masih perlu dijaga dengan kekakuan yang sama dengan rahasia jangka panjang.

Hindari rahasia hardcoding

Menyematkan rahasia langsung ke dalam kode atau file konfigurasi Anda adalah risiko keamanan yang signifikan. Jika basis kode Anda disusupi, begitu juga rahasia Anda. Sebagai gantinya, gunakan variabel lingkungan atau alat manajemen konfigurasi yang menyimpan rahasia dari kode sumber Anda. Praktik ini meminimalkan risiko paparan yang tidak disengaja dan menyederhanakan proses pembaruan rahasia.

Selain itu, mengintegrasikan pengambilan rahasia ke dalam alur penyebaran otomatis Anda dan menggunakan pola injeksi rahasia dapat mencegah rahasia terekspos secara tidak sengaja dalam log atau kontrol versi, lebih meningkatkan keamanan proses penyebaran Anda.

Lihat Rekomendasi untuk melindungi rahasia aplikasi

Menggunakan penyimpanan kunci aman

Memanfaatkan penyimpanan kunci aman memastikan bahwa rahasia Anda disimpan di lokasi terenkripsi yang aman. Layanan seperti Azure Key Vault dan Azure Managed HSM menyediakan fitur keamanan yang kuat, termasuk kontrol akses, pengelogan, dan rotasi otomatis. Pendekatan ini mempusatkan manajemen rahasia Anda dan mengurangi risiko akses yang tidak sah.

Untuk keamanan yang lebih besar, terutama untuk rahasia yang sangat sensitif atau kritis, pertimbangkan untuk mengenkripsi rahasia dengan penyimpanan kunci dalam Model Keamanan Perangkat Keras (HSM), yang menawarkan perlindungan yang ditingkatkan dibandingkan dengan penyimpanan rahasia berbasis perangkat lunak. Untuk gambaran umum semua penawaran manajemen utama di Azure dan panduan yang harus dipilih, lihat Manajemen kunci di Azure dan Cara memilih solusi manajemen kunci yang tepat.

Menerapkan alat pemindaian rahasia

Memindai basis kode Anda secara teratur untuk rahasia yang disematkan dapat mencegah paparan yang tidak disengaja. Alat seperti Azure DevOps Credential Scanner dan fitur pemindaian rahasia GitHub dapat secara otomatis mendeteksi dan memberi tahu Anda rahasia apa pun yang ditemukan di repositori Anda. Mengintegrasikan alat-alat ini ke dalam alur CI/CD Anda memastikan pemantauan berkelanjutan. Sangat penting untuk memperlakukan rahasia apa pun yang ditemukan oleh alat pemindaian ini sebagai disusupi, yang berarti harus segera dicabut dan diganti untuk menjaga integritas postur keamanan Anda.

Memanfaatkan identitas terkelola

Identitas terkelola di Azure menyediakan cara yang aman bagi aplikasi untuk mengautentikasi ke layanan Azure tanpa menyimpan kredensial dalam kode. Dengan mengaktifkan identitas terkelola untuk sumber daya Azure, Anda dapat mengakses Azure Key Vault dan layanan lainnya dengan aman, mengurangi kebutuhan untuk menangani rahasia secara manual. Pendekatan ini tidak hanya meminimalkan pembuatan rahasia tetapi juga mengurangi area permukaan untuk potensi pelanggaran, karena tanggung jawab untuk mengelola kredensial didelegasikan ke platform.

Menerapkan kontrol akses terperinci

Ikuti prinsip hak istimewa paling sedikit dengan menerapkan kontrol akses terperinci ke rahasia Anda. Gunakan kontrol akses berbasis peran Azure (RBAC) untuk memastikan bahwa hanya entitas yang berwenang yang memiliki akses ke rahasia tertentu. Tinjau dan perbarui izin akses secara teratur untuk mencegah akses yang tidak sah. Disarankan juga untuk menerapkan peran yang berbeda seperti pengguna, administrator, dan auditor untuk mengelola akses ke rahasia, memastikan bahwa hanya identitas tepercaya yang memiliki tingkat izin yang sesuai.

Lihat panduan RBAC Azure Key Vault.

Memutar rahasia secara teratur

Rahasia rentan terhadap kebocoran atau paparan dari waktu ke waktu. Memutar rahasia Anda secara teratur mengurangi risiko akses yang tidak sah. Anda dapat memutar rahasia di Azure Key Vault untuk rahasia tertentu; untuk rahasia yang tidak dapat diputar secara otomatis, membuat proses rotasi manual dan memastikan rahasia dihapus menyeluruh saat tidak lagi digunakan.

Mengotomatiskan proses rotasi rahasia dan membangun redundansi ke dalam manajemen rahasia Anda dapat memastikan bahwa rotasi tidak mengganggu ketersediaan layanan. Menerapkan logika coba lagi dan pola akses bersamaan dalam kode Anda dapat membantu meminimalkan masalah selama jendela rotasi.

Memantau dan mencatat akses

Aktifkan pengelogan dan pemantauan untuk sistem manajemen rahasia Anda untuk melacak akses dan penggunaan. Gunakan pengelogan dan/atau layanan Key Vault seperti Azure Monitor dan Azure Event Grid, untuk memantau semua aktivitas yang terkait dengan rahasia Anda. Ini memberikan visibilitas tentang siapa yang mengakses rahasia Anda dan membantu mendeteksi perilaku mencurigakan atau potensi insiden keamanan. Mempertahankan jejak audit terperinci sangat penting untuk memeriksa dan memvalidasi akses ke rahasia, yang dapat membantu mencegah pencurian identitas, menghindari penolakan, dan mengurangi paparan yang tidak perlu.

Mengimplementasikan isolasi jaringan

Kurangi paparan rahasia Anda dengan menerapkan isolasi jaringan. Konfigurasikan firewall dan grup keamanan jaringan untuk membatasi akses ke brankas kunci Anda. Hanya izinkan aplikasi dan layanan tepercaya untuk mengakses rahasia Anda, meminimalkan permukaan serangan dan mencegah akses yang tidak sah. Selain itu, pertimbangkan untuk menggunakan beberapa brankas kunci untuk membuat batas isolasi untuk komponen yang berbeda, memastikan bahwa jika satu komponen disusupi, itu tidak dapat memperoleh kontrol rahasia lain atau seluruh beban kerja.

Mengenkripsi rahasia saat tidak aktif dan saat transit

Pastikan rahasia Anda dienkripsi baik saat tidak aktif maupun saat transit. Azure Key Vault menyimpan rahasia dengan aman menggunakan enkripsi amplop, di mana Kunci Enkripsi Data (DEK) dienkripsi oleh Kunci Enkripsi Kunci (KEK), memberikan lapisan keamanan tambahan. Pendekatan ini meningkatkan perlindungan terhadap akses yang tidak sah. Selain itu, gunakan protokol komunikasi yang aman seperti HTTPS untuk mengenkripsi data saat transit antara aplikasi Anda dan brankas kunci, memastikan bahwa rahasia Anda terjaga selama penyimpanan dan transmisi.

Di Azure, enkripsi saat istirahat diimplementasikan di berbagai layanan menggunakan enkripsi AES 256, sementara data saat transit diamankan melalui TLS dan MACsec untuk mencegah akses tidak sah selama transmisi. Praktik enkripsi ini memberikan perlindungan komprehensif untuk data Anda, baik yang disimpan maupun ditransmisikan antar sistem. Untuk detail selengkapnya, lihat Enkripsi saat tidak aktif dan saat transit.

Distribusi rahasia yang aman

Saat mendistribusikan rahasia, pastikan rahasia dibagikan dengan aman di dalam dan di luar organisasi. Gunakan alat yang dirancang untuk berbagi yang aman dan sertakan prosedur pemulihan rahasia dalam rencana pemulihan bencana Anda. Jika kunci disusupi atau bocor, kunci harus segera diregenerasi. Untuk lebih meningkatkan keamanan, gunakan kunci yang berbeda untuk setiap konsumen daripada berbagi kunci, bahkan jika mereka memiliki pola akses yang sama. Praktik ini menyederhanakan manajemen dan pencabutan kunci, memastikan bahwa kunci yang disusupi dapat dicabut tanpa memengaruhi konsumen lain.

Praktik terbaik khusus layanan

Layanan individual mungkin memiliki praktik dan panduan terbaik tambahan untuk melindungi rahasia. Berikut adalah beberapa contoh:

Langkah berikutnya

Meminimalkan risiko keamanan adalah tanggung jawab bersama. Anda harus proaktif dalam mengambil langkah-langkah untuk mengamankan beban kerja Anda. Pelajari selengkapnya tentang tanggung jawab bersama di cloud.

Lihat praktik terbaik dan pola keamanan Azure untuk praktik terbaik keamanan lainnya yang digunakan saat Anda mendesain, menerapkan, dan mengelola solusi cloud dengan menggunakan Azure.