Staging bukan produksi: beri ia sempadan aksesnya sendiri
Label staging tidak menentukan siapa yang mencapai aplikasi atau apa yang boleh disentuhnya. Teliti audiens, data, kelayakan dan permukaan admin sebelum menerbitkannya.
Staging kelihatan seperti sistem ujian sehingga anda perasan pangkalan data produksi yang disalin, kelayakan mel yang aktif dan kunci pembayaran dalam persekitarannya. Pada ketika itu label pada tab tidak lagi penting dan soalan sebenar ialah apa yang boleh dicapai oleh penggunaan ini dan siapa yang boleh mencapainya. VPN pintu depan tidak menjawab soalan itu, kerana ia mengehadkan satu laluan ke dalam sistem dan tidak berkata apa-apa tentang apa yang sistem boleh lakukan ketika keluar. Mulakan dengan audiens dan bergerak ke luar.
Mulakan dengan audiens, bukan URL
Tiga audiens menghasilkan tiga reka bentuk berbeza. Persekitaran kejuruteraan peribadi memerlukan identiti dan laluan; ujian penerimaan pelanggan memerlukan akaun yang mewakili pelanggan; demonstrasi awam memerlukan pendedahan yang disengajakan dengan kawalannya sendiri. Menulis audiens terlebih dahulu menghalang hanyutan biasa di mana URL pratonton secara senyap menjadi kekal. Segala-galanya dalam semakan bergantung pada jawapan itu.
Jika tiada siapa boleh menamakan audiens, anggap itu sebagai penemuan pertama dan bukan jurang dokumentasi.
Lalui pintu depan dan permukaan di belakangnya
Selesaikan nama sebelum mempercayai URL yang diberikan kepada anda, kemudian minta laluan pentadbiran secara langsung.
dig +short staging.example.com
curl -sS -o /dev/null -w "%{http_code}\n" https://staging.example.com/
curl -sS -o /dev/null -w "%{http_code}\n" https://staging.example.com/adminRekod tambahan sering mendedahkan alamat asal langsung yang memintas CDN atau pintu masuk VPN, yang menjadikan kawalan yang dimaksudkan sebagai pilihan. Ubah hala memberitahu anda di mana aplikasi percaya ia tinggal, dan skema atau nama hos yang tidak dijangka wajar disusuli. Menyiasat laluan admin yang mungkin sepatutnya menghasilkan penolakan, bukan halaman. Respons 200 pada laluan pentadbiran yang tidak disahkan ialah penemuan yang dicari oleh seluruh semakan.
Periksa apa yang persekitaran boleh lakukan, bukan hanya apa yang ditunjukkannya
Halaman yang memerlukan log masuk tetap dihantar dengan kuasa backend. Tanya identiti apa yang dijalankan oleh beban kerja, kemudian baca dasar yang dilampirkan padanya.
aws sts get-caller-identityPanggilan itu melaporkan akaun dan prinsipal yang sebenarnya digunakan oleh persekitaran, dan itu ialah titik permulaan bagi setiap soalan kebenaran berikutnya. Dari situ, periksa sama ada identiti boleh menghantar mel, memindahkan wang, membaca rahsia produksi atau menulis data produksi. Gantikan kelayakan produksi yang dikongsi dengan identiti staging yang terbatas, dan utamakan sandbox vendor di mana ia wujud. Akaun ujian yang boleh mengenakan caj pada kad sebenar ialah sistem produksi dengan nama hos yang berbeza.
Kekalkan sempadan selepas semakan tamat
Persekitaran tidak diamankan oleh satu audit; ia diamankan oleh pemilikan yang bertahan melalui perubahan kakitangan. Tetapkan siapa yang membuang akses, menetapkan semula data ujian dan bersara penggunaan, dan beri pratonton tarikh luput yang mesti diperbaharui oleh seseorang. Pengasingan hanya membantu selagi perkara yang diasingkan diselenggara. Semak semula laluan yang sama selepas keluaran seterusnya, kerana bendera ciri atau integrasi baharu ialah cara tepat laluan yang ditolak menjadi terbuka.
Terima reka bentuk dengan aliran kerja yang dibenarkan dan satu yang ditolak. Jika kedua-duanya berkelakuan seperti didokumenkan, sempadan itu wujud; jika hanya laluan gembira diuji, ia adalah harapan.