Dari kursus: Dasar-Dasar DevOps: DevSecOps
Pengantar DevSecOps
Dari kursus: Dasar-Dasar DevOps: DevSecOps
Pengantar DevSecOps
- [Instruktur] Sekarang mari kita bicara sedikit tentang DevSecOps dan bagaimana mengintegrasikan keamanan ke dalam dunia DevOps. Definisi DevSecOps sebenarnya adalah, bagaimana Anda mengambil keamanan dan memasukkannya ke dalam proses DevOps? Bagaimana Anda menggabungkan keduanya dan tetap memastikan bahwa, dari perspektif keamanan, Anda memiliki semua pos pemeriksaan yang perlu Anda terapkan. Ketika Anda sedang mengembangkan rencana tentang bagaimana melakukan ini, tujuannya benar-benar harus, bagaimana kita bisa membuat tim pengembang memiliki lebih banyak kepemilikan atas proses tersebut? Ini tidak semua tentang otomatisasi, tetapi ini tentang kepemilikan dan akuntabilitas, dan bagaimana kita bisa membuat tim pengembang mengambil lebih banyak? Mengintegrasikan otomatisasi ke dalam setiap langkah proses akan menjadi kunci. Satu hal yang ingin saya kemukakan adalah perbedaan antara istilah DevSecOps dan Rugged DevOps. Sering kali mereka digunakan secara bergantian, tetapi ada perbedaan. DevSecOps berfokus pada seluruh siklus hidup pengembangan dan otomatisasi keamanan yang mendukungnya. Rugged DevOps lebih spesifik untuk pengembang dan mendukung pengembang melakukan pengujian ekstrem pada kode mereka untuk memastikannya dilindungi setelah dirilis ke produksi. Untuk keperluan kursus ini, kami akan lebih fokus pada DevSecOps. Seperti halnya semua DevOps, otomatisasi adalah kunci DevSecOps. Ini adalah bagaimana Anda akan menjadi cepat dan gesit dan menjauh dari semua proses manual yang Anda miliki. Ada perubahan bagus bahwa ketika Anda pindah ke DevSecOps, beberapa alat yang telah Anda gunakan selama bertahun-tahun dengan proses yang ada tidak akan berfungsi. Bahkan jika Anda dapat mengotomatiskan alat, jumlah positif palsu yang menyertainya tidak akan membuatnya berharga dalam alur DevOps. Semuanya harus terjadi dengan cepat. Jadi, dengan pemindaian statis biasanya memakan waktu berjam-jam, ini tidak akan berfungsi lagi dan kita benar-benar harus memikirkan kembali bagaimana kita melakukannya, bagaimana kita mengotomatiskannya, dan alat apa yang dapat kita gunakan? Otomatisasi alat keamanan tidak berarti mengotomatiskan menekan tombol. Ini tidak berarti mengambil pemindai dinamis Anda dan mengotomatiskan mengklik run scan. Apa arti otomatisasi di dunia alat keamanan adalah Anda dapat memasukkan sesuatu ke dalam skrip dan menjalankannya di latar belakang dan mendorong hasil yang berarti bagi pengembang Anda. Bukan PDF, bukan dokumen, tetapi hasil aktual dalam pengembang dan hasilnya harus didorong ke alat yang mereka gunakan, bukan alat keamanan yang digunakan tim keamanan, tetapi sesuatu yang berarti bagi mereka, seperti JIRA atau pusat kualitas yang mereka masuki dan keluar sepanjang hari, Itu berarti bagi mereka, dan itu real-time sehingga mereka dapat menindaklanjutinya. Dan bahkan mengambil satu langkah lebih jauh, salah satu cara terbaik untuk memungkinkan tim pengembangan mendapatkan hasil secara real-time adalah melalui ChatOps, jadi alih-alih mengirimi mereka PDF, kirimi mereka pemberitahuan melalui Slack atau HipChat atau mekanisme pemberitahuan langsung lainnya bahwa mereka harus dapat bertindak berdasarkan hasil lebih cepat. Dan salah satu kutipan yang lebih populer yang pernah saya lihat dan yang sangat saya sukai adalah oleh Rod Michael dan dia berkata, "Jika Anda mengotomatiskan kekacauan, Anda mendapatkan kekacauan otomatis." Jadi, pastikan bahwa ketika Anda melakukan otomatisasi keamanan Anda, bahwa Anda melakukannya dengan cara yang membantu pengembang, tidak menghalangi mereka, dan memberi mereka hasil yang baik yang dapat mereka tindak lanjuti. Bagian kedua dari DevOps yang ingin saya bicarakan adalah pendidikan. Pengembang perlu diedukasi tentang dasar-dasar keamanan. Dalam 15 tahun saya telah melakukan keamanan aplikasi, saya telah melihat cacat keamanan yang sama berulang kali. Injeksi SQL adalah masalah 15 tahun yang lalu, injeksi SQL adalah masalah hari ini, jadi membantu tim memahami dasar-dasar keamanan akan sangat membantu mempercepat proses pengembangan dan proses DevOps dengan membuat mereka tahu di muka apa yang mereka butuhkan untuk pengkodean. Pastikan bahwa mereka memiliki sumber daya untuk dapat memperbaiki cacat yang mungkin mereka temukan. Idenya di sini bukanlah bahwa keamanan tidak akan berperan, tetapi idenya adalah bahwa kami akan memberi mereka informasi yang mereka butuhkan melalui pelatihan, melalui bantuan, melalui percakapan sehingga mereka dapat memperbaiki salah satu cacat yang datang kepada mereka. Dan sama seperti semua DevOps, kunci DevSecOps adalah benar-benar membiarkan pengembang memiliki keamanan mereka sendiri dan bertanggung jawab atas keamanan mereka. Poin terakhir yang harus dibuat untuk DevSecOps adalah bahwa kita perlu memberdayakan tim pengembang. Beri mereka alat, biarkan mereka memegang alat, biarkan mereka memasukkannya ke dalam pipa mereka seperti yang dapat mereka gunakan. Letakkan di build Jenkins mereka atau masukkan ke dalam IDE mereka sehingga ketika mereka sedang membangun aplikasi, mereka dapat melihat hasilnya secara real time. Pada akhirnya, mereka harus bertanggung jawab atas keamanan aplikasi, bukan tim keamanan. Tujuannya di sini sebenarnya adalah untuk mengubah tim keamanan menjadi auditor dan bukan penguji sehingga kami memastikan sebagai tim keamanan bahwa pengujian telah dilakukan, tetapi kami bukan orang yang benar-benar melakukan pengujian, yaitu tim pengembangan.
Berlatih sambil belajar dengan file latihan
Unduh file yang digunakan instruktur untuk mengajarkan kursus. Simak dan pelajari dengan melihat, mendengarkan, dan berlatih.