CyberLearn // Learn. Explore. Secure.0
Kembali ke Pusat Belajar
Modul 19/36L2 · MenengahBelum mulai 20 menit

Dasar-Dasar Keamanan Web

Kenali cara kerja web dari sudut pandang keamanan, kategori risiko aplikasi web menurut OWASP, dan kontrol dasar yang harus ada pada setiap situs.

https://example.test

Tujuan Pembelajaran

  • Menjelaskan model permintaan-respons HTTP dan batas kepercayaan
  • Memahami prinsip bahwa semua input klien tidak tepercaya
  • Mengenali kategori risiko dalam OWASP Top 10
  • Menerapkan HTTPS, header keamanan, dan validasi sisi server

01Web dan batas kepercayaan

Aplikasi web bekerja lewat siklus permintaan dan respons HTTP antara browser dan server. Segala sesuatu yang datang dari browser, termasuk isian formulir, parameter URL, cookie, dan header, dikendalikan oleh pengguna dan dapat dimanipulasi.

Konsekuensinya, kontrol keamanan yang hanya ada di sisi klien, seperti validasi JavaScript, hanya berfungsi sebagai kenyamanan pengguna. Keputusan keamanan harus selalu ditegakkan ulang di server.

02OWASP Top 10

OWASP adalah komunitas nirlaba yang menerbitkan daftar kategori risiko aplikasi web yang paling umum. Daftar ini berguna sebagai peta belajar dan acuan peninjauan kode.

  • Broken access control: pengguna dapat mengakses data atau fungsi di luar haknya
  • Cryptographic failures: data sensitif tidak dilindungi dengan benar
  • Injection: input tidak tepercaya diperlakukan sebagai perintah
  • Insecure design dan security misconfiguration: kelemahan pada rancangan dan pengaturan
  • Vulnerable and outdated components: pustaka lama dengan kerentanan yang sudah diketahui
  • Identification and authentication failures: pengelolaan login dan sesi yang lemah

03Kontrol dasar yang wajib ada

Beberapa kontrol dasar menutup banyak risiko sekaligus bila diterapkan konsisten.

  • HTTPS di seluruh situs, dengan HSTS agar browser selalu memakai koneksi aman
  • Validasi dan sanitasi input di server dengan pendekatan allowlist
  • Pemeriksaan otorisasi pada setiap permintaan, bukan hanya pada tampilan menu
  • Pesan galat umum untuk pengguna, detail teknis hanya di log internal
  • Pembaruan dependensi rutin dan pemindaian kerentanan komponen

04Header keamanan HTTP

Server dapat menginstruksikan browser untuk menerapkan perlindungan tambahan lewat header respons. Header ini murah dipasang dan mengurangi dampak beberapa kelas kerentanan.

Contohnya Content-Security-Policy untuk membatasi sumber skrip, X-Content-Type-Options untuk mencegah penebakan tipe konten, dan Referrer-Policy untuk membatasi informasi yang dikirim ke situs lain.

Contoh Praktis (Aman)

Header keamanan dasar di Express

Contoh konfigurasi defensif di Node.js/Express. Pustaka helmet mengatur banyak header aman sekaligus, dan validasi dilakukan di server.

import express from 'express';
import helmet from 'helmet';

const app = express();
app.use(helmet());                 // header keamanan bawaan yang masuk akal
app.use(express.json({ limit: '100kb' }));

app.post('/profil', (req, res) => {
  const nama = String(req.body.nama || '').trim();
  // Validasi allowlist di server: panjang dan karakter yang diizinkan
  if (nama.length < 2 || nama.length > 50) {
    return res.status(400).json({ error: 'Input tidak valid' });
  }
  // ... simpan data setelah memeriksa otorisasi pengguna
  res.json({ ok: true });
});

Rangkuman

  • Semua yang datang dari browser tidak tepercaya dan harus divalidasi di server
  • OWASP Top 10 adalah peta risiko aplikasi web yang paling umum
  • Terapkan HTTPS, HSTS, pemeriksaan otorisasi di setiap permintaan, dan galat yang tidak membocorkan detail
  • Header seperti CSP dan X-Content-Type-Options menambah lapisan pertahanan murah

Mini Quiz

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

Soal 1/3

Mengapa validasi hanya di JavaScript sisi klien tidak cukup?

Soal 2/3

Kategori OWASP mana yang terjadi ketika pengguna dapat mengakses data milik orang lain?

Soal 3/3

Apa fungsi HSTS?

0/3 terjawab