Setiap kali anda berkongsi fail Compose, terdapat dua artifak: yang anda tulis dan yang dirender oleh alat selepas menggantikan pemboleh ubah. Yang kedua selalunya lebih sensitif daripada yang pertama, dan itulah yang orang tampal ke dalam laporan masalah tanpa membacanya. Jika anda hanya menyemak fail sumber, anda menyemak dokumen yang salah.

Bandingkan apa yang boleh terkandung dalam setiap salinan sebelum memutuskan apa yang perlu dibuang.

Model yang dirender ialah dokumen yang berbeza

Compose menyelesaikan pemboleh ubah persekitaran, menggabungkan fail tindih dan menghasilkan konfigurasi berkesan yang pembaca tidak lagi dapat bezakan daripada nilai yang ditulis dengan tangan. Rujukan seperti nama pemboleh ubah dalam sumber menjadi token akaun itu sendiri dalam output. Struktur yang menjadikan fail berguna untuk diagnosis bertahan melalui transformasi itu; begitu juga segala yang tidak sepatutnya berada di dalamnya.

Render fail itu sendiri sebelum melampirkannya dan anggap output itu sebagai artifak yang sedang disemak. Jika anda tidak boleh merendernya, anda tidak boleh tahu apa yang akan anda terbitkan.

Rahsia berada di lebih banyak tempat daripada medan kunci

Mulakan dengan yang jelas: kunci peribadi, kunci yang dikongsi terlebih dahulu, token, kata laluan dan URL sambungan yang membenamkan kelayakan. Kemudian lihat semua yang ditunjuk oleh fail, kerana rujukan bukan redaksi. Fail env yang dilekapkan ke perkhidmatan, fail konfigurasi yang diikat dari hos, label yang membawa token dan argumen arahan yang mengandungi kata laluan semuanya bergerak bersama penggunaan walaupun YAML kelihatan bersih. Kunci yang ditampal ke dalam pemboleh ubah dengan nama yang menenangkan tetap kunci.

Laluan hos dan nama perkhidmatan membocorkan jenis maklumat kedua. Nama direktori rumah, nama hos dalaman atau julat rangkaian boleh mengenal pasti seseorang atau organisasi tanpa mengandungi satu pun kelayakan, dan konteks itu wajar dibuang atas sebab yang sama.

Pengisytiharan rahsia bukanlah rahsia itu

Objek rahsia Compose memisahkan pengisytiharan daripada bahan: perkhidmatan menerima laluan atau sasaran, dan kandungannya hidup di tempat lain. Mengekalkan pengisytiharan sambil menggantikan bahan biasanya merupakan pertukaran yang betul, kerana penyemak perlu melihat bahawa rahsia wujud dan bagaimana ia dilekapkan. Yang tidak boleh bertahan ialah kandungan itu sendiri.

Label dan komen wajar mendapat layanan yang sama. Komen yang menyatakan laluan peti besi mana yang menyimpan kunci pengeluaran memberitahu penyerang ke mana perlu dilihat walaupun ia tidak mengandungi kunci.

Kekalkan bentuk supaya fail masih boleh mendiagnosis

Redaksi yang membuang mod rangkaian, versi imej atau tetapan keupayaan menghasilkan fail yang tiada siapa boleh nyahpepijat. Gantikan nilai sensitif dan kekalkan hubungan: perkhidmatan mana melekapkan apa, ke rangkaian mana ia menyertai, peranti mana yang diperlukannya. Itulah bahagian yang digunakan pembaca untuk menjelaskan laluan yang hilang atau peranti yang tidak tersedia. Itu juga versi yang boleh dibandingkan oleh rakan sekerja dengan penggunaan mereka yang berfungsi.

docker compose -f compose.yaml config > rendered.yaml
grep -nE 'PRIVATE_KEY|PASSWORD|TOKEN|PSK|PrivateKey|passphrase' rendered.yaml
wc -l rendered.yaml

Jangan gunakan salinan yang telah diredaksi seolah-olah itu asal yang berfungsi. Ia adalah penerangan, dan penerangan yang diedit supaya kelihatan selamat akan gagal dengan cara yang kelihatan seperti pepijat konfigurasi.

Jika bahan telah terdedah, gantikannya

Membuang lampiran tidak membuang salinan yang sudah dibuat oleh orang lain, dan cermin serta cache menyimpan salinan sendiri. Gunakan proses pembatalan dan penggantian pengeluar untuk apa sahaja yang bocor, kemudian kemas kini penggunaan. Urutan itu penting, kerana menggantikan dahulu dan membatalkan kemudian meninggalkan tetingkap dengan dua kelayakan yang sah.

Dalam urutan sokongan, mulakan dengan ralat yang tepat, versi imej, mod rangkaian dan satu tetapan bukan rahsia yang penting. Gabungan itu menjelaskan peranti yang hilang atau laluan yang rosak jauh lebih kerap daripada kunci.

Artikel berkaitan