Memahami DevSecOps
Adopsi cloud terus dipercepat saat organisasi berusaha mendukung produktivitas bisnis, memungkinkan pekerjaan jarak jauh, dan menskalakan operasi secara efisien. Namun, adopsi cepat ini tanpa infrastruktur keamanan yang memadai secara tidak sengaja dapat membahayakan data dan mengekspos organisasi terhadap risiko yang signifikan.
Kesenjangan keamanan dalam aplikasi cloud
Kesenjangan keamanan tetap ada bahkan saat adopsi cloud tumbuh. Organisasi yang pindah ke platform cloud tidak selalu menerapkan kontrol keamanan yang sesuai:
Celah enkripsi: Banyak aplikasi cloud gagal melindungi data dengan benar:
- Data tidak aktif: Database, akun penyimpanan, dan sistem file yang tidak terenkripsi membuat data rentan ketika media penyimpanan diakses, dicuri, atau dibuang dengan tidak benar.
- Data saat transit: Aplikasi yang mengirimkan data melalui koneksi yang tidak terenkripsi mengekspos informasi ke penyadapan. Bahkan lalu lintas jaringan internal harus dienkripsi.
- Celah umum: Persentase signifikan aplikasi SaaS tidak mengenkripsi data secara memadai. Aplikasi penyimpanan sering kali tidak memiliki enkripsi baik saat tidak aktif maupun saat transit. Aplikasi kolaborasi sering mengirimkan informasi sensitif tanpa perlindungan yang tepat.
Kekurangan perlindungan sesi: Manajemen sesi yang lemah menciptakan kerentanan:
- Header keamanan HTTP hilang: Aplikasi yang tidak menerapkan header keamanan seperti HSTS (HTTP Strict Transport Security), CSP (Content Security Policy), dan atribut cookie aman membuat sesi rentan terhadap pembajakan.
- Paparan token: Token sesi yang ditransmisikan secara tidak aman dapat dicegat dan digunakan kembali oleh penyerang untuk meniru pengguna yang sah.
- Adopsi terbatas: Sangat sedikit aplikasi SaaS yang menerapkan perlindungan sesi header HTTP yang komprehensif, sehingga pengguna rentan terhadap serangan berbasis sesi.
Apa itu Secure DevOps (DevSecOps)
Ketegangan antara kecepatan dan keamanan: DevOps menekankan bekerja lebih cepat melalui otomatisasi, integrasi berkelanjutan, dan penyebaran yang cepat. Keamanan secara tradisional menekankan ketelitian, tinjauan yang cermat, dan pengujian komprehensif. Tujuan ini bisa tampak bertentangan.
Masalah pendekatan keamanan tradisional: Ketika masalah keamanan hanya ditangani di akhir siklus pengembangan, beberapa masalah muncul:
- Pekerjaan yang tidak diencana muncul tepat sebelum penyebaran ketika tim berada di bawah tekanan untuk merilis.
- Masalah keamanan yang ditemukan terlambat memerlukan pengerjaan ulang fitur yang sudah selesai dengan biaya mahal.
- Keamanan menjadi hambatan yang memperlambat atau memblokir rilis.
- Teams melihat keamanan sebagai penghambat daripada sebagai pendukung.
- Kerentanan keamanan kritis mungkin dikesampingkan karena tekanan rilis.
Solusi DevOps Aman: Secure DevOps mengintegrasikan keamanan dengan praktik DevOps ke dalam serangkaian aktivitas kohesif yang dirancang untuk memenuhi tujuan kecepatan DevOps dan efektivitas keamanan. Keamanan menjadi bagian dari proses pengembangan dari awal daripada gerbang di akhir.
Manfaat integrasi: Alur DevOps Aman memungkinkan tim pengembangan untuk bekerja cepat tanpa merusak proyek mereka dengan memperkenalkan kerentanan keamanan yang tidak diinginkan. Keamanan dan kecepatan menjadi pelengkap daripada tujuan yang berlawanan.
Nota
DevOps Aman juga terkadang disebut sebagai DevSecOps. Anda mungkin menemukan kedua istilah tersebut, tetapi masing-masing mengacu pada konsep yang sama. Perbedaan terminologi murni gaya. Praktik dan prinsip tetap identik.
Bagaimana perubahan keamanan dalam DevOps yang Aman
Metodologi keamanan tradisional: Secara historis, keamanan dioperasikan pada siklus yang lebih lambat dan terutama berfokus pada:
- Kontrol akses: Mengelola siapa yang dapat mengakses sistem dan data melalui mekanisme autentikasi dan otorisasi.
- Pengerasan lingkungan: Mengonfigurasi sistem untuk menghapus layanan yang tidak perlu, menerapkan patch keamanan, dan menerapkan konfigurasi yang aman.
- Perlindungan perimeter: Menggunakan firewall, sistem deteksi intrusi, dan segmentasi jaringan untuk melindungi batas jaringan.
Cakupan keamanan yang diperluas: Secure DevOps mencakup metodologi keamanan tradisional ini tetapi memperluas masalah keamanan di seluruh siklus hidup pengembangan perangkat lunak. Dengan Secure DevOps, keamanan adalah tentang mengamankan alur itu sendiri dan semua yang mengalir melaluinya.
Fokus keamanan alur: Secure DevOps melibatkan penentuan tempat untuk menambahkan perlindungan ke elemen yang terhubung ke alur build dan rilis Anda:
- Repositori kode sumber.
- Membangun server dan agen.
- Penyimpanan dan registri artefak.
- Perangkat dan proses pengembangan.
- Infrastruktur sebagai templat kode.
- Sistem manajemen konfigurasi.
- Solusi manajemen rahasia.
Pendekatan komprehensif: Secure DevOps menunjukkan kepada Anda cara dan tempat menambahkan keamanan ke praktik otomatisasi, lingkungan produksi, dan elemen alur lainnya sambil mempertahankan manfaat kecepatan DevOps. Kontrol keamanan otomatis dan terintegrasi daripada manual dan terpisah.
Pertanyaan utama yang ditangani oleh DevOps yang Aman
Secure DevOps membantu organisasi menjawab pertanyaan keamanan penting:
Keamanan komponen pihak ketiga:
- Apakah pipeline saya menggunakan komponen pihak ketiga, dan apakah komponen-komponen tersebut aman?
- Apakah komponen ini berasal dari sumber tepercaya?
- Apakah tanda tangan komponen diverifikasi?
- Apakah lisensi kompatibel dengan penggunaan kami?
Manajemen kerentanan:
- Apakah ada kerentanan yang diketahui dalam salah satu perangkat lunak pihak ketiga yang kami gunakan?
- Bagaimana kita melacak pengungkapan kerentanan untuk ketergantungan kita?
- Apa proses kami untuk memperbarui komponen yang rentan?
- Apakah kita memiliki inventaris semua dependensi termasuk yang transitif?
Kecepatan deteksi (waktu untuk mendeteksi):
- Seberapa cepat saya dapat mendeteksi kerentanan?
- Apakah pemindaian keamanan otomatis dalam rangkaian proses?
- Apakah kita memiliki pemantauan runtime untuk masalah keamanan?
- Seberapa cepat pemberitahuan keamanan menjangkau orang yang tepat?
Kecepatan remediasi (waktu untuk memulihkan):
- Seberapa cepat saya dapat memulihkan kerentanan yang diidentifikasi?
- Dapatkah kita menyebarkan perbaikan melalui alur otomatis yang sama?
- Apa proses kami untuk patch keamanan darurat?
- Bagaimana cara memverifikasi bahwa remediasi efektif?
Keamanan sebagai kode
Praktik keamanan otomatis: Praktik keamanan untuk mendeteksi potensi anomali keamanan harus sekuat dan cepat seperti bagian lain dari alur DevOps Anda. Ini termasuk:
Otomatisasi keamanan infrastruktur:
- Pemindaian keamanan otomatis infrastruktur sebagai templat kode.
- Penerapan kebijakan-berbasis-kode untuk konfigurasi sumber daya cloud.
- Pemeriksaan kepatuhan sebelum penyebaran infrastruktur.
- Pemantauan berkelanjutan postur keamanan infrastruktur.
Otomatisasi keamanan aplikasi:
- Pengujian keamanan aplikasi statis (SAST) selama build.
- Pengujian keamanan aplikasi dinamis (DAST) di lingkungan penahapan.
- Analisis komposisi perangkat lunak untuk kerentanan dependensi.
- Pemindaian gambar kontainer sebelum penyebaran.
- Perlindungan mandiri aplikasi runtime (RASP) selama produksi.
Keamanan berkelanjutan: Keamanan di Secure DevOps bukan satu titik pemeriksaan. Ini validasi berkelanjutan sepanjang pengembangan, penyebaran, dan operasi. Setiap tahap alur mencakup kontrol keamanan yang sesuai yang dijalankan secara otomatis tanpa memperlambat pengiriman.