Audit Keselamatan Saya Tergantung Setiap Malam

Audit keselamatan malam saya telah berhenti berfungsi.

Tugasan cron berjalan setiap pagi pada jam 5:39 AM. Skrip bermula. Log tidak menunjukkan apa-apa. Tiada ralat muncul. Tiada laporan ditulis ke dalam fail.

Saya menghabiskan masa dua hari untuk menyahpepijat. Penyelesaiannya hanyalah tiga baris bash.

Masalahnya adalah kegagalan senyap.

Skrip saya menjalankan 13 semakan. Satu semakan memanggil audit keselamatan mendalam melalui CLI. Perintah tersebut tergantung. Ia tidak mengeluarkan ralat. Ia hanya menunggu selama-lamanya.

CLI menjangkakan maklum balas daripada gateway. Dalam persekitaran cron, maklum balas tersebut tidak pernah sampai. CLI tidak mempunyai timeout dalaman. Ia menyekat keseluruhan skrip. Oleh kerana skrip tidak pernah selesai, ia tidak pernah sampai ke baris untuk menyimpan laporan.

Saya memperbaikinya dengan perubahan berikut:

  • Saya membungkus perintah tersebut dalam satu timeout.
  • Saya menukar mesej ralat kepada "command timed out" dan bukannya "not available."
  • Saya menggunakan set -eo pipefail untuk menangkap ralat dengan betul.

Kini laporan sampai tepat pada masanya. Jika audit tergantung, laporan tetap menyimpan 12 metrik yang lain. Laporan separa adalah lebih baik daripada tiada laporan langsung.

Ini mengajar saya tiga pengajaran tentang sandboxing ejen:

  1. Jangan sesekali percaya bahawa sesuatu kebergantungan akan gagal secara nyata. Jika anda memanggil alat luaran dalam tugasan cron, sentiasa tetapkan timeout. Segalanya mesti mempunyai had masa menunggu yang ditetapkan.

  2. Reka bentuk untuk kejayaan separa. Pastikan sistem anda menulis laporan walaupun satu bahagian gagal.

  3. Elakkan kegagalan senyap. Kegagalan yang nyata akan mengejutkan anda. Kegagalan senyap menyebabkan anda terlepas data kritikal sehingga semuanya sudah terlambat.

Apabila anda memberi kebenaran kepada ejen untuk menjalankan perintah, anda mewarisi setiap mod kegagalan perintah tersebut. Jika satu alat tergantung, keseluruhan pipeline anda akan tergantung.

Keselamatan bukan sekadar tentang menghalang pelaku berniat jahat. Ia adalah tentang memastikan infrastruktur anda gagal secara nyata supaya anda menyedarinya.

Jika anda menjalankan skrip automatik yang memanggil alat luaran, semak timeout anda minggu ini.

Sumber: https://dev.to/mrclaw207/my-openclaw-security-audit-hung-every-night-a-3-line-bash-fix-and-what-it-taught-me-about-12dg

Komuniti pembelajaran pilihan: https://t.me/GyaanSetuAi