Klien Apidog mendukung kontrol keamanan untuk operasi tertentu yang melibatkan akses sumber daya lokal atau kemampuan eksekusi kode. Dalam pengaturan Keamanan, Anda dapat melakukan prakonfigurasi rentang kemampuan yang tersedia bagi proyek tepercaya. Jika suatu proyek belum dipraotorisasi tetapi memicu operasi terkait, klien akan menampilkan prompt konfirmasi sebelum eksekusi dan hanya melanjutkan setelah pengguna mengonfirmasi.Pengaturan keamanan membantu mengurangi risiko penyalahgunaan atau pemanggilan kemampuan sensitif secara tidak terduga, sehingga pemanggilan kemampuan lokal menjadi lebih terkendali.Mengakses Pengaturan Keamanan#
Anda dapat mengakses pengaturan Keamanan melalui jalur berikut:1
Buka klien Apidog dan klik ikon Pengaturan di sudut kanan atas
2
Pilih Keamanan di Preferensi
3
Pada halaman Keamanan, konfigurasikan cakupan otorisasi untuk kemampuan seperti koneksi database, pemanggilan program eksternal, dan pemuatan paket npm secara dinamis
Konfirmasi Otorisasi untuk Operasi Berisiko Tinggi#
Beberapa kemampuan melibatkan akses sumber daya lokal, pemanggilan program eksternal, atau pemuatan dependensi pihak ketiga. Untuk mengurangi risiko penyalahgunaan, Apidog menambahkan mekanisme konfirmasi otorisasi keamanan untuk operasi ini.Kemampuan yang dapat dikonfigurasi dan saat ini didukung meliputi:Koneksi database: Mengontrol apakah suatu proyek dapat menggunakan koneksi database yang dikonfigurasi dalam skrip pra- atau pasca-operasi, sehingga mengurangi risiko proyek atau skrip yang tidak sah mengakses sumber daya database, atau mengakses sumber daya intranet melalui SSH tunnel
Pemanggilan program eksternal: Mengontrol apakah suatu proyek dapat memanggil skrip atau file kode yang dapat dieksekusi dalam direktori External Programs, sehingga mengurangi risiko program lokal dipanggil secara tidak terduga
Memuat paket npm secara dinamis: Mengontrol apakah suatu proyek dapat menginstal dan memuat paket npm saat runtime, sehingga mengurangi risiko keamanan yang disebabkan oleh penyalahgunaan dependensi pihak ketiga
Anda dapat mengaktifkan atau menonaktifkan kemampuan ini secara terpisah dalam pengaturan Keamanan dan mengonfigurasi cakupan otorisasi untuk proyek tepercaya.Konfigurasi Statis: Praotorisasi Proyek Tepercaya#
Jika Anda memastikan bahwa suatu proyek perlu menggunakan kemampuan seperti koneksi database, pemanggilan program eksternal, atau pemuatan paket npm secara dinamis, Anda dapat menambahkan proyek tersebut di bawah Proyek Terotorisasi untuk kemampuan yang sesuai.Setelah dikonfigurasi, proyek terotorisasi dapat menggunakan kemampuan yang sesuai berdasarkan aturan otorisasi saat ini.Kami menyarankan untuk mengaktifkan kemampuan ini hanya untuk proyek tepercaya dan meninjau daftar proyek terotorisasi secara berkala untuk mencegah proyek yang tidak lagi digunakan atau tidak lagi dipercaya tetap memiliki izin untuk kemampuan sensitif.
Otorisasi Dinamis: Konfirmasi Otorisasi Runtime#
Jika suatu proyek belum dipraotorisasi tetapi memicu operasi berisiko tinggi terkait saat runtime, klien akan menampilkan prompt konfirmasi otorisasi sebelum eksekusi.Misalnya, ketika proyek yang belum dipraotorisasi memanggil program eksternal melalui skrip pra- atau pasca-operasi, klien akan memperingatkan bahwa operasi ini dapat melewati lingkungan sandbox dan menanyakan apakah akan mengizinkan proyek saat ini menggunakan kemampuan ini. Operasi terkait hanya akan dilanjutkan setelah pengguna mengonfirmasi; jika pengguna membatalkan, operasi tidak akan dilanjutkan.Mekanisme konfirmasi konfigurasi statis + otorisasi dinamis ini menambahkan langkah konfirmasi tambahan untuk kemampuan sensitif tanpa memengaruhi penggunaan normal.
Pembatasan pada Pemanggilan Program Eksternal#
Untuk mengurangi risiko keamanan yang disebabkan oleh eksekusi skrip, Apidog semakin membatasi cakupan pemanggilan program eksternal.Sekarang, klien dan CLI hanya mengizinkan pemanggilan skrip atau file kode yang dapat dieksekusi dalam direktori External Programs. Dalam skrip pra- atau pasca-operasi, alur kerja otomatis, atau skenario CLI, jika Anda perlu memanggil program eksternal, Anda harus terlebih dahulu menempatkan skrip atau file kode yang dapat dieksekusi terkait dalam direktori External Programs, lalu memanggilnya menggunakan metode yang sesuai.Hal ini mencegah skrip memanggil program lokal dari jalur arbitrer dan mengurangi potensi risiko keamanan yang disebabkan oleh batas eksekusi yang terlalu luas.Pembatasan pada Parameter command dari executeAsync#
Saat memanggil skrip eksternal melalui executeAsync, Apidog juga membatasi nilai yang diizinkan untuk parameter command guna mencegah perintah eksekusi skrip ditentukan secara arbitrer.Saat ini, command hanya dapat diatur ke python3 saat memanggil skrip Python.Jika skrip yang ada bergantung pada nilai parameter command lainnya, kami menyarankan untuk menyesuaikan metode pemanggilan skrip sesuai dengan aturan eksekusi baru agar tidak memengaruhi alur kerja yang ada.Rekomendasi#
1.
Aktifkan kemampuan seperti koneksi database, pemanggilan program eksternal, dan pemuatan paket npm secara dinamis hanya jika diperlukan, serta otorisasi hanya proyek tepercaya.
2.
Jika alur kerja otomatis, skrip pra- atau pasca-operasi, atau tugas CLI Anda melibatkan pemanggilan program eksternal, periksa apakah jalur skrip dan parameter command mematuhi aturan eksekusi baru.
3.
Jika suatu proyek tidak lagi memerlukan kemampuan tertentu, segera nonaktifkan toggle yang sesuai dalam pengaturan Keamanan atau hapus proyek terotorisasi.