0% menganggap dokumen ini bermanfaat (0 suara)
10 tayangan26 halaman

MTI Keamanan API Dan Web

Dokumen ini membahas keamanan API dan web, termasuk jenis API seperti REST dan SOAP, serta berbagai ancaman umum seperti injection attacks dan broken authentication. Ditekankan pentingnya prinsip keamanan seperti autentikasi, validasi input, dan enkripsi, serta teknik spesifik untuk melindungi API. Kesimpulannya, keamanan adalah proses berkelanjutan yang memerlukan perhatian sejak awal pengembangan sistem.

Diunggah oleh

Wirarama Wedashwara
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PPTX, PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
10 tayangan26 halaman

MTI Keamanan API Dan Web

Dokumen ini membahas keamanan API dan web, termasuk jenis API seperti REST dan SOAP, serta berbagai ancaman umum seperti injection attacks dan broken authentication. Ditekankan pentingnya prinsip keamanan seperti autentikasi, validasi input, dan enkripsi, serta teknik spesifik untuk melindungi API. Kesimpulannya, keamanan adalah proses berkelanjutan yang memerlukan perhatian sejak awal pengembangan sistem.

Diunggah oleh

Wirarama Wedashwara
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PPTX, PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 26

Keamanan API dan

Web

Perencanaan Sistem dan Teknologi


Keamanan Informasi
API (Application Programming Interface)

● adalah jembatan komunikasi antar aplikasi.


● REST API (Representational State Transfer)
○ Menggunakan protokol HTTP standar (GET, POST, PUT, DELETE).
○ Data sering dikirim dalam format JSON atau XML.
● SOAP API (Simple Object Access Protocol)
○ API berbasis protokol XML.
○ Biasanya lebih aman dan digunakan di enterprise (perusahaan besar).
Web

● Web adalah platform terbuka untuk layanan dan informasi.


● Static Web Application
○ Konten tetap dan jarang berubah.
○ Biasanya hanya HTML, CSS, dan sedikit JavaScript.
○ Tidak ada interaksi database secara langsung.
● Dynamic Web Application
○ Kontennya berubah berdasarkan interaksi pengguna atau data dari
server/database.
○ Dibuat dengan bahasa server-side seperti PHP, Python (Django), Node.js, Ruby.
Internet

Karena keduanya beroperasi di lingkungan terbuka (internet), mereka rentan


terhadap serangan seperti:

● Data breach (kebocoran data)


● Injection attacks
● Unauthorized access
● Man-in-the-middle attacks
Ancaman Umum pada API dan Web

● Injection Attack
● Broken Authentication
● Sensitive Data Exposure
● Broken Access Control
● Security Misconfiguration
● Man-in-the-Middle (MITM) Attack
● Cross-Site Scripting (XSS)
● Cross-Site Request Forgery (CSRF)
● Denial of Service (DoS)
● Insecure API Endpoints
Injection Attack

● SQL Injection: Penyerang memasukkan perintah SQL berbahaya melalui input


user.

● Command Injection: Menjalankan perintah sistem operasi melalui celah input.

● NoSQL Injection: Menyerang database NoSQL seperti MongoDB dengan


manipulasi query.

● Contoh: Input ' OR '1'='1' bisa membuat query SQL menampilkan semua data.
Broken Authentication

● Mekanisme login yang lemah memungkinkan pencurian akun.

● Token API (seperti JWT atau session ID) bisa dicuri jika tidak aman.

● Password tidak terenkripsi dengan benar.

● Contoh: Brute force attack karena tidak ada rate limiting di endpoint login.
Sensitive Data Exposure

● Data penting seperti kartu kredit, password, dan informasi pribadi tidak
dilindungi.

● Tidak menggunakan HTTPS menyebabkan data dikirimkan tanpa enkripsi.

● Contoh: Password disimpan dalam database dalam bentuk plain text.


Broken Access Control

● User dapat mengakses data atau operasi yang seharusnya tidak mereka miliki.

● API endpoint tidak membatasi hak akses berdasarkan peran.

● Contoh: User biasa bisa mengakses endpoint admin hanya dengan mengganti
URL.
Security Misconfiguration

● Setting server atau aplikasi yang tidak aman.

● Direktori yang tidak diproteksi, informasi error yang terlalu rinci, atau update
keamanan yang terlewat.

