CyberLearn // Learn. Explore. Secure.0
Kembali ke Pusat Belajar
Modul 32/36L3 · LanjutanBelum mulai 18 menit

API Security

Pelajari risiko utama pada API serta praktik desain yang aman: autentikasi, otorisasi, validasi input, dan pembatasan laju.

https://example.test

Tujuan Pembelajaran

  • Memahami mengapa API menjadi target utama
  • Membedakan autentikasi dan otorisasi pada API
  • Mengenali kategori risiko dalam OWASP API Security Top 10
  • Menerapkan praktik dasar: validasi, rate limiting, dan pencatatan

01Mengapa API perlu perhatian khusus

API membuka fungsi dan data aplikasi untuk klien web, mobile, dan mitra. Karena ia berbicara langsung ke logika bisnis dan basis data, kesalahan desain dapat membuka banyak data sekaligus.

Aplikasi modern memiliki banyak endpoint, sebagian tidak terdokumentasi atau sudah usang. Inventarisasi API yang lengkap adalah langkah pertama keamanan.

02Autentikasi dan otorisasi

Autentikasi memastikan siapa pemanggilnya, misalnya lewat token OAuth 2.0 atau JWT yang divalidasi dengan benar. Otorisasi memastikan apa yang boleh dilakukan pemanggil tersebut.

Kelemahan paling umum ada di otorisasi: server harus memeriksa bahwa pengguna berhak atas objek yang diminta di setiap permintaan, bukan hanya percaya pada ID yang dikirim klien.

03Kategori risiko utama

OWASP API Security Top 10 merangkum risiko yang sering ditemui. Beberapa di antaranya:

  • Broken object level authorization: akses ke objek milik pengguna lain
  • Broken authentication: token lemah, tidak kedaluwarsa, atau tidak divalidasi
  • Excessive data exposure: respons membawa lebih banyak field dari yang dibutuhkan
  • Lack of resources and rate limiting: tidak ada batas permintaan
  • Security misconfiguration dan inventaris API yang tidak terkelola

04Praktik desain yang aman

Validasi semua input di sisi server berdasarkan skema, tolak yang tidak sesuai, dan kembalikan hanya field yang perlu. Terapkan rate limiting dan kuota untuk menahan penyalahgunaan serta lonjakan beban.

Gunakan TLS, simpan rahasia di pengelola rahasia, jangan taruh token di URL, dan catat peristiwa penting tanpa menyertakan data sensitif. Pasang API gateway untuk kebijakan yang konsisten.

Contoh Praktis (Aman)

Pemeriksaan otorisasi di sisi server

Pseudo-code defensif: server selalu memastikan pemilik objek sama dengan pengguna yang terautentikasi sebelum mengembalikan data.

fungsi ambilPesanan(permintaan):
  pengguna = verifikasiToken(permintaan.token)
  jika pengguna kosong -> kembalikan 401
  pesanan = cariPesanan(permintaan.idPesanan)
  jika pesanan kosong -> kembalikan 404
  jika pesanan.pemilik != pengguna.id -> kembalikan 403
  kembalikan hanyaFieldYangDibutuhkan(pesanan)

Rangkuman

  • API membuka logika dan data sehingga desain yang lemah berdampak besar
  • Autentikasi menjawab siapa, otorisasi menjawab apa yang boleh
  • Otorisasi tingkat objek harus diperiksa di setiap permintaan
  • Validasi, rate limiting, TLS, dan pencatatan membentuk dasar API aman

Mini Quiz

Pilih satu jawaban untuk setiap soal, lalu tekan "Periksa Jawaban".

Soal 1/3

Apa perbedaan utama autentikasi dan otorisasi?

Soal 2/3

Mengapa server tidak boleh hanya percaya pada ID objek yang dikirim klien?

Soal 3/3

Apa fungsi rate limiting pada API?

0/3 terjawab