Keamanan infrastructure as code: tinjau perubahan sebelum deploy
Infrastructure as code membantu melacak konfigurasi. Tim tetap perlu memeriksa dampak perubahan dan perbedaan dengan lingkungan nyata.
Di halaman ini
Infrastructure as code atau IaC adalah cara mendefinisikan infrastruktur melalui kode atau berkas konfigurasi. Perubahan jaringan, penyimpanan, identitas layanan dan komponen lain dapat ditinjau serta dilacak bersama perubahan aplikasi.
Konfigurasi yang masuk repositori tidak otomatis aman. Tim perlu memahami izin yang dibuat, layanan yang akan berubah, dan siapa yang berwenang menerapkannya.
Periksa dampak sebelum menyetujui
Contoh fiktif: perubahan menambahkan tempat penyimpanan hasil ekspor. Tinjauan sebaiknya memeriksa siapa yang dapat membaca, siapa yang menghapus, apakah akses publik aktif, dan aplikasi mana yang benar-benar membutuhkan izin.
| Bagian perubahan | Pertanyaan peninjau |
|---|---|
| Identitas dan izin | Apakah perubahan memberi hak lebih luas dari kebutuhan fitur? |
| Jaringan dan publikasi layanan | Apakah ada jalur baru dari internet atau jaringan lain? |
| Penyimpanan | Apakah data lama terhapus, dipindahkan, atau menjadi dapat dibaca pihak lain? |
| Ketergantungan | Apakah asal dan versi modul atau paket dapat ditelusuri? |
| Pengembalian layanan | Bagaimana layanan dipulihkan jika perubahan gagal? Apakah ada tindakan yang sulit dibatalkan? |
Hasil pemeriksaan otomatis membantu menemukan pola konfigurasi bermasalah. Tetap baca konteksnya; alat tidak selalu mengetahui kebutuhan bisnis atau data yang ada di lingkungan tujuan.
Batasi hak proses deployment
Pisahkan hak meninjau kode dari hak menerapkan perubahan jika sesuai pembagian tugas tim. Akun deployment memerlukan izin yang cukup untuk pekerjaannya, bukan akses tanpa batas ke seluruh lingkungan.
Jaga rahasia di luar repositori. Periksa juga keluaran rencana perubahan, log pekerjaan dan artefak yang disimpan: informasi sensitif dapat muncul di luar kode utama. Batasi akses, masa simpan, dan pembagian bukti tersebut. Jangan menyalin kredensial ke tiket untuk menjelaskan kegagalan deployment.
Bandingkan dengan kondisi nyata
Perubahan manual dapat membuat kondisi berjalan berbeda dari konfigurasi yang ditinjau. Perbedaan ini sering disebut drift. Tentukan siapa yang memeriksa, menilai penyebab, lalu memutuskan apakah konfigurasi perlu diperbarui atau perubahan manual perlu dibatalkan.
Jangan langsung menimpa kondisi nyata tanpa menilai dampak. Perubahan darurat bisa saja sedang menjaga layanan tetap berjalan; tetap catat alasan, persetujuan dan langkah merapikannya.
Simpan bukti yang dapat ditelusuri
Hubungkan usulan perubahan, persetujuan, hasil pemeriksaan, lingkungan tujuan dan hasil deployment. Perbarui inventaris aset agar sumber daya baru memiliki pemilik dan sumber daya yang dihentikan tidak tertinggal.
Untuk latihan tim, gunakan konfigurasi buatan yang memperluas izin baca penyimpanan. Minta peninjau menunjukkan risiko, revisi yang diperlukan, serta cara memastikan hasil deployment sesuai persetujuan. Lanjutkan dengan checklist persetujuan rilis dan pengamanan CI/CD.
Sumber rujukan
- OWASP — Infrastructure as Code Security Cheat Sheet ↗OWASP Foundation · Develop and Distribute; Deploy; Runtime
- OWASP — Secrets Management Cheat Sheet ↗OWASP Foundation; rujukan praktik teknis, bukan hukum Indonesia · Penyimpanan, akses dan siklus hidup rahasia
Baca naskah lengkap untuk melihat syarat dan pengecualiannya. Sesuaikan dengan layanan dan bidang usaha Anda.
Perlu membahas kebutuhan tim Anda?
Ceritakan sistem yang dikelola dan kebutuhan pengamanan tim Anda.
Konsultasikan kebutuhan Anda