Michael Grünewald baru-baru ini memposting komentar ini :
Metode yang sangat penting yang tidak Anda sebutkan adalah "prinsip empat mata" yang digunakan dalam keuangan - baik sebagai kewajiban regulasi atau sebagai penjaga aman. Dalam industri perangkat lunak ini diimplementasikan dalam berbagai cara, seperti ulasan kode tetapi juga dapat digunakan untuk memvalidasi perintah yang mempengaruhi sistem live.
Koreksi saya jika saya salah, tetapi saya diajari bahwa "prinsip empat mata" adalah tentang sesuatu yang "disetujui untuk terjadi", setelah setidaknya 2 manusia (dan / atau proses otomatis) memberikan berkah mereka sebelumnya. Atau untuk menggunakan kata-kata (yang sedikit dikoreksi) tentang " aturan dua orang" dari Wikipedia :
Aturan dua orang adalah mekanisme kontrol yang dirancang untuk mencapai tingkat keamanan yang tinggi untuk bahan atau operasi yang sangat penting. Di bawah aturan ini, semua akses dan tindakan memerlukan kehadiran dua orang yang berwenang setiap saat.
Kewajiban pengaturan, cukup yakin, di luar topik di sini, tetapi dalam konteks "perlindungan aman", apa saja implementasi konseptual yang mungkin dari prinsip empat mata ini, yang mungkin dapat diterapkan pada platform / OS / perangkat keras apa pun yang digunakan?
sumber
Ulasan Kode
Ini adalah tentang memiliki setidaknya 1 orang lain melihat kode yang ditulis oleh seseorang, misalnya untuk mengevaluasi jika memenuhi beberapa kriteria yang telah ditentukan seperti:
if/then/else
ataucase/when
konstruksi mencakup semua kasus yang mungkin).Persetujuan untuk memperbarui beberapa lingkungan target
Ini adalah tentang memiliki setidaknya 2 konfirmasi dari beberapa orang dan / atau sistem otomatis sebelum diizinkan untuk memperbarui beberapa lingkungan target (yang mungkin hidup, atau mungkin sesuatu seperti beberapa file master / pustaka baseline). Beberapa contoh adalah:
sumber
Ini adalah strategi / pola yang dapat saya pikirkan:
Pemisahan Tugas
DevOps, setidak-tidaknya menurut saya, tidak berarti mewujudkan dev dan ops dalam satu orang. Jadi masih mungkin untuk memisahkan tugas sehingga yang menulis kode (dev) bukan yang mengeksekusinya (ops).
Sebagai contoh, jika pernyataan SQL akan dijalankan pada lingkungan hidup, satu menulis SQL dan yang lain mengeksekusinya. Apa yang disyaratkan ini adalah kebutuhan yang mengeksekusi juga memiliki pemahaman tentang SQL dan tidak hanya mengeksekusi.
Sebarkan pemicu
Meskipun ada manfaat untuk terus digunakan. Tim dalam industri yang lebih teregulasi dapat menunjuk pihak lain (terpisah) untuk memicu penyebaran alih-alih penempatan secara otomatis. Daftar periksa, pengujian otomatis, checksum adalah pemeriksaan yang memungkinkan sebelum memicu penyebaran.
Setelah dipicu, otomasi dapat melanjutkan untuk melaksanakan penyebaran.
Pemrograman Pasangan
Secara pribadi saya belum mengutip teknik ini sebagai metode untuk auditor untuk memenuhi prinsip check and balance. Tapi secara potensial saya pikir itu bisa menjadi strategi.
MFA
Saya mungkin sedikit meregang dengan yang satu ini, tetapi ada kemungkinan bahwa karena alasan tertentu Anda tidak ingin masuk secara sepihak ke dalam suatu sistem, seseorang dapat memegang kata sandi dan orang lain memegang token atau perangkat untuk satu kode waktu. Sehingga, 2 orang harus hadir untuk menilai sistem.
sumber