Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
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:
- API Management: Gunakan nilai bernama dalam kebijakan Azure API Management dengan Integrasi Key Vault
- App Service: Menggunakan referensi Key Vault untuk App Service dan Azure Functions
- Application Gateway: Mengonfigurasi Application Gateway dengan penghentian TLS menggunakan portal Azure
- Automation: Mengelola kredensial di Azure Automation
- Azure App Configuration: Tutorial: Menggunakan referensi Key Vault di aplikasi ASP.NET Core
- Azure Bot Service: Enkripsi Azure Bot Service untuk data tidak aktif
- Solusi Azure Center for SAP: Azure Center for SAP Solutions - Penyebaran - Menyiapkan jaringan untuk penyebaran
- Azure Communications Gateway: Membuat dan menyimpan rahasia
- Azure Communications Service: Membuat dan mengelola token akses
- Azure Database for PostgreSQL - Server Fleksibel: Azure Database for PostgreSQL - Enkripsi Data Server Fleksibel dengan Kunci yang Dikelola Pelanggan
- Azure Databricks: Integrasi Key Vault di Databricks
- Azure DevTest Labs: Mengaktifkan identitas terkelola yang ditetapkan pengguna pada komputer virtual lab di Azure DevTest Labs
- Azure Front Door: Rahasia Azure Front Door
- Azure HDInsight di AKS: Prasyarat sumber daya - Membuat Azure Key Vault
- Perlindungan Informasi Azure: Detail untuk Dukungan Key Vault Perlindungan Informasi Azure
- Azure Kubernetes Service (AKS): CSI Secret Store
- Aplikasi Terkelola Azure: Mengakses rahasia Key Vault saat menyebarkan Azure Managed Applications
- Azure OpenAI: Mengembangkan aplikasi layanan Azure AI dengan Key Vault
- Azure Pipelines: Melindungi rahasia di Azure Pipelines
- Azure Purview: Kredensial untuk autentikasi sumber di Microsoft Purview
- Azure SignalR Service: Referensi rahasia Key Vault di pengaturan templat URL
- Azure Bus Layanan: Mengautentikasi dan mengotorisasi aplikasi dengan ID Microsoft Entra untuk mengakses entitas Azure Bus Layanan
- Azure Stack Edge: Mengelola rahasia Azure Stack Edge menggunakan Azure Key Vault
- Azure Stack Hub: Memutar rahasia
- Azure Web PubSub: Menambahkan sertifikat kustom
- Pencadangan: Mengonfigurasi vault untuk mengenkripsi menggunakan kunci yang dikelola pelanggan
- Cognitive Services: Mengembangkan aplikasi Azure Cognitive Services dengan Key Vault
- Data Factory: Menyimpan kredensial di Azure Key Vault
- ExpressRoute: Mengonfigurasi enkripsi MACsec untuk ExpressRoute Direct.
- Functions: Menggunakan referensi Key Vault untuk App Service dan Azure Functions
- Key Vault: Tentang rahasia Azure Key Vault
- Logic Apps: Pengaturan Aplikasi Standar Logic Apps
- Layanan Pembelajaran Mesin: Menggunakan rahasia kredensial autentikasi di pekerjaan Azure Pembelajaran Mesin
- IaaS SQL: Mengonfigurasi integrasi Azure Key Vault untuk SQL Server di Azure VM (Resource Manager)
- Penyimpanan: Mengelola kunci akun penyimpanan dengan Key Vault dan Azure CLI
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.