Cara Rotasi API Key yang Bocor Tanpa Mematikan Aplikasi
API key adalah kredensial penting yang menghubungkan aplikasi ke layanan pihak ketiga. Ketika key bocor, misalnya tidak sengaja ter-commit ke repositori publik atau tercetak di log server, risikonya langsung tinggi. Banyak developer berpikir cukup menghapus key dari kode dan commit baru. Itu keliru.
Kunci yang sudah terekspos harus dianggap kompromi total. Penyerang mungkin sudah menyalinnya dalam hitungan detik setelah publikasi. Menghapus dari kode tidak mencabut akses key tersebut. Satu-satunya langkah aman adalah rotasi penuh: membuat kunci baru, memindahkan aplikasi, lalu menonaktifkan kunci lama. Artikel ini membahas cara rotasi API key yang bocor tanpa mematikan aplikasi.
Sebelum mulai, pastikan Anda tahu persis di mana key tersebut bocor. Gunakan pemindai seperti AISG untuk memeriksa URL publik. AISG menyediakan free URL scan tanpa akun di /#free-scan. Temuan dari pemindai otomatis hanya indikasi, bukan bukti eksploitasi. Validasi manual tetap diperlukan.
Pahami Risiko Kunci yang Sudah Bocor
Banyak insiden keamanan dimulai dari key yang bocor di Git. Repositori publik dipindai terus-menerus oleh bot otomatis. Jika key Anda pernah masuk ke commit publik, anggap sudah diketahui pihak tak dikenal. Bahkan jika commit dihapus, riwayat Git masih menyimpan blob lama. Penyerang bisa menemukannya lewat cache, fork, atau layanan arsip. Karena itu, rotasi bukan pilihan—tetapi keharusan.
- Pemakaian tak sah yang membebani kuota atau biaya.
- Akses tidak sah ke data sensitif lewat API.
- Rusaknya reputasi jika insiden terungkap.
- Sulitnya membuktikan bahwa pemakaian tertentu bukan dari sistem Anda.
Langkah 1: Buat dan Aktifkan Kunci Baru
Buka dashboard penyedia layanan API Anda. Cari menu keamanan atau kredensial. Buat kunci baru dengan izin minimal yang sama atau lebih ketat dari kunci lama. Jangan nonaktifkan kunci lama dulu. Kunci lama masih dipakai aplikasi sampai Anda siap beralih. Catat nilai kunci baru di tempat aman, misalnya secret manager lokal. Jangan simpan di file teks biasa di laptop.
Langkah 2: Pasang Berdampingan dan Alihkan Lalu Lintas
Pada tahap ini, aplikasi Anda memakai dua kunci: lama dan baru. Teknik ini disebut rotasi berdampingan untuk menghindari downtime. Simpan kunci baru di environment variable atau secret manager. Jangan hardcode di kode sumber. Lalu lakukan deploy bertahap. Uji coba bahwa layanan tetap berfungsi dengan kunci baru. Pantau log error untuk melihat apakah ada komponen yang gagal autentikasi.
Langkah 3: Pantau, Cabut Kunci Lama, dan Audit Pemakaian
Setelah semua instance aplikasi memakai kunci baru, pantau dashboard penyedia layanan. Periksa apakah masih ada permintaan masuk dengan kunci lama. Jika ada, kemungkinan ada komponen yang belum diperbarui. Setelah yakin tidak ada aktivitas sah dari kunci lama, nonaktifkan atau hapus kunci tersebut. Jangan tunda. Selanjutnya, audit log pemakaian kunci lama untuk mendeteksi aktivitas mencurigakan sebelum rotasi. Catat setiap panggilan dari IP atau lokasi yang tidak dikenal.
- Buka log penggunaan API untuk periode sejak kunci diduga bocor.
- Bandingkan dengan pola pemakaian normal aplikasi Anda.
- Tandai panggilan dari IP asing, volume tidak wajar, atau endpoint sensitif.
- Jika ada indikasi penyalahgunaan, laporkan ke penyedia layanan dan pertimbangkan langkah hukum.
Langkah 4: Bersihkan Riwayat Git dan Jejak Publik
Menghapus key dari kode saat ini tidak cukup. Anda harus membersihkan seluruh riwayat repositori. Gunakan alat seperti git filter-repo untuk menghapus file yang berisi key dari semua commit. Paksa push ke remote. Jika repositori publik, pertimbangkan untuk membuat repositori baru dan menghapus yang lama. Periksa juga gist, pastebin, atau forum yang mungkin menyalin key. Untuk aplikasi yang sudah terlanjur terindeks mesin pencari, gunakan free URL scan AISG di /#free-scan untuk melihat apakah key masih terlihat. Ingat, hasil pemindaian hanya indikasi, bukan jaminan bersih.
Langkah 5: Cegah Kebocoran Berulang
Rotasi hanya solusi sementara jika akar masalah tidak diperbaiki. Terapkan praktik berikut:
- Gunakan environment variable untuk menyimpan key, jangan hardcode di kode.
- Pakai secret manager seperti Vault atau AWS Secrets Manager untuk produksi.
- Pasang pre-commit hook yang memindai kode untuk pola key. AISG memiliki sensor yang berjalan lokal di mesin pengguna dan dapat diintegrasikan dalam pipeline CI.
- Batasi izin key dengan prinsip least privilege.
- Rutin rotasi key setiap 90 hari meski tidak ada indikasi bocor.
Kesimpulan
Rotasi API key yang bocor bukan sekadar menghapus dari kode—itu proses bertahap yang memastikan aplikasi tetap hidup sambil menghilangkan akses kunci lama. Urutan aman dimulai dari membuat kunci baru, memasang berdampingan, memantau, mencabut yang lama, membersihkan riwayat Git, dan mencegah pengulangan.
Gunakan alat pemindai seperti AISG untuk memeriksa eksposur kunci di publik. Ingat, pemindaian otomatis hanya memberi indikasi, bukan jaminan aman. Validasi manual tetap penting. Dengan disiplin, Anda menurunkan risiko tanpa mematikan layanan.