● Contoh: Server memunculkan pesan error lengkap yang memperlihatkan


struktur database.
Man-in-the-Middle (MITM) Attack

● Penyerang menyadap komunikasi antara client dan server.

● Terjadi jika koneksi tidak dienkripsi (tanpa HTTPS) atau sertifikat SSL tidak
valid.

● Contoh: Data login dicuri saat mengakses WiFi publik karena website tidak
pakai HTTPS.
Cross-Site Scripting (XSS)

● Penyerang menyisipkan skrip berbahaya ke dalam aplikasi web.

● Skrip itu akan dijalankan di browser pengguna lain.

● Contoh: Form komentar yang tidak memfilter input memungkinkan penyerang


mengupload <script>alert('Hacked’) </script>
Cross-Site Request Forgery (CSRF)

● Memanfaatkan kredensial pengguna yang sudah login untuk menjalankan aksi


tanpa izin.

● Biasanya menyerang API yang tidak memiliki perlindungan token CSRF.

● Contoh: Pengguna yang sudah login klik link berbahaya yang memicu
perubahan password tanpa persetujuan.
Denial of Service (DoS)

● Membanjiri server dengan request hingga sistem menjadi tidak responsif.

● Pada API disebut API Abuse (penggunaan API secara tidak normal).

● Contoh: Pengiriman ribuan request per detik ke endpoint API untuk


menjatuhkan server.
Insecure API Endpoints

● Endpoint yang tidak memeriksa otentikasi dan otorisasi dengan benar.

● Memberikan data terlalu banyak (overexposure) melalui API responses.

● Contoh: Endpoint /api/users mengembalikan seluruh database pengguna tanpa


filtering.
Prinsip Keamanan API dan Web

● Authentication & Authorization


● Input Validation & Sanitization
● Encryption
● Rate Limiting & Throttling
● Error Handling
Authentication & Authorization

● Gunakan OAuth 2.0, JWT untuk API.


● Pisahkan dengan jelas antara autentikasi (siapa kamu) dan otorisasi (apa
yang boleh kamu akses).
Input Validation & Sanitization

Semua input dari user harus divalidasi dan disanitasi untuk menghindari serangan
seperti SQL Injection atau XSS
Encryption

● Wajib menggunakan HTTPS untuk semua komunikasi.


● Data sensitif harus dienkripsi baik saat in transit maupun at rest.
Rate Limiting & Throttling

Membatasi jumlah permintaan untuk mencegah brute force attacks dan DDoS.
Error Handling

Jangan pernah mengungkapkan detail sistem melalui pesan error.


CORS (Cross-Origin Resource Sharing)

Konfigurasikan CORS secara ketat untuk API agar hanya mengizinkan domain
tertentu.
Teknik Spesifik untuk Keamanan API

● API Key Management: Gunakan API key yang unik untuk tiap client, rotasi
secara berkala.
● Token Expiration: Token akses harus kadaluarsa dalam waktu singkat.
● IP Whitelisting: Batasi akses API dari alamat IP tertentu.
● Logging dan Monitoring: Catat semua request dan lakukan monitoring untuk
deteksi dini anomali.
Tools untuk Membantu Keamanan

● OWASP ZAP: Untuk scanning kerentanan web dan API.


● Postman Security Testing: Untuk menguji keamanan endpoint API.
● Burp Suite: Untuk analisa lalu lintas dan mencari celah keamanan.
● Helmet.js: Middleware Express.js untuk mengamankan HTTP headers.
● Rate-Limiter Libraries: Seperti express-rate-limit di Node.js.
Best Practices Umum

● Prinsip Least Privilege: Berikan akses minimum yang dibutuhkan


user/system.
● Regular Security Updates: Selalu update libraries, framework, dan server.
● Penetration Testing: Lakukan uji penetrasi berkala.
● Security Awareness Training: Edukasi tim developer dan admin tentang
keamanan.
● API Versioning: Hindari perubahan mendadak, pertahankan stabilitas dan
keamanan versi lama.
Kesimpulan

● Keamanan API dan Web bukan hanya tentang tools, tapi tentang mindset:
selalu berpikir tentang potensi risiko sejak awal pembangunan sistem.
● Ingat: "Security is a process, not a product."

Anda mungkin juga menyukai