TDCTF Academy Logo TDCTF ACADEMY

API Gateway

Apa itu API Gateway?

API Gateway adalah komponen infrastruktur yang berada di antara klien dan layanan backend (microservices). Ia bertindak sebagai single entry point untuk semua permintaan API, menangani cross-cutting concerns sehingga layanan backend dapat fokus pada logika bisnis.

Fungsi Utama

Routing

API Gateway menerima permintaan dari klien dan meneruskannya ke service yang tepat berdasarkan path, header, atau parameter. Contoh: /users/* → User Service, /orders/* → Order Service. Ini mengabstraksi topology backend dari klien.

Rate Limiting

Membatasi jumlah permintaan dari klien dalam periode waktu tertentu untuk mencegah abuse dan menjaga kestabilan backend. Dapat dikonfigurasi per IP, per user, atau per endpoint.

Authentication & Authorization

Memvalidasi token (JWT, API key, OAuth2) di gateway level sebelum permintaan mencapai backend. Ini mengurangi beban service individual dan memastikan kebijakan keamanan diterapkan secara seragam.

Logging & Monitoring

Mencatat semua metadata permintaan - IP asal, endpoint, durasi, status code, error - untuk audit trail, debugging, dan observability. Integrasi dengan tools seperti Prometheus, Grafana, ELK Stack.

Request/Response Transformation

Memodifikasi payload, header, atau format data antara klien dan backend. Contoh: mengubah XML ke JSON, menambah header kustom, atau merestruktur respons untuk konsistensi API.

Tools Populer

Kong

API Gateway open-source berbasis NGINX dan Lua dengan plugin ecosystem yang kaya. Mendukung autentikasi (JWT, OAuth2, Key-Auth), rate limiting, caching, logging, dan canary releases. Bisa di-deploy di Docker, Kubernetes, atau bare metal.

NGINX

Web server dan reverse proxy yang juga berfungsi sebagai API Gateway. Konfigurasi via file konfigurasi (tinggi fleksibilitas). Ekosistem Lua (OpenResty) memungkinkan plugin kustom. Ringan, performa tinggi, sangat stabil.

AWS API Gateway

Layanan managed dari AWS untuk membuat, mengelola, dan mengamankan API. Fitur: throttling, caching, API keys, usage plans, WAF integration, dan dukungan WebSocket. Terintegrasi erat dengan Lambda (serverless).

Apigee (Google Cloud)

Platform API management enterprise dari Google. Menawarkan analytics mendalam, developer portal, monetization, security policies, dan threat protection. Target: organisasi besar dengan kebutuhan API governance kompleks.

Traefik

Reverse proxy dan load balancer modern yang dirancang untuk container/Kubernetes. Auto-discovery dengan penyedia seperti Docker, Kubernetes, Consul. Mendukung middleware untuk autentikasi, rate limiting, dan circuit breaking. Cukup populer di ekosistem cloud-native.

Security Features

TLS Termination

Gateway menangani enkripsi/decrypt TLS, membebaskan backend dari overhead kriptografi. Sertifikat dikelola di satu titik, menyederhanakan manajemen. Pastikan TLS versi minimum 1.2, cipher yang aman, dan HSTS header.

API Key Validation

Setiap permintaan diperiksa apakah menyertakan API key yang valid. API key bisa dikaitkan dengan tier (free/pro/enterprise) dan usage limits. Key sering dirotasi dan di-hash di penyimpanan.

IP Allowlisting/Blocklisting

Membatasi akses berdasarkan IP address. Allowlist hanya mengizinkan IP tertentu (misal IP internal perusahaan). Blocklist memblokir IP yang dikenal berbahaya. Efektif untuk API internal atau administrative endpoints.

Request Validation

Memvalidasi struktur request sebelum diteruskan ke backend - panjang body, format JSON, parameter yang diizinkan, content-type header. Mencegah injection attack dan malformed request yang bisa menyebabkan crash.

DDoS Protection

Integrasi dengan Web Application Firewall (WAF) untuk mendeteksi dan memblokir traffic mencurigakan. Rate limiting per IP, challenge-based protection (CAPTCHA), dan connection throttling membantu mitigasi serangan DDoS layer 7.

Microservices Security dengan API Gateway

Dalam arsitektur microservices, API Gateway memainkan peran kunci dalam keamanan:

  1. Single security perimeter - Semua kebijakan keamanan diterapkan di satu titik.
  2. Abstraction - Backend service tidak terekspos langsung ke internet.
  3. Centralized auth - Token validation, API key check, rate limiting di satu tempat.
  4. Service mesh integration - Gateway bisa berintegrasi dengan service mesh (Istio, Linkerd) untuk mTLS dan observability.

Best practice: Jangan letakkan logika bisnis di gateway. Gateway harus fokus pada infrastruktur dan keamanan - biarkan service menangani business logic.

PADA HALAMAN INI