Review keamanan API perlu mencakup identitas, otorisasi tingkat objek, input, konsumsi resource, paparan data, inventory, dependensi, monitoring, dan respons. Token yang valid saja tidak membuat API aman.
Definisikan Batas API
Inventarisasikan endpoint, versi, protokol, environment, pemilik, consumer, klasifikasi data, dan downstream. Hapus host pengujian atau versi lama yang terlupakan, atau berikan kontrol setara produksi.
Dokumentasikan trust boundary. Client internet, partner, karyawan, mobile, dan service-to-service memerlukan asumsi eksplisit, bukan keamanan melalui URL tersembunyi.
Autentikasi Setiap Caller
Gunakan protokol identitas serta library tervalidasi. Verifikasi issuer, audience, signature, expiry, dan tujuan token. Pisahkan service identity serta rotasi credential.
Jangan menaruh API key berumur panjang dalam aplikasi mobile atau browser. Gunakan autentikasi dan pembuktian lebih kuat sesuai risiko transaksi.
Otorisasi Setiap Objek dan Aksi
Periksa permission di server untuk setiap request, tindakan, dan record yang dirujuk. Mengetahui object ID bukan bukti hak akses. Filter query berdasarkan tenant atau pemilik yang sah.
Lindungi fungsi administratif dan field sensitif secara terpisah. Uji akses horizontal antara dua pengguna serta akses vertikal antara role.
Validasi Request dan Response
Gunakan schema eksplisit, batas panjang/range, parser aman, content type, dan allowlist. Parameterisasikan operasi database dan batasi URL yang dapat diambil server.
Kirim hanya field yang dibutuhkan. Cegah mass assignment dengan memetakan properti yang diizinkan, bukan mengikat seluruh input ke model internal.
Kendalikan Konsumsi Resource
Tetapkan batas ukuran request, pagination, concurrency, timeout, query complexity, dan rate. Terapkan quota per consumer terautentikasi serta jenis operasi, bukan IP saja. Gunakan idempotency key untuk write yang boleh diulang.
Batasi downstream dan queue agar request kecil tidak memicu biaya tanpa batas.
Lindungi Transport dan Browser
Wajibkan TLS modern dan validasi sertifikat. Atur CORS hanya untuk origin tepercaya; CORS bukan autentikasi. Terapkan CSRF protection ketika browser mengirim credential otomatis.
Jangan menaruh data sensitif pada URL, error, log, atau analytics.
Operasikan API dengan Aman
Pelihara inventory versi dan dependency. Scan kode/paket, lindungi secret, dan gunakan signing atau attestation artefak jika relevan. Log hasil autentikasi, penolakan otorisasi, aksi sensitif, perubahan konfigurasi, serta konsumsi abnormal tanpa mencatat secret.
Uji abuse case di CI dan sebelum release material. Tetapkan ownership, eskalasi, revocation, komunikasi, dan penyimpanan bukti.
Layanan cybersecurity DualByte dapat menilai ancaman API dan menerapkan kontrol pada lapisan aplikasi serta cloud.
Sumber
Butuh bantuan implementasi?
Konsultasi gratis dengan tim DualByte untuk solusi teknologi bisnis Anda.