Keamanan API dimulai dari pemahaman bahwa API menghubungkan aplikasi web, aplikasi seluler, layanan internal, dan sistem pihak ketiga. Karena API sering mengembalikan data secara langsung, kesalahan autentikasi atau otorisasi dapat berakibat lebih serius daripada bug tampilan biasa. Endpoint yang tidak terlindungi juga dapat disalahgunakan untuk menguras sumber daya atau mengambil data yang bukan hak pemanggil.
1. Bedakan Autentikasi dan Otorisasi
Autentikasi menjawab “siapa pemanggilnya?”, sedangkan otorisasi menentukan “apa yang boleh dilakukannya?”. API harus memeriksa kedua hal tersebut untuk setiap operasi yang sensitif. Jangan menganggap pengguna berhak membaca suatu objek hanya karena ia sudah login atau mengetahui ID objek itu. Periksa kepemilikan dan izin pada sisi server untuk setiap permintaan.
2. Kelola Token dan API Key dengan Aman
Jangan menanam secret API pada kode frontend, repositori publik, atau file konfigurasi yang bisa diunduh. Simpan rahasia di secret manager atau environment server yang dilindungi, batasi hak aksesnya, dan rotasi kredensial ketika dicurigai bocor. Token harus memiliki masa berlaku, cakupan izin, dan mekanisme pencabutan sesuai kebutuhan. Jangan menaruh token dalam URL karena dapat tercatat di log atau riwayat browser.
3. Validasi Input dan Terapkan Skema
Periksa tipe, panjang, format, dan nilai yang diizinkan untuk setiap parameter. Tolak properti yang tidak dikenal bila desain API memungkinkan, batasi ukuran payload, dan gunakan query database berparameter. Validasi input harus disertai pengodean output sesuai konteks—dua hal yang berbeda. Panduan Content Security Policy juga menjelaskan pertahanan tambahan pada sisi browser, tetapi CSP bukan pengganti validasi server.
4. Terapkan Rate Limiting dan Batas Resource
Tetapkan batas permintaan berdasarkan pengguna, token, IP, dan tingkat sensitivitas endpoint. Operasi mahal seperti pencarian kompleks, ekspor data, pengiriman OTP, atau pembuatan laporan dapat membutuhkan batas yang berbeda. Beri respons yang konsisten saat limit terlampaui dan catat pola penyalahgunaan. Rate limiting membantu mengurangi dampak penyalahgunaan, tetapi tidak menggantikan perlindungan DDoS di lapisan jaringan.
5. Gunakan Transport Aman
Gunakan HTTPS untuk semua endpoint yang membawa kredensial atau data pengguna. Validasi sertifikat di klien dan hindari menonaktifkan pemeriksaan TLS demi mengatasi error. Batasi endpoint administrasi, gunakan kontrol jaringan jika sesuai, dan jangan mengandalkan kerahasiaan URL sebagai kontrol akses.
6. Rancang CORS dengan Tepat
CORS adalah kebijakan browser yang menentukan apakah halaman dari satu origin boleh membaca respons dari origin lain. CORS bukan sistem autentikasi. Hindari mengizinkan semua origin secara refleks, terutama jika API menggunakan cookie atau kredensial. Tentukan origin, metode, dan header yang diperlukan saja. Untuk tindakan sensitif, tetap lakukan autentikasi, otorisasi, dan perlindungan CSRF sesuai metode autentikasi aplikasi.
7. Catat, Pantau, dan Uji
Catat kegagalan autentikasi, penolakan otorisasi, lonjakan trafik, dan error server—tanpa merekam password, token utuh, atau data sensitif yang tidak diperlukan. Buat alert untuk pola yang tidak biasa, perbarui dependensi, dan lakukan pengujian API pada setiap perubahan bermakna. Periksa juga apakah pesan error membocorkan stack trace atau detail internal.
Mulai dengan Checklist
- Setiap endpoint sensitif memeriksa autentikasi dan izin di server.
- Setiap objek diperiksa hak aksesnya, bukan hanya ID-nya.
- Secret tidak disimpan di frontend atau repository publik.
- Request memiliki validasi skema dan batas ukuran.
- Rate limit, log, dan alert diuji dalam skenario realistis.
Model pertahanan berlapis selaras dengan prinsip Zero Trust Security. Jika API publik berada di belakang CDN atau layanan proteksi, pahami pula perlindungan website dari DDoS.
Kesimpulan
Keamanan API bukan satu middleware yang dipasang sekali lalu dilupakan. Terapkan verifikasi akses pada tiap endpoint, batasi sumber daya, lindungi rahasia, dan pantau penggunaan dari waktu ke waktu.
Referensi
Gunakan OWASP API Security Project sebagai bahan pemetaan risiko dan checklist pengujian.
PENGALAMAN BARU Coba tampilan baru Penasaran dengan pengalaman membaca Nazuaf versi modern? Coba tampilan baru yang dirancang agar nyaman dibaca dari ponsel dan pc. Buka versi modern dan lanjutkan membaca artikel ini. Jelajahi tampilan baru Nazuaf versi modern · Ketuk kartu untuk mencoba